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

From: Michele Ballabio
Date: Mon Apr 07 2014 - 15:49:52 EST


On 07/04/2014 17:07, Peter Zijlstra wrote:
> 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.

Understood.

>> 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?

It is fixed on current -master (3.14.0-10773-gb8780c3).

Thanks.

--
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/