[lkml]   [2011]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch V3] percpu_counter: scalability works
    Le lundi 16 mai 2011 à 14:37 +0800, Shaohua Li a écrit :
    > On Mon, 2011-05-16 at 14:11 +0800, Eric Dumazet wrote:
    > > Le lundi 16 mai 2011 à 08:58 +0800, Shaohua Li a écrit :
    > >
    > > > so if _sum starts and ends here, _sum can still get deviation.
    > >
    > > This makes no sense at all. If you have so many cpus 'here' right before
    > > you increment fbc->sum_cnt, then no matter how precise and super
    > > cautious you are in your _sum() implementation, as soon as you exit from
    > > sum(), other cpus already changed the percpu counter global value.
    > I don't agree here. The original implementation also just has quite
    > small window we have deviation, the window only exists between the two
    > lines:
    > atomic64_add(count, &fbc->count);
    > __this_cpu_write(*fbc->counters, 0);
    > if you think we should ignore it, we'd better not use any protection
    > here.

    Not at all. Your version didnt forbid new cpu to come in _add() and
    hitting the deviation problem.

    There is a small difference, or else I wouldnt had bother.

    > as I wrote in the email, the atomic and cacheline issue can be resolved
    > with a per_cpu data, I just didn't post the patch. I post it this time,
    > please see below. There is no cache line bounce anymore.

    I am afraid we make no progress at all here, if you just try to push
    your patch and ignore my comments.

    percpu_counter is a compromise, dont make it too slow for normal
    operations. It works well if most _add() operations only go through
    percpu data.

    Please just move vm_committed_as to a plain atomic_t, this will solve
    your problem.


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2011-05-16 08:57    [W:0.045 / U:2.084 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site