Hi!

I have some troubles understanding the scheduler source code.
Maybe someone can give me some hints. Thx.

Task switching
--------------

Task switching is done in rtl_schedule by calling
rtl_switch_to(). The switch occurs when the "ret" instruction of
rtl_switch_to()
is carried out. At this point a new task runs. The remainder of
rtl_schedule is
postponed until the previous task is activated again.

Right? If so I have problems with the floating point support. Why are
the
floating point registers saved and restored after the call to
rtl_switch_to().
Isn't it to late to do this here, because the switch to the task has
already occurred and
been carried out?

I also took a look at the RTAI source code and they do this before
switch_to.

rtl_switch_to difference between I386 and PPC
---------------------------------------------

The I386 implementation of rtl_switch_to ends with a "ret" while the
PPC implementation ends with "rfi". Why?
The RTAI PPC code is similar but ends with "blr".

-- 
Franz Hollerer
Dependable Computer Systems
Stumpergasse 48/28, A-1060 Wien, Austria
Phone: +43 1 5953935-21                     mailto:[EMAIL PROTECTED]
Fax:   +43 1 5953935-18                     http://www.decomsys.com
------------------------------------------------------------------------
Austria
Usually we don't have kangaroos.

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/

Reply via email to