![]() | |||||||||||||
Messages in this thread |
"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 | |||||||||||||