Re: [BUG] lockup with the latest kernel

From: Linus Torvalds
Date: Fri Aug 28 2009 - 00:14:37 EST




On Fri, 28 Aug 2009, Tejun Heo wrote:
> >
> > x86: make x86_32 use tlb_64.c
> >
> > Impact: less contention when issuing invalidate IPI, cleanup
> >
> > Make x86_32 use the same tlb code as 64bit. The 64bit code uses
> > multiple IPI vectors for tlb shootdown to reduce contention. This
> > patch makes x86_32 allocate the same 8 IPIs as x86_64 and share the
> > code paths.
> >
> > Note that the usage of asmlinkage is inconsistent for x86_32 and 64
> > and calls for further cleanup. This has been noted with a FIXME
> > comment in tlb_64.c.
> >
> > Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> >
> > I can easily hit this bug at this commit, but I ran for a week on the
> > commit before it. Thus I'm assuming this is the bug (but I'm not 100%
> > sure).
>
> Drat, why does it have to be mine? ;-)
>
> Joke aside, thank you very much for bisecting it.
>
> ...
> >> [13288.222084] EIP: 0060:[<c0110821>] EFLAGS: 00000002 CPU: 0
> >> [13288.222084] EIP is at default_send_IPI_mask_logical+0x53/0x92

Is this one perhaps fixed by b04e6373d694 ("x86: don't call
'->send_IPI_mask()' with an empty mask")

It sounds a _lot_ like that bug. Older dual-cpu x86 box, and APIC getting
confused by the occasional empty CPU mask, and then subsequent IPI's will
hang.

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