From: Gilad Ben-Yossef <gilad@benyossef.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>,
linux-kernel@vger.kernel.org,
Frederic Weisbecker <fweisbec@gmail.com>,
Russell King <linux@arm.linux.org.uk>,
Chris Metcalf <cmetcalf@tilera.com>,
linux-mm@kvack.org, Christoph Lameter <cl@linux-foundation.org>,
Matt Mackall <mpm@selenic.com>
Subject: Re: [PATCH 5/5] slub: Only IPI CPUs that have per cpu obj to flush
Date: Mon, 26 Sep 2011 11:07:45 +0300 [thread overview]
Message-ID: <CAOtvUMfnrtonwbCn4j=weA-kjf4K0SG2YRwZ-Cy5XONNWyN_pQ@mail.gmail.com> (raw)
In-Reply-To: <1317022565.9084.60.camel@twins>
Hi,
On Mon, Sep 26, 2011 at 10:36 AM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> On Mon, 2011-09-26 at 09:54 +0300, Pekka Enberg wrote:
>>
>> AFAICT, flush_all() isn't all that performance sensitive. Why do we
>> want to reduce IPIs here?
>
> Because it can wake up otherwise idle CPUs, wasting power. Or for the
> case I care more about, unnecessarily perturb a CPU that didn't actually
> have anything to flush but was running something, introducing jitter.
>
> on_each_cpu() things are bad when you have a ton of CPUs (which is
> pretty normal these days).
>
Peter basically already answered better then I could :-)
All I have to add is an example -
flush_all() is called for each kmem_cahce_destroy(). So every cache
being destroyed dynamically ends up sending an IPI to each CPU in the
system, regardless if the cache has ever been used there.
For example, if you close the Infinband ipath driver char device file,
the close file ops calls kmem_cache_destroy().So, if I understand
correctly, running some infiniband config tool on one a single CPU
dedicated to system tasks might interrupt the rest of the 127 CPUs I
dedicated to some CPU intensive task. This is the scenario I'm
tryingto avoid.
I suspect there is a good chance that every line in the output of "git
grep kmem_cache_destroy linux/ | grep '\->'" has a similar scenario
(there are 42 of them).
I hope this sheds some light on the motive of the work.
Thanks!
Gilad
--
Gilad Ben-Yossef
Chief Coffee Drinker
gilad@benyossef.com
Israel Cell: +972-52-8260388
US Cell: +1-973-8260388
http://benyossef.com
"I've seen things you people wouldn't believe. Goto statements used to
implement co-routines. I watched C structures being stored in
registers. All those moments will be lost in time... like tears in
rain... Time to die. "
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-09-26 8:07 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-25 8:54 [PATCH 0/5] Reduce cross CPU IPI interference Gilad Ben-Yossef
2011-09-25 8:54 ` [PATCH 1/5] smp: Introduce a generic on_each_cpu_mask function Gilad Ben-Yossef
2011-09-25 11:37 ` Sasha Levin
2011-09-26 8:48 ` Peter Zijlstra
2011-09-25 8:54 ` [PATCH 2/5] arm: Move arm over to generic on_each_cpu_mask Gilad Ben-Yossef
2011-09-25 8:54 ` [PATCH 3/5] tile: Move tile to use " Gilad Ben-Yossef
2011-09-25 8:54 ` [PATCH 4/5] mm: Only IPI CPUs to drain local pages if they exist Gilad Ben-Yossef
2011-09-26 1:52 ` Shaohua Li
2011-09-26 6:47 ` Gilad Ben-Yossef
2011-09-26 15:24 ` Christoph Lameter
2011-09-27 7:27 ` Gilad Ben-Yossef
2011-09-27 16:13 ` Christoph Lameter
2011-09-26 7:28 ` Peter Zijlstra
2011-09-26 8:39 ` Gilad Ben-Yossef
2011-09-26 7:29 ` Peter Zijlstra
2011-09-25 8:54 ` [PATCH 5/5] slub: Only IPI CPUs that have per cpu obj to flush Gilad Ben-Yossef
2011-09-26 6:54 ` Pekka Enberg
2011-09-26 7:36 ` Peter Zijlstra
2011-09-26 8:07 ` Gilad Ben-Yossef [this message]
2011-09-26 10:03 ` Pekka Enberg
2011-09-26 8:10 ` Gilad Ben-Yossef
2011-09-26 7:33 ` Peter Zijlstra
2011-09-26 8:35 ` Gilad Ben-Yossef
2011-09-26 9:28 ` Pekka Enberg
2011-09-26 9:45 ` Peter Zijlstra
2011-09-26 12:05 ` Gilad Ben-Yossef
2011-09-26 13:49 ` Gilad Ben-Yossef
2011-09-26 7:20 ` [PATCH 0/5] Reduce cross CPU IPI interference Peter Zijlstra
2011-09-26 8:43 ` Gilad Ben-Yossef
2011-09-26 8:46 ` Peter Zijlstra
2011-09-28 13:00 ` Chris Metcalf
2011-10-02 8:44 ` Gilad Ben-Yossef
2011-10-02 14:58 ` Chris Metcalf
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='CAOtvUMfnrtonwbCn4j=weA-kjf4K0SG2YRwZ-Cy5XONNWyN_pQ@mail.gmail.com' \
--to=gilad@benyossef.com \
--cc=a.p.zijlstra@chello.nl \
--cc=cl@linux-foundation.org \
--cc=cmetcalf@tilera.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux@arm.linux.org.uk \
--cc=mpm@selenic.com \
--cc=penberg@cs.helsinki.fi \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox