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

Re: [Xen-devel] [Q] about Credit Scheduler Dom0 Scheduling policy.

On Mon, Oct 23, 2006 at 01:13:45PM +0900, Atsushi SAKAI wrote:
> For including files
>   For xentrace log, output size is huge 10lines/KB.
>   I just included 100 line.

These logs are interesting.

According to the logs, some of our prior assumptions are shown
to be incorrect.

For one thing, it looks like SEDF does not do a good job at
all at running either the I/O domU or dom0 quickly after they
are made runnable. Often, it schedules both spinning domUs for
a full time slice each before it gets to the I/O domU or dom0.

The credit scheduler seems to schedule the I/O domU and dom0
much more quickly when they become runnable. Basically it seems
to work as advertised and preempt the CPU from the spinners.

There is another weird thing going on: Every once in a while,
both the I/O domU and dom0 are blocked. The sequence goes like
this: I/O domU blocks, dom0 wakes and runs and blocks. A
spinner runs a full time slice. Then, the I/O domU is woken up
and runs. It takes a full time slice for this to happen though
and time slices in the credit scheduler appears to be 60x that
using SEDF (60 x !!!). The credit scheduler time slice is 30
millisecs. The sedf scheduler appears to run the spinners for
half a millisecond only even when it's only running both spinners
and nothing else. Argueably, this is quite bad were the spinners
to actually do anything useful with their cache.

Because the time slices are that much shorter with SEDF, the
dom0 actually often yields the CPU to the spinners before it
can complete the work necessary to wake up the I/O domU.

So my reading of the logs indicates to me that -- contrary to
our initial theories -- the credit scheduler is much better in
this workload than sedf at preempting CPU bound VCPUs to run
I/O bound ones. The problem seems to be this odd behaviour
where an I/O bound domU isn't woken up by dom0 until after an
unrelated VCPU has completed a full time slice. Something
seems broken there either with the tracing or with the I/O
sleep/wake code because, according to the traces, dom0 at
times runs and blocks without waking up the I/O domU.

Are the chunks of traces you sent representative of the
overall behaviour of the system?

Also, your CPU is approx 1.48Ghz, right?

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.