Re: [PATCH] cgroups: remove redundant get/put of css_set from css_set_check_fetched()

From: Li Zefan
Date: Thu Dec 15 2011 - 21:28:39 EST


Mandeep Singh Baines wrote:
> We already have a reference to all elements in newcg_list.
>

Indeed. The patch looks good to me.

Reviewed-by: Li Zefan <lizf@xxxxxxxxxxxxxx>

> Signed-off-by: Mandeep Singh Baines <msb@xxxxxxxxxxxx>
> Cc: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx>
> Cc: containers@xxxxxxxxxxxxxxxxxxxxxxxxxx
> Cc: cgroups@xxxxxxxxxxxxxxx
> Cc: Paul Menage <paul@xxxxxxxxxxxxxx>
> ---
> kernel/cgroup.c | 10 ++--------
> 1 files changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
> index d9d5648..a7e00b9 100644
> --- a/kernel/cgroup.c
> +++ b/kernel/cgroup.c
> @@ -1935,23 +1935,17 @@ static bool css_set_check_fetched(struct cgroup *cgrp,
>
> read_lock(&css_set_lock);
> newcg = find_existing_css_set(cg, cgrp, template);
> - if (newcg)
> - get_css_set(newcg);
> read_unlock(&css_set_lock);
>
> /* doesn't exist at all? */
> if (!newcg)
> return false;
> /* see if it's already in the list */
> - list_for_each_entry(cg_entry, newcg_list, links) {
> - if (cg_entry->cg == newcg) {
> - put_css_set(newcg);
> + list_for_each_entry(cg_entry, newcg_list, links)
> + if (cg_entry->cg == newcg)
> return true;
> - }
> - }
>
> /* not found */
> - put_css_set(newcg);
> return false;
> }
>
--
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/