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

Re: [Xen-devel] Scheduling of I/O domains

> It seems to me that this problem doesn't have anything to do with the 
> choice of scheduling policy or parameters; It is about when the 
> scheduler is called. It appears as though the xen cpu scheduler 
> currently only runs when the hardware timer ticks. It does not run when 
> an external interrupt happens. So there is a large latency introduced to 
> I/O interrupts, and this limits I/O performance. Changing the scheduler 
> algorithm won't help this.
> The only way to avoid this is to immediately dispatch the I/O domain 
> responsible for a given I/O interrupt as soon as that interrupt occurs. 
> This means giving I/O domains with pending interrupts scheduling 
> priority over any "regular" domains. Just as in a "normal" operating 
> system, interrupt service routines must complete before any user 
> processes are executed. Otherwise, latencies are introduced that kill 
> I/O performance.

When an event is queued for a domain we call a generic wakeup
function. A good deal more of that function ought to be
scheduler-specific, and should do something smarter than our current
default (which is to force a reschedule only if the CPU is idling).
However, fixing this shouldn't be that hard -- we should have saner
scheduling in the next few weeks.

 -- Keir

This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
Xen-devel mailing list



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