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