lkml.org 
[lkml]   [2013]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 4/7] memcg: remove memcg from the reclaim iterators
    On Wed 13-02-13 11:34:59, Michal Hocko wrote:
    > On Tue 12-02-13 12:37:41, Johannes Weiner wrote:
    > > On Tue, Feb 12, 2013 at 06:12:16PM +0100, Michal Hocko wrote:
    > [...]
    > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c
    > > > index 727ec39..31bb9b0 100644
    > > > --- a/mm/memcontrol.c
    > > > +++ b/mm/memcontrol.c
    > > > @@ -144,8 +144,13 @@ struct mem_cgroup_stat_cpu {
    > > > };
    > > >
    > > > struct mem_cgroup_reclaim_iter {
    > > > - /* last scanned hierarchy member with elevated css ref count */
    > > > + /*
    > > > + * last scanned hierarchy member. Valid only if last_dead_count
    > > > + * matches memcg->dead_count of the hierarchy root group.
    > > > + */
    > > > struct mem_cgroup *last_visited;
    > > > + unsigned int last_dead_count;
    > >
    > > Since we read and write this without a lock, I would feel more
    > > comfortable if this were a full word, i.e. unsigned long. That
    > > guarantees we don't see any partial states.
    >
    > OK. Changed. Although I though that int is read/modified atomically as
    > well if it is aligned to its size.

    Ohh, I guess what was your concern. If last_dead_count was int then it
    would fit into the same full word slot with generation and so the
    parallel read-modify-update cycle could be an issue.

    --
    Michal Hocko
    SUSE Labs


    \
     
     \ /
      Last update: 2013-02-13 14:41    [W:3.277 / U:0.524 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site