Re: Bisected KVM hang on x86-32 between v3.12 and v3.13

From: Peter Zijlstra
Date: Mon Apr 07 2014 - 11:07:31 EST


On Mon, Apr 07, 2014 at 05:03:37PM +0200, Peter Zijlstra wrote:
> So what I suspect at this point is that because i386 and x86_64 have a
> difference in current_thread_info() (i386 is stack based), we end up
> setting the TIF_NEED_RESCHED bit on the wrong stack.
>
> Now I have some vague memories of propagating the TIF flags on stack
> switch, but I cannot remember what arch we did that for. Let me stare at
> this a little more.
>
> Also, IFF this is the case, then the fingered patch above (and your
> suggested 'fix') aren't the real curlpit/cure but simply make it
> more/less likely to happen.
>
> Now, Steve had a patch somewhere that would make i386 use per-cpu
> variables for current_thread_info() just like x86_64 already does I
> think. Let me go find them too.

Ohh, goodie, they're already in Linus' tree. Could you see if current
git still suffers this problem?
--
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/