Re: Regarding dm-ioband tests

From: Vivek Goyal
Date: Tue Sep 08 2009 - 22:07:17 EST


On Wed, Sep 09, 2009 at 02:09:00AM +0200, Fabio Checconi wrote:
> Hi,
>
> > From: Rik van Riel <riel@xxxxxxxxxx>
> > Date: Tue, Sep 08, 2009 03:24:08PM -0400
> >
> > Ryo Tsuruta wrote:
> > >Rik van Riel <riel@xxxxxxxxxx> wrote:
> >
> > >>Are you saying that dm-ioband is purposely unfair,
> > >>until a certain load level is reached?
> > >
> > >Not unfair, dm-ioband(weight policy) is intentionally designed to
> > >use bandwidth efficiently, weight policy tries to give spare bandwidth
> > >of inactive groups to active groups.
> >
> > This sounds good, except that the lack of anticipation
> > means that a group with just one task doing reads will
> > be considered "inactive" in-between reads.
> >
>
> anticipation helps in achieving fairness, but CFQ currently disables
> idling for nonrot+NCQ media, to avoid the resulting throughput loss on
> some SSDs. Are we really sure that we want to introduce anticipation
> everywhere, not only to improve throughput on rotational media, but to
> achieve fairness too?

That's a good point. Personally I think that fairness requirements for
individual queues and groups are little different. CFQ in general seems
to be focussing more on latency and throughput at the cost of fairness.

With groups, we probably need to put a greater amount of emphasis on group
fairness. So group will be a relatively a slower entity (with anticiaption
on and more idling), but it will also give you a greater amount of
isolation. So in practice, one will create groups carefully and they will
not proliferate like queues. This can mean overall reduced throughput on
SSD.

Having said that, group idling is tunable and one can always reduce it to
achieve a balance between fairness vs throughput depending on his need.

Thanks
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/