Messages in this thread Patch in this message |  | | | From | Rusty Russell <> | | Subject | Re: [PULL] x86 cpumask work | | Date | Wed, 18 Mar 2009 08:22:30 +1030 |
| |
On Wednesday 18 March 2009 05:26:30 Cliff Wickman wrote: > > From: Cliff Wickman <cpw@sgi.com> > > A patch on Mar13 2009 introduced a bug. I hope the below 1-line fix can > make the 'urgent' list, and get fixed before that patch moves on. > > The Mar13 patch is saved at > http://marc.info/?l=linux-kernel&m=123683186504948&w=2 > > The allocation of per-cpu uv_flush_tlb_mask's in arch/x86/kernel/tlb_uv.c > changed a variable that should been reset to 0.
Hi Cliff,
Thanks for tracking this. May I suggest this slightly enhanced version?
Subject: cpumask: fix tlb_uv initialization
Impact: fix boot on UV systems
Commit 76ba0ecda0de9accea9a91cb6dbde46782110e1c "cpumask: use cpumask_var_t in uv_flush_tlb_others" used cur_cpu as an iterator; it was supposed to be zero for the code below it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
diff --git a/arch/x86/kernel/tlb_uv.c b/arch/x86/kernel/tlb_uv.c index 8afb691..deb5ebb 100644 --- a/arch/x86/kernel/tlb_uv.c +++ b/arch/x86/kernel/tlb_uv.c @@ -751,7 +751,7 @@ static int __init uv_bau_init(void) int node; int nblades; int last_blade; - int cur_cpu = 0; + int cur_cpu; if (!is_uv_system()) return 0; @@ -765,6 +765,7 @@ static int __init uv_bau_init(void) uv_mmask = (1UL << uv_hub_info->n_val) - 1; nblades = 0; last_blade = -1; + cur_cpu = 0; for_each_online_node(node) { blade = uv_node_to_blade_id(node); if (blade == last_blade)
|  |