Hello. On Wed, Aug 28, 2019 at 03:05:58PM -0700, Tejun Heo wrote: > diff --git a/block/blk-iocost.c b/block/blk-iocost.c > [...] > +static struct cftype ioc_files[] = { > + .name = "weight", > [...] This adds the generic io.weight attribute. How will this compose with the weight from IO schedulers? (AFAIK, only BFQ allows proportional control as of now. +CC Paolo.) I see this attributes are effectively per-cgroup per-device. Apparently, one device should have only one weight across hierarchy. Would it make sense to have io.bfq.weight and io.cost.weight with disjunctive devices? (Alas, I have no idea how to make the users of io.weight happy, when proportionality control mechanism seems orthogonal to the weight. (Vector weights?)) > + .name = "cost.qos", > + .flags = CFTYPE_ONLY_ON_ROOT, > [...] > + .name = "cost.model", > + .flags = CFTYPE_ONLY_ON_ROOT, I'm concerned that these aren't true cgroup attributes. The root cgroup would act as container for global configuration options. Wouldn't these values better fit as (configurable) attributes of the respective devices? Secondly, how is CFTYPE_ONLY_ON_ROOT supposed to be presented in cgroup namespaces? Thanks, Michal