diff options
| author | Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> | 2008-04-25 23:13:09 +0900 | 
|---|---|---|
| committer | Tony Luck <tony.luck@intel.com> | 2008-04-29 13:47:45 -0700 | 
| commit | e617fce64e5faea149fcf3bffc1b42e4ba29e7e5 (patch) | |
| tree | 23a3f38995e55bbcbb79c93aa7504acd12f9dd4e | |
| parent | 7663c1e2792a9662b23dec6e19bfcd3d55360b8f (diff) | |
| download | olio-linux-3.10-e617fce64e5faea149fcf3bffc1b42e4ba29e7e5.tar.xz olio-linux-3.10-e617fce64e5faea149fcf3bffc1b42e4ba29e7e5.zip  | |
[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>
| -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 d52ec4e8340..8caf42471f0 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)  	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;  	}  |