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: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Christian König <christian.koenig@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190817144736.7826-3-chris@chris-wilson.co.uk
* been completed, or never called at all.
*/
struct dma_fence {
- struct kref refcount;
+ spinlock_t *lock;
const struct dma_fence_ops *ops;
/* 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
struct rcu_head rcu;
struct list_head cb_list;
};
- spinlock_t *lock;
u64 context;
u64 seqno;
- unsigned long flags;
ktime_t timestamp;
+ unsigned long flags;
+ struct kref refcount;
int error;
};