Philippe Gerum wrote: > On Wed, 2009-12-16 at 15:19 +0100, Philippe Gerum wrote: >> On Wed, 2009-12-16 at 12:53 +0100, Jan Kiszka wrote: >>> Philippe Gerum wrote: >>>> On Sun, 2009-12-13 at 19:19 +0100, Jan Kiszka wrote: >>>>> Philippe Gerum wrote: >>>>>> On Sun, 2009-12-13 at 18:48 +0100, Jan Kiszka wrote: >>>>>>> Philippe Gerum wrote: >>>>>>>> On Sat, 2009-12-12 at 22:37 +0100, Jan Kiszka wrote: >>>>>>>>> Recent moving of ipipe_suspend_domain finally exposed a deeper flaw in >>>>>>>>> cpu_idle on x86: We failed to check the pipeline log before issuing >>>>>>>>> the >>>>>>>>> real hlt. This caused IRQ latencies or even drops for Linux, >>>>>>>>> specifically on SMP. Credits go to plain QEMU whose slow SMP mode >>>>>>>>> caused >>>>>>>>> ipipe_critical_enter to deadlock frequently enough. >>>>>>>>> >>>>>>>>> The first patch of this series fixes this (see below), the second one >>>>>>>>> simply removes the two useless ipipe_suspend_domain calls. >>>>>>>>> >>>>>>>> What your patch does as well, is killing the ability to run low >>>>>>>> priority >>>>>>>> domains below the root level. >>>>>>> Yes, I'm killing the dream. >>>>>>> >>>>>>> I heavily doubt that the functions I removed in the second patch ever >>>>>>> contributed something good to this. It's always the job of the lowest >>>>>>> domain to issue hardware halt, not of some arbitrary mid-prio domain. >>>> Actually, no it's not. You may use a low-priority domain to run idle >>>> level jobs outside of the linux infrastructure for that purpose (e.g. >>>> RCU). A high priority domain may want to post events for a low priority >>>> domain to act upon when a mid priority domain is about to enter the CPU >>>> idle state. >>> Even if all the related bugs were fixed: When you pass down control to >>> the lower domain on cpu_idle via ipipe_suspend_domain, you won't get a >>> Linux reschedule (without CONFIG_PREEMPT) until the low-prio domain >>> finally returns from its event handler - likely not what "low-prio" >>> suggests. >> low prio suggests nothing else than "runs whenever nothing else has to >> be done higher in the pipeline". > > Nothing, meaning nothing interrupt-wise. For the rest, it's a deal > between all OSes there. >
Right, and that deal was, well, fairly incomplete in the previous code. That's my whole point. Jan
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Adeos-main mailing list [email protected] https://mail.gna.org/listinfo/adeos-main
