[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |