aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/mm/tlb.c
diff options
context:
space:
mode:
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>2008-04-25 10:13:09 -0400
committerTony Luck <tony.luck@intel.com>2008-04-29 16:47:45 -0400
commite617fce64e5faea149fcf3bffc1b42e4ba29e7e5 (patch)
tree23a3f38995e55bbcbb79c93aa7504acd12f9dd4e /arch/ia64/mm/tlb.c
parent7663c1e2792a9662b23dec6e19bfcd3d55360b8f (diff)
[IA64] bugfix: nptcg breaks cpu-hotadd
If "max_purges" from PAL is 0, it actually means 1. However it was not handled later when a hot-added cpu pass the max_purges from PAL. This makes systems easy to go BUG_ON(). Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/mm/tlb.c')
-rw-r--r--arch/ia64/mm/tlb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c
index d52ec4e83409..8caf42471f0d 100644
--- a/arch/ia64/mm/tlb.c
+++ b/arch/ia64/mm/tlb.c
@@ -168,7 +168,10 @@ setup_ptcg_sem(int max_purges, int nptcg_from)
168 static int firstcpu = 1; 168 static int firstcpu = 1;
169 169
170 if (toolatetochangeptcgsem) { 170 if (toolatetochangeptcgsem) {
171 BUG_ON(max_purges < nptcg); 171 if (nptcg_from == NPTCG_FROM_PAL && max_purges == 0)
172 BUG_ON(1 < nptcg);
173 else
174 BUG_ON(max_purges < nptcg);
172 return; 175 return;
173 } 176 }
174 177