lkml.org 
[lkml]   [2004]   [Mar]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 29 Mar 2004 16:21:23 -0800
FromAndrew Morton <>
SubjectRe: BUG_ON(!cpus_equal(cpumask, tmp));
"Martin J. Bligh" <mbligh@aracnet.com> wrote:
>
> The bug is on "BUG_ON(!cpus_equal(cpumask, tmp));" in flush_tlb_others
> This was from 2.6.1-rc1-mjb1, and seems to be a race on shutdown
> (prints after "Power Down"), but I've no reason to believe it's specific
> to the patchset I have - it's not an area I'm touching, I think.
> 
> I presume we've got a race between taking CPUs offline and the 
> tlbflush code ... tlb_flush_mm reads the value from mm->cpu_vm_mask,
> and then presumably some other cpu changes cpu_online_map before it
> gets to calling flush_tlb_others ... does that sound about right?

Looks like it, yes.  I don't think there's a sane way of fixing that - we'd
need the flush_tlb_others() caller to hold some lock which keeps the cpu
add/remove code away.

I'd propose removing the assertion?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:02    [from the cache]
©2003-2008