Review Board 2.0.15

ThreadContext suspension / activation in O3 SMT - nanosleep syscall

Review Request #68 - Created July 28, 2010 and updated

Ioannis Ilkos
This is a patch fixing the ThreadContext suspension / activation described in and implementing the nanosleep() syscall (albeit without the signal-relevant parts) for AlphaLinux.

Changes in O3:
- The tick scheduling was removed from activateContext() and moved into activateThread(). It seems more natural since activateContext() either calls activateThread() or schedules it. In the case of scheduling there is no need to schedule ticks prematurely.
- suspendContext() and haltContext() check the number of active threads before setting CPU _status to Idle.

Review request changed
Updated (July 29, 2010, 6:01 a.m.)