lkml.org 
[lkml]   [2008]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Make cgroup_path() RCU-safe
    Paul Menage wrote:
    > Make cgroup_path() RCU safe
    >
    > This patch fixes races between /proc/sched_debug by freeing
    > cgroup objects via an RCU callback. Thus any cgroup reference obtained
    > from an RCU-safe source will remain valid during the RCU section. Since
    > dentries are also RCU-safe, this allows us to traverse up the tree safely.
    >
    > Additionally, make cgroup_path() check for a NULL cgrp->dentry to avoid
    > trying to report a path for a partially-created cgroup.
    >
    > Signed-off-by: Paul Menage <menage@google.com>
    >

    Thanks!

    Reviewed-by: Li Zefan <lizf@cn.fujitsu.com>
    Tested-by: Li Zefan <lizf@cn.fujitsu.com>

    But the patch is word wrapped..

    > --
    >
    > There are more RCU changes that I can make for 2.6.29+, but this
    > should fix the problem in 2.6.28

    ...

    > +/*
    > + * cgroup_path() fills in a filesystem-like path for the given cgroup
    > + * into "buf", up to "buflen" characters. Should be called with
    > + * cgroup_mutex held, or else in an RCU section with an RCU-protected
    > + * cgroup reference
    > + */

    minor comment:

    We already have kernel-doc for cgroup_path(), why do we need those comments
    in cgroup.h.

    > int cgroup_path(const struct cgroup *cgrp, char *buf, int buflen);
    >


    \
     
     \ /
      Last update: 2008-12-17 02:21    [W:0.023 / U:301.424 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site