From: Shaohua Li <shaohua.li@intel.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Tejun Heo <tj@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"cl@linux.com" <cl@linux.com>,
"npiggin@kernel.dk" <npiggin@kernel.dk>
Subject: Re: [patch V3] percpu_counter: scalability works
Date: Tue, 17 May 2011 08:55:51 +0800 [thread overview]
Message-ID: <1305593751.2375.69.camel@sli10-conroe> (raw)
In-Reply-To: <1305555736.2898.46.camel@edumazet-laptop>
On Mon, 2011-05-16 at 22:22 +0800, Eric Dumazet wrote:
> Le lundi 16 mai 2011 à 11:35 +0200, Eric Dumazet a écrit :
>
> > Given that vm_committed has one percent resolution need
> > (sysctl_overcommit_ratio is expressed with percent resolution), it
> > should be used with an appropriate batch value, something like :
> >
> > vm_committed_as_batch = max(percpu_counter_batch,
> > total_ram_pages/(num_possible_cpus()*100));
> >
>
>
> Funny thing with vm_committed_as is we dont even read its value with
> default vm configuration
>
> (sysctl_overcommit_memory == OVERCOMMIT_ALWAYS or OVERCOMMIT_GUESS)
>
> [ In this case, we read it only for /proc/meminfo output ]
>
> Ideally, we could dynamically change vm_committed_as_batch when
> sysctl_overcommit_memory or other param is changed. This would need a
> mechanism to ask all cpus to transfert/clear their local s32 into global
> fbc->count [when lowering vm_committed_as_batch]
I actually posted something like this before
http://marc.info/?l=linux-mm&m=130144785326028&w=2
but this could affect /proc/meminfo read.
> Another idea would be to use an atomic when manipulating the percpu s32,
> so that __percpu_counter_sum() is able to make this operation itself :
> At the end of __percpu_counter_sum(), fbc->count would be the final
> result, and all s32 would be zero, unless some cpus called _add()
> meanwhile.
don't understand it. But if concurrent _add can introduce deviation,
this is good.
I'm still interesting in improving percpu_counter itself. If we can
improve it, why we don't? My patch doesn't slow down anything for all
tests. Why didn't you ever look at it?
Thanks,
Shaohua
next prev parent reply other threads:[~2011-05-17 0:55 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-11 8:10 [patch v2 0/5] percpu_counter: bug fix and enhancement Shaohua Li
2011-05-11 8:10 ` [patch v2 1/5] percpu_counter: fix code for 32bit systems for UP Shaohua Li
2011-05-11 8:10 ` [patch v2 2/5] lglock: convert it to work with dynamically allocated structure Shaohua Li
2011-05-11 8:10 ` [patch v2 3/5] percpu_counter: use lglock to protect percpu data Shaohua Li
2011-05-11 8:10 ` [patch v2 4/5] percpu_counter: use atomic64 for counter in SMP Shaohua Li
2011-05-11 9:34 ` Andrew Morton
2011-05-12 2:40 ` Shaohua Li
2011-05-11 8:10 ` [patch v2 5/5] percpu_counter: preemptless __per_cpu_counter_add Shaohua Li
2011-05-11 9:28 ` [patch v2 0/5] percpu_counter: bug fix and enhancement Tejun Heo
2011-05-12 2:48 ` Shaohua Li
2011-05-12 8:21 ` Tejun Heo
2011-05-12 8:55 ` Shaohua Li
2011-05-12 8:59 ` Tejun Heo
2011-05-12 9:02 ` Eric Dumazet
2011-05-12 9:03 ` Eric Dumazet
2011-05-12 9:05 ` Tejun Heo
2011-05-13 3:09 ` Shaohua Li
2011-05-13 4:37 ` Shaohua Li
2011-05-13 5:20 ` Eric Dumazet
2011-05-13 5:28 ` Shaohua Li
2011-05-13 6:34 ` Eric Dumazet
2011-05-13 7:33 ` Shaohua Li
2011-05-13 14:51 ` [patch] percpu_counter: scalability works Eric Dumazet
2011-05-13 15:39 ` Eric Dumazet
2011-05-13 16:35 ` [patch V2] " Eric Dumazet
2011-05-13 16:46 ` Eric Dumazet
2011-05-13 22:03 ` [patch V3] " Eric Dumazet
2011-05-16 0:58 ` Shaohua Li
2011-05-16 6:11 ` Eric Dumazet
2011-05-16 6:37 ` Shaohua Li
2011-05-16 6:55 ` Eric Dumazet
2011-05-16 7:15 ` Shaohua Li
2011-05-16 7:44 ` Eric Dumazet
2011-05-16 8:34 ` Shaohua Li
2011-05-16 9:35 ` Eric Dumazet
2011-05-16 14:22 ` Eric Dumazet
2011-05-17 0:55 ` Shaohua Li [this message]
2011-05-17 4:56 ` Eric Dumazet
2011-05-17 5:22 ` Shaohua Li
2011-05-17 9:01 ` Eric Dumazet
2011-05-17 9:11 ` Tejun Heo
2011-05-17 9:45 ` Eric Dumazet
2011-05-17 9:50 ` Tejun Heo
2011-05-17 12:20 ` Eric Dumazet
2011-05-17 12:45 ` Tejun Heo
2011-05-17 13:00 ` Eric Dumazet
2011-05-17 13:04 ` Tejun Heo
2011-05-17 13:55 ` Christoph Lameter
2011-05-17 14:02 ` Tejun Heo
2011-05-17 14:38 ` Christoph Lameter
2011-05-18 1:00 ` Shaohua Li
2011-05-12 14:38 ` [patch v2 0/5] percpu_counter: bug fix and enhancement Christoph Lameter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1305593751.2375.69.camel@sli10-conroe \
--to=shaohua.li@intel.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux.com \
--cc=eric.dumazet@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=npiggin@kernel.dk \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.