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

[Xen-devel] Re: Is QoS of virtual disk not necessary?

> CFQ2 is CFQ version 2 or new CFQ?
> In linux documentation ( Documentation/block/ioprio.txt ), I see that CFQ is 
> version 3.
>  > With the introduction of cfq v3
> If CFQ2 is CFQ version 2, which is current CFQ version 2? or version 3?

Linux kernel subsystems rarely have fixed meaningfull major release numbers. 
They just
improve continuously in small steps with each kernel release. 

> However, CFQ is implemented in only Linux and not in other OSs.
> So, privileged domains or driver domains are restricted with only Linux.
> In current, privileged domain (domain 0) is only Linux, but is this situation 
> continued in future?
> I think that users use also other OSs as driver domains.
> Therefore, I suggested IOMGR.
> By control mechanism is developed at backend drivers, I/O control setting 
> will become OS independent.
> -- But, it is needed to implement for other OSs.

Xen depends on Dom0 IO facilities for a lot of things. Following your argument
to the logical conclusion you would need to reimplement a lot more code 
(like firewalling or network QoS) in Xen too. Just doesn't seem to be
a wise investment of precious development resources to me, especially since 
most Dom0 
OSes probably already have mostly equivalent facilities.

Of course without hard data it is a stab in the dark. Did you
do some benchmarking if there is a real fairness problem currently?

> > The claim that CFQ2 is desktop oriented in this thread 
> > earlier is also not true. The desktop oriented scheduler is 
> > more AS and CFQ2 is widely and successfully used in server 
> > applications.
> I read on web that "CFQ is made for multimedia desktop usage onlyâ said 
> Andrea.
>    http://www.cs.rice.edu/~ssiyer/r/antsched/shines.html
> (Perhaps version 1 ?)


> And following document is found in Kconfig.iosched.
> ãconfig IOSCHED_CFQ
>       tristate "CFQ I/O scheduler"
>       default y
>       ---help---
>         The CFQ I/O scheduler tries to distribute bandwidth equally
>         among all processes in the system. It should provide a fair
>         working environment, suitable for desktop systems. 
>         This is the default I/O scheduler.
> Therefore, I seem that "CFQ is suitable for desktop system".
> However, its report is old, and I don't know surely whether current CFQ is 
> desktop oriented or not.

First server (and as well as desktop) workloads are quite varied. It is hard to 
anything ultimative and there can be always special cases and exceptions.
Also desktop and server workloads can overlap. The main difference is probably
just that servers tend to have a lot more spindles, but that normally
just requires less scheduling then.

CFQ2 is the default scheduler in the main server oriented distributions
(SLES, RHEL) so it's not doing that badly. It's also default in most
desktop oriented distributions (Fedora, OpenSUSE, Ubuntu, etc.) as far
as I know.

The main reason why AS (which showing nice gains in some ways) didn't
really catch on was that it was somewhat slower in some server workloads

In some cases special workloads prefer other schedulers, but they often want
the noop scheduler then (e.g. some highend databases tend to prefer to 
be not scheduled by the OS at all while others like MySQL tend to prefer
some help from the OS)


Xen-devel mailing list



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