Re: [PATCH 08/17] blkcg: shoot down blkio_groups on elevator switch

From: Vivek Goyal
Date: Mon Jan 23 2012 - 10:52:19 EST


On Mon, Jan 23, 2012 at 07:39:13AM -0800, Tejun Heo wrote:
> Hello,
>
> On Mon, Jan 23, 2012 at 10:20:55AM -0500, Vivek Goyal wrote:
> > What happens to per device rules (per device weight and per device
> > throttling rules)? IIUC, in new scheme of things, upon elevator switch
> > these rules will be gone.
> >
> > I can understand per device weight rules disappearing but what about
> > throttling rules. They are independent of IO scheduler and change of
> > io scheduler should not cause per device throttling rules to get lost.
> >
> > This just gets worse if elevator switch fails and we fall back to old
> > elevator. But now we have lost of the rules as rules were part of
> > blkg.conf and old groups are gone.
>
> As any other choices, it's about trade off and there multiple aspects
> to consider. Both elevator and policy changes are extremely low
> frequency and inherently disruptive operations and having persistency
> across them doesn't justify adding the amount of complexity and design
> convolutions we have now, especially not when rule persistency across
> those switches can be implemented with mostly trivial switching script
> from userland.

Atleast throttling rules should not disappear over elevator switch. They
are per device and not per IO scheduler. Think of losing nr_requests
settings just because elevator switch happened.

Elevator switch can be low frequency but how would a user space know
that elevator switch failed that's why we lost our rules and now lets
put the rules back.

I am not sure how would we justify this that because of ease of programming
in kernel, now user space is supposed to make sure that any programmed
rules are still there and reprogram the cgroup if rules are gone for
some reason.

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/