Could be. I'm not sure which posix implementation is used on
the NIOS. Some implementations did do everything in
user-space, and I thought I read that the NIOS port used one of
those.
We did discuss this some time ago. There in fact _is_ a pure userspace
implementation of threads. But with same you would not see anything of
them with "ps", as they stay completely within a single Linux process.
"Linux Thread" is completely the contrary: each thread just _is_ a
process. NTPL works somehow in between these extremes: The OS manages
multiple threads as members of a process.
If the thread scheduling in fact would be done completely in
user-space it would be _really_ fast, as the OS would not be
involved.
I don't follow that argument,
As User-System transition takes a lot of CPU cycles, doing the complete
thread scheduling in user land (with in a "realtime" process) would
offer the optimum performance for regarding this single process.
but it's a moot point if NIOS is
using LinuxThreads.
Yep.
If NIOS is using
LinuxThreads, then something other than user-space scheduling
is the source of the large latencies.
I suppose the userland-threading system rally is just not good enough.
There are _several_ improvement that can be done (some of them even
independently of some others): 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..
IIRC, the MMU support has been coming "soon" for almost two
years.
The MMU _hardware_ was expected for a long time and it's here since a
year. Thomas does have an MMU aware uCLinux thingy up and running, you
can buy a commercial version of same right now (see Altera web pages).
So I do expect it to really be available in summer.
-Michael
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev