Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Dom0 starvs DomU



bouyer%antioche.eu.org@localhost (Manuel Bouyer) writes:

>Index: xbdback_xenbus.c
>===================================================================
>RCS file: /cvsroot/src/sys/arch/xen/xen/xbdback_xenbus.c,v
>retrieving revision 1.60
>diff -u -p -u -r1.60 xbdback_xenbus.c
>--- xbdback_xenbus.c	21 Sep 2014 12:46:15 -0000	1.60
>+++ xbdback_xenbus.c	15 Nov 2015 14:23:53 -0000
>@@ -647,7 +647,7 @@ xbdback_connect(struct xbdback_instance 
> 	hypervisor_enable_event(xbdi->xbdi_evtchn);
> 	hypervisor_notify_via_evtchn(xbdi->xbdi_evtchn);
> 
>-	if (kthread_create(IPL_NONE, KTHREAD_MPSAFE, NULL,
>+	if (kthread_create(PRI_NONE, KTHREAD_MPSAFE, NULL,
> 	    xbdback_thread, xbdi, NULL, "%s", xbdi->xbdi_name) == 0)
> 		return 0;


This changes DomU behaviour from 'complete stall' to 'very slow' as
long as the Dom0 CPU is busy.

As long as the thread was running at pri 0, it never got CPU time.
With PRI_NONE it is configured to pri 96 and (using my testcase)
the infinite loop and the xbdback thread seem to get equal number
of timeslices.

But the xbdback thread should preempt other processes because of its
higher priority.

-- 
-- 
                                Michael van Elst
Internet: mlelstv%serpens.de@localhost
                                "A potential Snark may lurk in every tree."


Home | Main Index | Thread Index | Old Index