Am 17.08.19 um 13:39 schrieb Chris Wilson: > 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@xxxxxxxxxxxxxxxxxx> > Cc: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> BTW: We could also put the timestamp in the union if we want. E.g. the cb_list should only be used while the fence is unsignaled, the timestamp while it is signaled and the rcu while it is freed. Would save another 8 bytes, bringing us down to 64. Christian. > --- > include/linux/dma-fence.h | 6 +++--- > 1 file 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; > }; > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx