[Devel] Re: [PATCH 05/18] io-controller: Common hierarchical fair queuing code in elevaotor layer
Gui Jianfeng
guijianfeng at cn.fujitsu.com
Thu May 7 00:42:37 PDT 2009
Vivek Goyal wrote:
> This patch enables hierarchical fair queuing in common layer. It is
> controlled by config option CONFIG_GROUP_IOSCHED.
...
> +}
> +
> +void iocg_destroy(struct cgroup_subsys *subsys, struct cgroup *cgroup)
> +{
> + struct io_cgroup *iocg = cgroup_to_io_cgroup(cgroup);
> + struct hlist_node *n, *tmp;
> + struct io_group *iog;
> +
> + /*
> + * Since we are destroying the cgroup, there are no more tasks
> + * referencing it, and all the RCU grace periods that may have
> + * referenced it are ended (as the destruction of the parent
> + * cgroup is RCU-safe); bgrp->group_data will not be accessed by
> + * anything else and we don't need any synchronization.
> + */
> + hlist_for_each_entry_safe(iog, n, tmp, &iocg->group_data, group_node)
> + io_destroy_group(iocg, iog);
> +
> + BUG_ON(!hlist_empty(&iocg->group_data));
> +
Hi Vivek,
IMHO, free_css_id() needs to be called here.
> + kfree(iocg);
> +}
> +
> +void io_disconnect_groups(struct elevator_queue *e)
> +{
> + struct hlist_node *pos, *n;
> + struct io_group *iog;
> + struct elv_fq_data *efqd = &e->efqd;
> +
> + hlist_for_each_entry_safe(iog, pos, n, &efqd->group_list,
> + elv_data_node) {
> + hlist_del(&iog->elv_data_node);
> +
--
Regards
Gui Jianfeng
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list