summaryrefslogtreecommitdiffstats
path: root/sys/geom
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2012-01-28 14:00:21 +0000
committerattilio <attilio@FreeBSD.org>2012-01-28 14:00:21 +0000
commit1521eb447956638ea699e9468527cdcbd2b28659 (patch)
tree51e3a468764edd7cbdf62d40b3ad43948e5ccd09 /sys/geom
parenta1d2d789bd56b6e4fbadcea3ce4cab8cd7fed168 (diff)
downloadFreeBSD-src-1521eb447956638ea699e9468527cdcbd2b28659.zip
FreeBSD-src-1521eb447956638ea699e9468527cdcbd2b28659.tar.gz
Avoid to check the same cache line/variable from all the locking
primitives by breaking stop_scheduler into a per-thread variable. Also, store the new td_stopsched very close to td_*locks members as they will be accessed mostly in the same codepaths as td_stopsched and this results in avoiding a further cache-line pollution, possibly. STOP_SCHEDULER() was pondered to use a new 'thread' argument, in order to take advantage of already cached curthread, but in the end there should not really be a performance benefit, while introducing a KPI breakage. In collabouration with: flo Reviewed by: avg MFC after: 3 months (or never) X-MFC: r228424
Diffstat (limited to 'sys/geom')
-rw-r--r--sys/geom/geom_bsd.c1
-rw-r--r--sys/geom/geom_mbr.c1
-rw-r--r--sys/geom/geom_pc98.c1
-rw-r--r--sys/geom/mountver/g_mountver.c1
4 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/geom_bsd.c b/sys/geom/geom_bsd.c
index 60fc50c..5742509f 100644
--- a/sys/geom/geom_bsd.c
+++ b/sys/geom/geom_bsd.c
@@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$");
#include <sys/errno.h>
#include <sys/disklabel.h>
#include <sys/gpt.h>
+#include <sys/proc.h>
#include <sys/sbuf.h>
#include <sys/uuid.h>
#include <geom/geom.h>
diff --git a/sys/geom/geom_mbr.c b/sys/geom/geom_mbr.c
index 6a736a7..42a9c8e 100644
--- a/sys/geom/geom_mbr.c
+++ b/sys/geom/geom_mbr.c
@@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$");
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/md5.h>
+#include <sys/proc.h>
#include <sys/diskmbr.h>
#include <sys/sbuf.h>
diff --git a/sys/geom/geom_pc98.c b/sys/geom/geom_pc98.c
index 71c194d..8e14f09 100644
--- a/sys/geom/geom_pc98.c
+++ b/sys/geom/geom_pc98.c
@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$");
#include <sys/bio.h>
#include <sys/lock.h>
#include <sys/mutex.h>
+#include <sys/proc.h>
#include <sys/sbuf.h>
#include <sys/diskpc98.h>
diff --git a/sys/geom/mountver/g_mountver.c b/sys/geom/mountver/g_mountver.c
index 30af511..37cb924 100644
--- a/sys/geom/mountver/g_mountver.c
+++ b/sys/geom/mountver/g_mountver.c
@@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$");
#include <sys/mutex.h>
#include <sys/bio.h>
#include <sys/disk.h>
+#include <sys/proc.h>
#include <sys/sbuf.h>
#include <sys/sysctl.h>
#include <sys/malloc.h>
OpenPOWER on IntegriCloud