Hello, Michal. On Tue, Sep 10, 2019 at 02:55:14PM +0200, Michal Koutný wrote: > 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.) The two being enabled at the same time doesn't make sense, so we can just switch over to bfq when bfq is selected as the iosched. I asked what Paolo wanted to do in terms of interface a couple times now but didn't get an answer and he posted a patch which makes the two controllers conflict, so.... Paolo, so it looks like you want to rename all bfq files to drop the bfq prefix, right? I can implement the switching if so. > 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? It never makes sense to have both enabled, so I don't think that interface makes sense. > > + .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? Initially, I put them under block device sysfs but it was too clumsy with different config file formats and all. I think it's better to have global controller configs at the root cgroup. > Secondly, how is CFTYPE_ONLY_ON_ROOT supposed to be presented in cgroup > namespaces? Not at all. These are system-wide configs. cgroup namespaces shouldn't have anything which aren't in non-root cgroups. Thanks. -- tejun