Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

authored by

Hidetoshi Seto and committed by
Tony Luck
e617fce6 7663c1e2

+4 -1
+4 -1
arch/ia64/mm/tlb.c
··· 168 168 static int firstcpu = 1; 169 169 170 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 175 return; 173 176 } 174 177