[LITMUS^RT] Help with Understanding Scheduling Results

Björn Brandenburg bbb at mpi-sws.org
Thu Apr 9 10:23:30 CEST 2015


> On 09 Apr 2015, at 04:05, Geoffrey Tran <gtran at isi.edu> wrote:
> 
> We have gone ahead and done the following modification to the linux kernel:
> 
> In arch/x86/xen/smp.c:
> In the function: static irqreturn_t xen_reschedule_interrupt(int irq, void *dev_id) we add a call to sched_state_ipi(), so
> the code looks as follows
> 
> /*
> * Reschedule call back.
> */
> static irqreturn_t xen_reschedule_interrupt(int irq, void *dev_id)
> {
>        inc_irq_stat(irq_resched_count);
>        scheduler_ipi();
> 
>        sched_state_ipi();
> 
>        return IRQ_HANDLED;
> }
> 
> Is there a process to submit a patch?  
> 
> From what we can tell, this seems to have solved the scheduling anomaly. We ran the same 2 task case as previously and
> all jobs meet their deadline. Furthermore, we tested one of our workloads in a single VM, and it looks like everything
> is behaving as expected.

Dear Geoffrey,

I’m glad to to hear that the issue has been resolved. Thanks for digging into it.

I’d be very happy to merge Xen support into mainline LITMUS^RT. You can either post a plain old patch on the mailing list, or simply fork LITMUS^RT on Github and send a pull request from a clean branch.

However, if you look at the diff of LITMUS^RT against the base Linux version

	https://github.com/LITMUS-RT/litmus-rt/compare/72c0f4193873987686d776813b96ef5e17b060b0...master

you’ll see that there are also other changes in arch/ that may (or may not) have to be ported to Xen. Could you please have a look and check if there’s anything else that seems relevant? It sounds like your version is working right, but it doesn’t hurt to double-check.

Thanks,
Björn





More information about the litmus-dev mailing list