Re: [PATCH 1/7] containers (V7): Generic container system abstracted from cpusets code

From: Paul Menage
Date: Mon Feb 12 2007 - 14:27:06 EST


On 2/12/07, Srivatsa Vaddagiri <vatsa@xxxxxxxxxx> wrote:
On Mon, Feb 12, 2007 at 12:15:22AM -0800, menage@xxxxxxxxxx wrote:
> +void container_fork(struct task_struct *child)
> +{
> + task_lock(current);

Can't this be just rcu_read_lock()?


In this particular patch (which is an almost verbatim
extraction/renaming of the generic bits of the cpusets code into
container.c) it probably could - but the main patch that adds the
container_group support would lose it since we use kref to refcount
container_group objects, and hence they're freed when their refcount
reaches zero. RCU is still fine for reading the container_group
pointers, but it's no good for updating them, since by the time you
update it it may no longer be your container_group structure, and may
instead be about to be deleted as soon as the other thread's
rcu_synchronize() completes.

Paul
-
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/