git: kernel - Refactor sysctl locking

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Oct 18 20:52:55 PDT 2017


commit e8e93b5f635438c7c3d3acff28563c51512686db
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Oct 18 19:01:49 2017 -0700

    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)

Summary of changes:
 sys/kern/kern_sysctl.c | 89 +++++++++++++++++++++++++++++---------------------
 sys/kern/lwkt_thread.c |  1 +
 sys/sys/globaldata.h   |  4 +++
 sys/sys/sysctl.h       | 13 +++++---
 4 files changed, 64 insertions(+), 43 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e8e93b5f635438c7c3d3acff28563c51512686db


-- 
DragonFly BSD source repository



More information about the Commits mailing list