Re: [PATCH] arm: Preserve TPIDRURW on context switch

From: André Hentschel
Date: Wed Feb 06 2013 - 18:01:35 EST


Am 06.02.2013 23:51, schrieb Russell King - ARM Linux:
> On Wed, Feb 06, 2013 at 11:43:10PM +0100, André Hentschel wrote:
>> There are more and more applications coming to WinRT, Wine could support them,
>> but mostly they expect to have the thread environment block (TEB) in TPIDRURW.
>> This register must be preserved per thread instead of being cleared.
>
> I'd prefer this was done a little more sensitively to those CPUs where
> loads/stores are expensive, namely:
>
>> +
>> + @ preserve TPIDRURW register state
>> + get_tls2 r3, r4, r5
>> + str r3, [r1, #TI_TP2_VALUE]
>> + ldr r3, [r2, #TI_TP2_VALUE]
>> + set_tls2 r3, r4, r5
>
> those two loads/stores get omitted from the thread switching if the CPU
> doesn't support it. Do you think that's something you could do?

No, i'm not sure how to improve this. How does the process can continue, can you or someone else fix that and add his Signed-off-by?


--

Best Regards, André Hentschel
--
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/