Messages in this thread |  | | Date | Mon, 19 May 2003 14:46:05 -0300 | From | Werner Almesberger <> | Subject | Re: [patch] sched-cleanup-2.5.69-A0 |
| |
Ingo Molnar wrote: > so you really want to run every time there's idle time, but you also want > to sleep until the event that causes some other thread to run, right?
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/
|  |