[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] RTDS with extra time issue
Hello Dario, On 16.02.18 20:37, Dario Faggioli wrote: And what is it that is running in DomR, the same thing as before, when the load was synthetic? For sure I compare apples to apples. Real-time domain is synthetic, though. I'm using LITMUS-RT system for the DomR. In particular with amount of work based configuration [1] introduced recently.And in any case, is it, in its turn (I mean the workload running in DomR) a synthetic real-time load, or is it a real real-time application? Even for the synthetic rt workload some deviations in execution time are noticed (~0.5%). But with no IRQ extensive load in application domains, no DL misses are noticed in RT domain.If the latter, are you sure the misses are not due to the fact that, for instance, the rt app does not always behave as measured/expected, when computing the parameters? My idea is to charge time spent in hypervisor from current vcpu budget, except serving that vcpu hypercalls and handling interrupts targeted current vcpu. Same as you expressed:Well this provides some ground for another my concern about XEN scheduling approach. My doubt is that scheduling is done within softirq, so all time spent with pcpu for exception itself and possible timer actions is accounted for the vcpu which context was interrupted.I am not sure I fully understand this. Because if DomX was running, and we entered Xen because an interrupt arrived to deal with a timer or whatever from DomY, then I agree it's not fair to charge DomX for that. But, OTOH, if we are in Xen because DomX itself called an hypercall, then it is indeed ok to charge DomX. For RT scheduling this would make big difference. Its not about overhead but unfair time accounting. And this unfairness is pretty arbitrary, depends on other domains activity.If you're worried about some kind of overhead may be consuming some of your real-time reservation, try to increase the reservation itself a bit, and see if the misses disappear. One difference could be that Linux can be configured to be fully preemptible --even the kernel-- while Xen is not. But I don't think this is what you're hinting at, is it? No, it is not.If we are speaking about Linux, it much closer to CONFIG_IRQ_TIME_ACCOUNTING [1]. In current implementation it does matter *when* `schedule()` is called. Because time accounting is done by passing `now` time value to `sched->do_schedule()` right in `schedule()`.And note that this does not have much to do with how schedule() gets called. :-) [1] https://github.com/LITMUS-RT/liblitmus/pull/3 [2] https://lkml.org/lkml/2011/2/10/135 -- *Andrii Anisov* _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |