[IA64] bugfix: nptcg breaks cpu-hotadd
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Fri, 25 Apr 2008 14:13:09 +0000 (23:13 +0900)
committerTony Luck <tony.luck@intel.com>
Tue, 29 Apr 2008 20:47:45 +0000 (13:47 -0700)
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>
arch/ia64/mm/tlb.c

index d52ec4e83409126647984095dd52bced8856d314..8caf42471f0d1e72d3b2adc007a9d8e8dcc76bf0 100644 (file)
@@ -168,7 +168,10 @@ setup_ptcg_sem(int max_purges, int nptcg_from)
        static int firstcpu = 1;
 
        if (toolatetochangeptcgsem) {
-               BUG_ON(max_purges < nptcg);
+               if (nptcg_from == NPTCG_FROM_PAL && max_purges == 0)
+                       BUG_ON(1 < nptcg);
+               else
+                       BUG_ON(max_purges < nptcg);
                return;
        }