kernel - Refactor sysctl locking
commite8e93b5f635438c7c3d3acff28563c51512686db
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 19 Oct 2017 02:01:49 +0000 (18 19:01 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 19 Oct 2017 02:12:20 +0000 (18 19:12 -0700)
tree22f36b81ff3bbc218210f962260a45308d7eaf6d
parentbb1339f814acc2e25a2e638ad85318d0567418ba
kernel - Refactor sysctl locking

* Get rid of the global topology lock.  Instead of a pcpu shared lock
  and change the XLOCK code (which is barely ever executed) to obtain
  an exclusive lock on all cpus.

* Add CTLFLAG_NOLOCK, which disable the automatic per-OID sysctl lock.

Suggested-by: mjg (Mateusz Guzik)
sys/kern/kern_sysctl.c
sys/kern/lwkt_thread.c
sys/sys/globaldata.h
sys/sys/sysctl.h