diff options
author | Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> | 2008-04-25 10:13:09 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2008-04-29 16:47:45 -0400 |
commit | e617fce64e5faea149fcf3bffc1b42e4ba29e7e5 (patch) | |
tree | 23a3f38995e55bbcbb79c93aa7504acd12f9dd4e /arch/ia64/mm/tlb.c | |
parent | 7663c1e2792a9662b23dec6e19bfcd3d55360b8f (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.c | 5 |
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 | ||