diff options
author | Attilio Rao <attilio@FreeBSD.org> | 2012-01-28 14:00:21 +0000 |
---|---|---|
committer | Attilio Rao <attilio@FreeBSD.org> | 2012-01-28 14:00:21 +0000 |
commit | 5d7380f8e34f0083b4b1b9cc1b0872972ffe1b48 (patch) | |
tree | 51e3a468764edd7cbdf62d40b3ad43948e5ccd09 /sys/geom/geom_bsd.c | |
parent | f5764938def3aadf8bcb7ada27859848c104ad11 (diff) | |
download | src-5d7380f8e34f0083b4b1b9cc1b0872972ffe1b48.tar.gz src-5d7380f8e34f0083b4b1b9cc1b0872972ffe1b48.zip |
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
Notes
Notes:
svn path=/head/; revision=230643
Diffstat (limited to 'sys/geom/geom_bsd.c')
-rw-r--r-- | sys/geom/geom_bsd.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/geom/geom_bsd.c b/sys/geom/geom_bsd.c index 60fc50ce6ff1..5742509f7810 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> |