From: Andi Kleen Date: Tue, 13 Feb 2007 12:26:23 +0000 (+0100) Subject: [PATCH] i386: Small cleanup to TLB flush code X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=8c40ad02e5b026902b8ce134f895b3b09803db39;p=openwrt%2Fstaging%2Fblogic.git [PATCH] i386: Small cleanup to TLB flush code - Remove outdated comment - Use cpu_relax() in a busy loop Signed-off-by: Andi Kleen --- diff --git a/arch/i386/kernel/smp.c b/arch/i386/kernel/smp.c index ffc4f65c5189..9bd9637ae692 100644 --- a/arch/i386/kernel/smp.c +++ b/arch/i386/kernel/smp.c @@ -375,8 +375,7 @@ static void flush_tlb_others(cpumask_t cpumask, struct mm_struct *mm, /* * i'm not happy about this global shared spinlock in the * MM hot path, but we'll see how contended it is. - * Temporarily this turns IRQs off, so that lockups are - * detected by the NMI watchdog. + * AK: x86-64 has a faster method that could be ported. */ spin_lock(&tlbstate_lock); @@ -401,7 +400,7 @@ static void flush_tlb_others(cpumask_t cpumask, struct mm_struct *mm, while (!cpus_empty(flush_cpumask)) /* nothing. lockup detection does not belong here */ - mb(); + cpu_relax(); flush_mm = NULL; flush_va = 0;