Jamie Lokier wrote:
Michael Schnell wrote:
TLS, NTPL, FUTEX, not signal based IPC, ...) Hopefully the upcoming
MMU-enabled NIOS uClinux will take care of most of this - as most is
a lot easier to do based on TLS and same is easy to do if making use
of the MMU..

That stuff doesn't depend on an MMU, really.

It's just that historically, NPTL has been ported to architectures
with an MMU first.
Of course I do know, but NPTL is based on TLS and TLS is much easier to to if you have an MMU that can provide the dedicated per-thread memory block automatically the the system switches the MMU configuration on a process/task switch. The MMU based implementation seems to be available "out of the box" as soon as an MMU-enabled Kernel is compiled, while a not MMU based TLS implementation needs arch- and compiler- depending code (e.g a processor register can be reserved as TLS pointer or a dedicated variable can be used that is updated with any process/task switch.

That is why the compiler team usually seems only to care for implementing the "__thread" keyword for processors that do have an MMU.

NIOS only got an MMU recently, so we need to wait for the next compiler (gcc 4, about to be released right now) for TLS support. With that it would be possible to do TLS (and thus NPTL) for MMU-less NIOS systems as well, but I doubt that anybody will care, as - other than what I expected - when done in the same FPGA, the NIOS with MMU is not (much) slower ("fmax") than the NIOS without.

-Michael
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to