From: Mike Galbraith <umgwanakikbuti@gmail.com>
To: Christoph Lameter <cl@linux.com>, Michal Hocko <mhocko@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable again and shut down on idle)
Date: Tue, 26 Jan 2016 03:14:25 +0100 [thread overview]
Message-ID: <1453774465.3642.13.camel@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1601251152290.19487@east.gentwo.org>
On Mon, 2016-01-25 at 12:02 -0600, Christoph Lameter wrote:
> On Mon, 25 Jan 2016, Michal Hocko wrote:
>
> > On Sat 23-01-16 17:21:55, Mike Galbraith wrote:
> > > Hi Christoph,
> > >
> > > While you're fixing that commit up, can you perhaps find a better home
> > > for quiet_vmstat()? It not only munches cycles when switching cross
> > > -core mightily, for -rt it injects a sleeping lock into the idle task.
> > >
> > > 12.89% [kernel] [k] refresh_cpu_vm_stats.isra.12
> > > 4.75% [kernel] [k] __schedule
> > > 4.70% [kernel] [k] mutex_unlock
> > > 3.14% [kernel] [k] __switch_to
> >
> > Hmm, I wouldn't have expected that refresh_cpu_vm_stats could have
> > such a large footprint. I guess this would be just an expensive noop
> > because we have to check all the zones*counters and do an expensive
> > this_cpu_xchg. Is the whole deferred thing worth this overhead?
>
> Why would the deferring cause this overhead?
Because we schedule to idle cores aggressively, thus we may pop in and
out of idle at high frequency.
> Also there is no cross core activity from quiet_vmstat(). It simply
> disables the local vmstat updates.
Again, the cross core activity is not due to quiet_vmstat(), it is due
to pipe-test threads running on two cores, and meeting quiet_vmstat()
at high frequency.
> > Unless there is a clear and huge win from doing the vmstat update
> > deferrable then I think a revert is more appropriate IMHO.
>
> It reduces the OS events that the application experiences by folding it
> into the tick events. If its not deferrable then a timer event will be
> generated in addition to the tick. We do not want that.
Perf and RT say we don't want quiet_vmstat() in the idle loop either.
-Mike
next prev parent reply other threads:[~2016-01-26 2:14 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-19 0:33 mm, vmstat: kernel BUG at mm/vmstat.c:1408! Sasha Levin
2015-12-19 0:33 ` Sasha Levin
2015-12-21 13:08 ` Christoph Lameter
2015-12-21 13:08 ` Christoph Lameter
2015-12-21 20:28 ` Sasha Levin
2015-12-21 20:28 ` Sasha Levin
2015-12-21 21:07 ` Sasha Levin
2015-12-21 21:07 ` Sasha Levin
2015-12-21 21:14 ` Christoph Lameter
2015-12-21 21:14 ` Christoph Lameter
2015-12-22 17:21 ` Christoph Lameter
2015-12-22 17:21 ` Christoph Lameter
2015-12-24 20:14 ` Sasha Levin
2015-12-29 17:01 ` Christoph Lameter
2015-12-29 17:01 ` Christoph Lameter
2015-12-29 17:18 ` Christoph Lameter
2015-12-29 17:18 ` Christoph Lameter
2016-01-04 18:05 ` Christoph Lameter
2016-01-04 18:05 ` Christoph Lameter
2016-01-04 18:46 ` Sasha Levin
2016-01-04 18:46 ` Sasha Levin
2016-01-12 11:31 ` Shiraz Hashim
2016-01-12 11:31 ` Shiraz Hashim
2016-01-12 12:23 ` Christoph Lameter
2016-01-12 12:23 ` Christoph Lameter
2016-01-12 12:27 ` Shiraz Hashim
2016-01-12 12:27 ` Shiraz Hashim
2016-01-13 11:36 ` Shiraz Hashim
2016-01-13 11:36 ` Shiraz Hashim
2016-01-13 12:32 ` Shiraz Hashim
2016-01-13 12:32 ` Shiraz Hashim
2016-01-14 21:06 ` Sasha Levin
2016-01-14 21:06 ` Sasha Levin
2016-01-20 14:37 ` Michal Hocko
2016-01-20 14:37 ` Michal Hocko
2016-01-20 14:56 ` Sasha Levin
2016-01-20 14:56 ` Sasha Levin
2016-01-20 15:10 ` Michal Hocko
2016-01-20 15:10 ` Michal Hocko
2016-01-20 15:20 ` Christoph Lameter
2016-01-20 15:20 ` Christoph Lameter
2016-01-20 15:49 ` Sasha Levin
2016-01-20 15:49 ` Sasha Levin
2016-01-20 15:55 ` Christoph Lameter
2016-01-20 15:55 ` Christoph Lameter
2016-01-20 21:28 ` Michal Hocko
2016-01-20 21:28 ` Michal Hocko
2016-01-20 21:57 ` Christoph Lameter
2016-01-20 21:57 ` Christoph Lameter
2016-01-21 8:24 ` Michal Hocko
2016-01-21 8:24 ` Michal Hocko
2016-01-21 15:45 ` Christoph Lameter
2016-01-21 15:45 ` Christoph Lameter
2016-01-21 16:51 ` Michal Hocko
2016-01-21 16:51 ` Michal Hocko
2016-01-21 17:38 ` Christoph Lameter
2016-01-21 17:38 ` Christoph Lameter
2016-01-22 11:00 ` Shiraz Hashim
2016-01-22 11:00 ` Shiraz Hashim
2016-01-22 14:04 ` Michal Hocko
2016-01-22 14:04 ` Michal Hocko
2016-01-22 16:07 ` Christoph Lameter
2016-01-22 16:07 ` Christoph Lameter
2016-01-22 16:12 ` Michal Hocko
2016-01-22 16:12 ` Michal Hocko
2016-01-22 16:46 ` Christoph Lameter
2016-01-22 16:46 ` Christoph Lameter
2016-01-22 17:12 ` Michal Hocko
2016-01-22 17:12 ` Michal Hocko
2016-01-23 16:21 ` fast path cycle muncher (vmstat: make vmstat_updater deferrable again and shut down on idle) Mike Galbraith
2016-01-24 0:33 ` Christoph Lameter
2016-01-24 2:46 ` Mike Galbraith
2016-01-24 3:46 ` Christoph Lameter
2016-01-24 5:36 ` Mike Galbraith
2016-01-25 17:42 ` Michal Hocko
2016-01-25 18:02 ` Christoph Lameter
2016-01-25 20:13 ` Michal Hocko
2016-01-26 16:25 ` Christoph Lameter
2016-01-26 18:31 ` Mike Galbraith
2016-01-26 18:34 ` Christoph Lameter
2016-01-26 18:45 ` Mike Galbraith
2016-01-26 19:20 ` Christoph Lameter
2016-01-27 3:12 ` Mike Galbraith
2016-01-27 4:15 ` Mike Galbraith
2016-01-27 16:28 ` Christoph Lameter
2016-01-28 15:36 ` Frederic Weisbecker
2016-01-28 16:42 ` Christoph Lameter
2016-01-26 2:14 ` Mike Galbraith [this message]
2016-01-26 2:25 ` Mike Galbraith
2016-01-26 16:26 ` Christoph Lameter
2016-01-26 17:39 ` Mike Galbraith
2016-01-26 18:19 ` Christoph Lameter
2016-01-26 16:26 ` Christoph Lameter
2016-01-26 17:08 ` Mike Galbraith
2016-01-26 18:22 ` Christoph Lameter
2016-01-26 19:09 ` Mike Galbraith
2016-01-26 19:22 ` Christoph Lameter
2016-01-27 16:48 ` [PATCH] mm, vmstat: make quiet_vmstat lighter (was: Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable) " Michal Hocko
2016-01-27 17:03 ` Mike Galbraith
2016-01-27 18:26 ` Christoph Lameter
2016-01-28 15:21 ` Michal Hocko
2016-01-28 16:40 ` Christoph Lameter
2016-01-28 16:53 ` Michal Hocko
2016-01-28 17:05 ` Christoph Lameter
2016-01-28 15:31 ` Michal Hocko
2016-01-28 15:37 ` [PATCH] vmstat: make vmstat_update deferrable (was: Re: [PATCH] mm, vmstat: make quiet_vmstat lighter) " Michal Hocko
2016-01-28 16:48 ` Christoph Lameter
2016-01-28 16:42 ` [PATCH] mm, vmstat: make quiet_vmstat lighter (was: Re: fast " Christoph Lameter
2016-01-24 16:57 ` mm, vmstat: kernel BUG at mm/vmstat.c:1408! Linus Torvalds
2016-01-24 16:57 ` Linus Torvalds
2016-01-20 15:14 ` Christoph Lameter
2016-01-20 15:14 ` Christoph Lameter
2016-01-20 15:20 ` Michal Hocko
2016-01-20 15:20 ` Michal Hocko
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=1453774465.3642.13.camel@gmail.com \
--to=umgwanakikbuti@gmail.com \
--cc=cl@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@kernel.org \
--cc=peterz@infradead.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.