On Wed, 2008-12-17 at 11:55 -0600, Serge E. Hallyn wrote:
> -void free_ipc_ns(struct kref *kref)
> +void put_ipc_ns(struct ipc_namespace *ns)
>  {
> -       struct ipc_namespace *ns;
> +       if (ns && atomic_dec_and_lock(&ns->count, &mq_lock)) {
> +               mq_clear_sbinfo(ns);
> +               spin_unlock(&mq_lock);
> +               mq_put_mnt(ns);
> +               free_ipc_ns(ns);
> +       }
> +}

OK, I see now why you wanted to remove the kref and add an atomic_t.
That's probably worth a sentence in the patch description.

I know that atomic_dec_and_lock() can be a nice logical thing to do, but
is it necessary here?  Basically, is there something that happens under
mq_lock that can re-raise the ns->count?

-- Dave

_______________________________________________
Containers mailing list
contain...@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
Devel@openvz.org
https://openvz.org/mailman/listinfo/devel

Reply via email to