Commit 4fe3997a authored by Chris Wilson's avatar Chris Wilson

dma-fence: Shrink size of struct dma_fence

Rearrange the couple of 32-bit atomics hidden amongst the field of
pointers that unnecessarily caused the compiler to insert some padding,
shrinks the size of the base struct dma_fence from 80 to 72 bytes on
x86-64.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Christian König <christian.koenig@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190817144736.7826-3-chris@chris-wilson.co.uk
parent b0baf85b
...@@ -63,7 +63,7 @@ struct dma_fence_cb; ...@@ -63,7 +63,7 @@ struct dma_fence_cb;
* been completed, or never called at all. * been completed, or never called at all.
*/ */
struct dma_fence { struct dma_fence {
struct kref refcount; spinlock_t *lock;
const struct dma_fence_ops *ops; const struct dma_fence_ops *ops;
/* We clear the callback list on kref_put so that by the time we /* We clear the callback list on kref_put so that by the time we
* release the fence it is unused. No one should be adding to the cb_list * release the fence it is unused. No one should be adding to the cb_list
...@@ -73,11 +73,11 @@ struct dma_fence { ...@@ -73,11 +73,11 @@ struct dma_fence {
struct rcu_head rcu; struct rcu_head rcu;
struct list_head cb_list; struct list_head cb_list;
}; };
spinlock_t *lock;
u64 context; u64 context;
u64 seqno; u64 seqno;
unsigned long flags;
ktime_t timestamp; ktime_t timestamp;
unsigned long flags;
struct kref refcount;
int error; int error;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment