Re: [PATCH v2 26/33] Task fork and exit for rdtgroup

From: Thomas Gleixner
Date: Thu Sep 08 2016 - 15:43:58 EST


On Thu, 8 Sep 2016, Fenghua Yu wrote:
>
> cgroup_exit(tsk);
> + rdtgroup_exit(tsk);

So this actually does:

> +void rdtgroup_exit(struct task_struct *tsk)
> +{
> +
> + if (!list_empty(&tsk->rg_list)) {
> + struct rdtgroup *rdtgrp = tsk->rdtgroup;
> +
> + list_del_init(&tsk->rg_list);
> + tsk->rdtgroup = NULL;
> + atomic_dec(&rdtgrp->refcount);
> + }
> +}

with complete lack of locking .....

Brilliant stuff that.

tglx