diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-17 10:47:33 -0400 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-17 13:02:49 -0400 |
commit | 4fe3997a68f3300c73adc196ff33a952febe6974 (patch) | |
tree | a8c36eec0c0fc60acb242bf071c18b33b4bbb6c8 | |
parent | b0baf85bb27ab028e726619f9162498f193cacbe (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
-rw-r--r-- | include/linux/dma-fence.h | 6 |
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; | |||
63 | * been completed, or never called at all. | 63 | * been completed, or never called at all. |
64 | */ | 64 | */ |
65 | struct dma_fence { | 65 | struct dma_fence { |
66 | struct kref refcount; | 66 | spinlock_t *lock; |
67 | const struct dma_fence_ops *ops; | 67 | const struct dma_fence_ops *ops; |
68 | /* We clear the callback list on kref_put so that by the time we | 68 | /* We clear the callback list on kref_put so that by the time we |
69 | * release the fence it is unused. No one should be adding to the cb_list | 69 | * release the fence it is unused. No one should be adding to the cb_list |
@@ -73,11 +73,11 @@ struct dma_fence { | |||
73 | struct rcu_head rcu; | 73 | struct rcu_head rcu; |
74 | struct list_head cb_list; | 74 | struct list_head cb_list; |
75 | }; | 75 | }; |
76 | spinlock_t *lock; | ||
77 | u64 context; | 76 | u64 context; |
78 | u64 seqno; | 77 | u64 seqno; |
79 | unsigned long flags; | ||
80 | ktime_t timestamp; | 78 | ktime_t timestamp; |
79 | unsigned long flags; | ||
80 | struct kref refcount; | ||
81 | int error; | 81 | int error; |
82 | }; | 82 | }; |
83 | 83 | ||