[lkml]   [2009]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC][PATCH] lib: generic percpu counter array
    On Thu, 5 Nov 2009 10:20:18 -0500 (EST)
    Christoph Lameter <> wrote:

    > On Thu, 5 Nov 2009, KAMEZAWA Hiroyuki wrote:
    > > Anothter major percpu coutner is vm_stat[]. This patch implements
    > > vm_stat[] style counter array in lib/percpu_counter.c
    > > This is designed for introducing vm_stat[] style counter to memcg,
    > > but maybe useful for other people. By using this, counter array
    > > using percpu can be implemented easily in compact structure.
    > Note that vm_stat support was written that way because we have extreme
    > space constraints due to the need to keep statistics per zone and per cpu
    > and avoid cache line pressure that would result through the use of big
    > integer arrays per zone and per cpu. For a large number of zones and cpus
    > this is desastrous.
    > If you only need to keep statistics per cpu for an entity then the vmstat
    > approach is overkill. A per cpu allocation of a counter is enough.
    counter per memcg is required.
    Memcg uses its own one but I want to remove it. (it doesn't consider memory
    What I can use under /lib is percpu_counter, but it's really overkill.

    My concern on pure percpu counter is "read" side.
    Now, we read counters only via status file and sometimes vmscan will read it.
    For supporting dirty_ratio, we need to read them more.
    I'll check I can move it to pure percpu counter as you do in mm_counters and
    see how read side is affected by for_each_possible_cpu(). Anyway, it's
    better than current one.


     \ /
      Last update: 2009-11-06 02:01    [W:0.049 / U:120.064 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site