svn commit: r352543 - in head/sys: kern sys

Mateusz Guzik mjg at FreeBSD.org
Thu Sep 19 21:23:15 UTC 2019


Author: mjg
Date: Thu Sep 19 21:23:14 2019
New Revision: 352543
URL: https://svnweb.freebsd.org/changeset/base/352543

Log:
  vfs: group fields used for per-cpu ops in one cacheline
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/kern/vfs_mount.c
  head/sys/sys/mount.h

Modified: head/sys/kern/vfs_mount.c
==============================================================================
--- head/sys/kern/vfs_mount.c	Thu Sep 19 21:13:51 2019	(r352542)
+++ head/sys/kern/vfs_mount.c	Thu Sep 19 21:23:14 2019	(r352543)
@@ -157,7 +157,7 @@ vfs_mount_init(void *dummy __unused)
 {
 
 	mount_zone = uma_zcreate("Mountpoints", sizeof(struct mount), NULL,
-	    NULL, mount_init, mount_fini, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
+	    NULL, mount_init, mount_fini, UMA_ALIGN_CACHE, UMA_ZONE_NOFREE);
 }
 SYSINIT(vfs_mount, SI_SUB_VFS, SI_ORDER_ANY, vfs_mount_init, NULL);
 

Modified: head/sys/sys/mount.h
==============================================================================
--- head/sys/sys/mount.h	Thu Sep 19 21:13:51 2019	(r352542)
+++ head/sys/sys/mount.h	Thu Sep 19 21:23:14 2019	(r352543)
@@ -226,7 +226,7 @@ struct mount {
 	struct lock	mnt_explock;		/* vfs_export walkers lock */
 	TAILQ_ENTRY(mount) mnt_upper_link;	/* (m) we in the all uppers */
 	TAILQ_HEAD(, mount) mnt_uppers;		/* (m) upper mounts over us*/
-	int		mnt_vfs_ops;		/* (i) pending vfs ops */
+	int __aligned(CACHE_LINE_SIZE)	mnt_vfs_ops;/* (i) pending vfs ops */
 	int		*mnt_thread_in_ops_pcpu;
 	int		*mnt_ref_pcpu;
 	int		*mnt_lockref_pcpu;


More information about the svn-src-all mailing list