Re: [PATCH 1/2] arm: Replace CONFIG_HAS_TLS_REG with HWCAP_TLS and check for it on V6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dears,

I cannot understand how TLS EMU ensure it's SMP safe, because get_tls
helper (at 0xffff0fe0) just read the value from 0xffff0ff0. But all
SMP cores should have the exact same mapping to the vectors page (at
0xffff0000). So various threads running on different SMP cores at the
same time would get the same emulated TLS value (instead of thread
specific value set via set_tls). Could anybody explain this a little
bit?

Thanks,
Lea

On Mon, Jul 5, 2010 at 9:55 PM, Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> * Tony Lindgren <tony@xxxxxxxxxxx> [100702 13:32]:
>> * Nicolas Pitre <nico@xxxxxxxxxxx> [100702 05:31]:
>> > On Thu, 1 Jul 2010, Jamie Lokier wrote:
>> >
>> > > Tony Lindgren wrote:
>> > > > +static void __init kuser_get_tls_init(unsigned long vectors)
>> > > > +{
>> > > > +       /*
>> > > > +        * vectors + 0xfe0 = __kuser_get_tls
>> > > > +        * vectors + 0xfe8 = hardware TLS instruction at 0xffff0fe8
>> > > > +        */
>> > > > +       if (tls_emu || has_tls)
>> > > > +               memcpy((void *)vectors + 0xfe0, (void *)vectors + 0xfe8, 4);
>> > > > +}
>> > >
>> > > Just a little opinion: Perhaps has_tls_reg would be a clearer name.
>> > > All variants "have TLS" after all.
>> >
>> > Good point.
>>
>> I like that too. Updated patch below.
>
> I've uploaded this patch into Russell's patch system:
>
> http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=6207/1
>
> Jamie, assuming no more comments, do you care to Ack/Reviewed/Tested-by
> the patch in the link above?
>
> Regards,
>
> Tony
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux