WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Credit scheduler

Hi, Prabha

pak333@xxxxxxxxxxx wrote:

[snip]

> > >Also, if the IO VM requests an IO, it will block and dom0 wakes up 
> > >and gets scheduled to run to service the IO. Will it preempt the cpu 
> > >intensive VM. If so why? Shouldn't the cpuintensiveV M get its 
> > >quantum of time. 
> > >Or does the IOVM get higher priority to preempt the cpu intensive 
> > >VM. How does the scheduler pick which cpu to run dom0 on ( if all 
> > >the vcpus running are cpu intensive)? If there is a mix of cpu-vcpus 
> > >and Io-vcpus, which will be the victim 
> > 
> > 
> > The whole idea of having separate queues for IO and CPU intensive VMs 
> > (or processes in a normal kernel scenario) is to allow the 
> > IO-intensive tasks to avoid waiting for the next time-slot when a 
> > CPU-hogging VM/process is running [1]. The normal behaviour for the 
> > scheduler is to determine dynamically if the current VM/process is IO 
> > or CPU intensive. 
> > 
> > Unless Dom0 is used for doing some silly CPU-intensive task 
> > (calculating PI with a million decimal points or compiling Xen + 
> > Linux kernel, for example), it will most likely look to the scheduler 
> > like a IO-intensive VM. So it will have the same priority as any 
> > other IO-intensive VM (assuming Dom0 has equal scheduler parameters 
> > as other guests, which I'm pretty sure is the default behaviour). 
> > 
> Does dom0 have a higher pritority than any CPU intensive VM

Easy way is to set higher weight to dom0.
(This makes get higher priority like I/O intensive domain for domain 
dispatch) 

If you want to set higher priority of Dom0 see follow patch.
(This is sample patch for boost Dom0 only not boost I/O intensive.)
http://lists.xensource.com/archives/html/xen-devel/2007-05/msg00529.html

Or just set  CSCHED_PRI_TS_BOOST   for domain0
in case dom0 priority is  CSCHED_PRI_TS_UNDER.


> > If, like in your example, there are a number of processors busy with 
> > CPU-intensive tasks, and others with IO-intensive tasks, the most 
> > likely scenario is that any new IO-request will go be run on a 
> > "previously CPU-intensive" CPU - but on the other hand, if you have a 
> > lot of IO-intensive processing, there should be some processor(s) 
> > that are "asleep" - unless all CPU's are busy running CPU-intensive 
> > tasks... 
> But will it preempt a CPU intensive vcpu if no cpu is available

[snip] 

> > 
> > [1] The idea being that if we process the IO-request that just 
> > completed, we can set up another IO-request, and this will get better 
> > IO-throughput than waiting a long time (relatively speaking 30ms is 
> > an eternity to the processor). 
> Don't understand what you mean here.

I guess Mats suggests to use AIO.

Thanks
Atsushi SAKAI




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>