removing taskvares (was Re: rtems_filesystem_current issues)

Till Straumann strauman at
Mon Oct 28 04:51:24 UTC 2002

I just wanted to say that I like the direction this discussion has taken.

IMO, using an extended reent structure for storing libc related stuff
(such as the userenv and C++ related things) seems to make sense.

As for supporting other librarie's globals: IMO, the most important goal
is not to punish threads who do not use e.g. RPC with context switch
overhead related to RPC. OTOH, a thread who decides to use (again,
for example,) RPC, should be willing to accept a little higher penalty.

This leads to a model with one pointer (to each thread's RTEMS-reent
structure) which is switched very fast. The RTEMS-reent structure then
can have one (or a couple of) slots for pointers to "extension lists".

-> context switch is fast in any case.
-> tasks who need access to library globals have to look them up

note that in most cases the global variables are not accessed very
frequently and it's less painful to increase lookup time than context
switch latency.

-- Till

More information about the users mailing list