Basically yes. When my idle thread has decided that the system
is really idle (i.e. if there are pending softirqs, it generates
an interrupt and yields), it contacts the simulator process
(outside the UML system), and puts the entire UML system to
sleep.
The simulator can then mess with the UML system through ptrace.
When it's done, it may advance the time, and let the UML system
run again. If the time has changed, the UML system will
fast-forward jiffies, and possibly generate a timer interrupt.
Then it yields its timeslice, and the cycle begins anew.
There are no "outside" interrupts, so ultimately, the event
causing other threads to run also comes from my idle thread.
- Werner
-- _________________________________________________________________________ / Werner Almesberger, Buenos Aires, Argentina wa@almesberger.net / /_http://www.almesberger.net/____________________________________________/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/