kernel - Refactor lockmgr() (2)
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 28 Oct 2017 01:55:43 +0000 (18:55 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 31 Oct 2017 17:49:47 +0000 (10:49 -0700)
commit124072b8b9f65b69be0cf6925112a30ec0bb9937
treee234b9a632134d6b296e14d59b791e2c7aca5e40
parent5abad2c526ea9231c114989501291f43a30b438b
kernel - Refactor lockmgr() (2)

* Remove the global vfs_spin() lock and single vnode_active_list
  and single vnode_inactive_list.

* Replace with a pcpu array of spinlocks and lists.  However, for
  this initial push the array is simply hashed based on the vnode
  pointer, so it isn't really being acted on pcpu.

* Significantly reduces numerous bottlenecks when vnodes start to get
  recycled by vnlru().  Cache line bounces are still a problem,
  but direct spinlock conflicts are essentially gone.
sys/kern/vfs_lock.c