[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1433941708-40686-1-git-send-email-Waiman.Long@hp.com>
Date: Wed, 10 Jun 2015 09:08:28 -0400
From: Waiman Long <Waiman.Long@...com>
To: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, x86@...nel.org
Cc: linux-kernel@...r.kernel.org, Scott J Norton <scott.norton@...com>,
Douglas Hatch <doug.hatch@...com>,
Waiman Long <Waiman.Long@...com>
Subject: [PATCH] x86/mm/fault: Put pgd_lock in its own cacheline
On a large system with many cores, massive creation or destruction
of processes/threads can sometime cause a fair amount of spinlock
contention in the pgd_lock used by the pgd_alloc() and pgd_free()
functions. This patch tries to reduce false cacheline sharing by
putting the pgd_lock in its own cacheline which help to reduce
contention on the lock.
Signed-off-by: Waiman Long <Waiman.Long@...com>
---
arch/x86/mm/fault.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 181c53b..fae48df 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -185,7 +185,7 @@ force_sig_info_fault(int si_signo, int si_code, unsigned long address,
force_sig_info(si_signo, &info, tsk);
}
-DEFINE_SPINLOCK(pgd_lock);
+__cacheline_aligned_in_smp DEFINE_SPINLOCK(pgd_lock);
LIST_HEAD(pgd_list);
#ifdef CONFIG_X86_32
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists