summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2012-11-03 23:03:14 +0000
committerattilio <attilio@FreeBSD.org>2012-11-03 23:03:14 +0000
commitf3501b109e4c598688ec381ebd73e59c45bfa3b0 (patch)
tree6411bccb7372a8d587dd213ecf9a07e5207ee325 /sys/powerpc
parent3f3e3a0702399e665a93253ca4b4b31c1754f09b (diff)
downloadFreeBSD-src-f3501b109e4c598688ec381ebd73e59c45bfa3b0.zip
FreeBSD-src-f3501b109e4c598688ec381ebd73e59c45bfa3b0.tar.gz
Rework the known rwlock to benefit about staying on their own
cache line in order to avoid manual frobbing but using struct rwlock_padalign. Reviewed by: alc, jimharris
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/aim/mmu_oea.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c
index a67bb9c..3ed8eb1 100644
--- a/sys/powerpc/aim/mmu_oea.c
+++ b/sys/powerpc/aim/mmu_oea.c
@@ -200,16 +200,7 @@ struct pvo_head *moea_pvo_table; /* pvo entries by pteg index */
struct pvo_head moea_pvo_kunmanaged =
LIST_HEAD_INITIALIZER(moea_pvo_kunmanaged); /* list of unmanaged pages */
-/*
- * Isolate the global pv list lock from data and other locks to prevent false
- * sharing within the cache.
- */
-static struct {
- struct rwlock lock;
- char padding[CACHE_LINE_SIZE - sizeof(struct rwlock)];
-} pvh_global __aligned(CACHE_LINE_SIZE);
-
-#define pvh_global_lock pvh_global.lock
+static struct rwlock_padalign pvh_global_lock;
uma_zone_t moea_upvo_zone; /* zone for pvo entries for unmanaged pages */
uma_zone_t moea_mpvo_zone; /* zone for pvo entries for managed pages */
OpenPOWER on IntegriCloud