summaryrefslogtreecommitdiff
path: root/include/linux/dma-fence.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-08-17 15:47:33 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2019-08-17 18:02:49 +0100
commit4fe3997a68f3300c73adc196ff33a952febe6974 (patch)
treea8c36eec0c0fc60acb242bf071c18b33b4bbb6c8 /include/linux/dma-fence.h
parentb0baf85bb27ab028e726619f9162498f193cacbe (diff)
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: 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
Diffstat (limited to 'include/linux/dma-fence.h')
-rw-r--r--include/linux/dma-fence.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
index 404aa748eda6..2ce4d877d33e 100644
--- a/include/linux/dma-fence.h
+++ b/include/linux/dma-fence.h
@@ -63,7 +63,7 @@ struct dma_fence_cb;
* 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
@@ -73,11 +73,11 @@ struct dma_fence {
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;
};