svn commit: r331414 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys
Gleb Smirnoff
glebius at FreeBSD.org
Mon Apr 2 21:38:23 UTC 2018
Alexander,
Does it make sense to leave the manual padding at all,
if you got compiler hint __aligned(CACHE_LINE_SIZE)?
With manual padding can get broken again later.
On Fri, Mar 23, 2018 at 02:50:39AM +0000, Alexander Motin wrote:
A> Author: mav
A> Date: Fri Mar 23 02:50:38 2018
A> New Revision: 331414
A> URL: https://svnweb.freebsd.org/changeset/base/331414
A>
A> Log:
A> Reduce struct aggsum_bucket padding to fit into one cache line.
A>
A> Reported by: mjg
A>
A> Modified:
A> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/aggsum.h
A>
A> Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/aggsum.h
A> ==============================================================================
A> --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/aggsum.h Fri Mar 23 02:45:09 2018 (r331413)
A> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/aggsum.h Fri Mar 23 02:50:38 2018 (r331414)
A> @@ -29,7 +29,7 @@ typedef struct aggsum_bucket {
A> kmutex_t asc_lock;
A> int64_t asc_delta;
A> uint64_t asc_borrowed;
A> - uint64_t asc_pad[4]; /* pad out to cache line (64 bytes) */
A> + uint64_t asc_pad[2]; /* pad out to cache line (64 bytes) */
A> } aggsum_bucket_t __aligned(CACHE_LINE_SIZE);
A>
A> /*
A>
--
Gleb Smirnoff
More information about the svn-src-all
mailing list