Messages in this thread |  | | | Date | Thu, 19 Jan 2012 15:32:25 -0500 | | From | Vivek Goyal <> | | Subject | Re: [PATCH 11/12] blkcg: kill blkio_policy_node |
| |
On Wed, Jan 18, 2012 at 05:11:29PM -0800, Tejun Heo wrote:
[..] > @@ -1413,14 +1110,10 @@ static int blkio_weight_write(struct blkio_cgroup *blkcg, u64 val) > spin_lock_irq(&blkcg->lock); > blkcg->weight = (unsigned int)val; > > - hlist_for_each_entry(blkg, n, &blkcg->blkg_list, blkcg_node) { > - pn = blkio_policy_search_node(blkcg, blkg->dev, > - BLKIO_POLICY_PROP, BLKIO_PROP_weight_device); > - if (pn) > - continue; > + hlist_for_each_entry(blkg, n, &blkcg->blkg_list, blkcg_node) > + if (blkg->plid == plid && !blkg->conf.weight) > + blkio_update_group_weight(blkg, blkcg->weight);
Tejun,
Why do we check for blkg->conf.weight=0 here. Even if a group already has weight and if user has changed the cgroup weight later, that update should be propogated to all the groups on all the queues.
Where do we assign default cgroup weight to a blkg upon creation? May be at group create time, we just need to copy blkcg->weight to blkg.conf.weight.
Thanks Vivek
|  |