From: Mike Galbraith <umgwanakikbuti@gmail.com>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Rik van Riel <riel@redhat.com>,
linux-kernel@vger.kernel.org, tglx@linutronix.de,
mingo@kernel.org, peterz@infradead.org, luto@amacapital.net,
Clark Williams <williams@redhat.com>
Subject: Re: [PATCH 2/2] sched,time: call __acct_update_integrals once a jiffy
Date: Sun, 31 Jan 2016 03:52:25 +0100 [thread overview]
Message-ID: <1454208745.3688.14.camel@gmail.com> (raw)
In-Reply-To: <20160130203602.GA7856@lerouge>
On Sat, 2016-01-30 at 21:36 +0100, Frederic Weisbecker wrote:
> On Sat, Jan 30, 2016 at 06:53:05PM +0100, Mike Galbraith wrote:
> > On Sat, 2016-01-30 at 15:20 +0100, Frederic Weisbecker wrote:
> > > On Fri, Jan 29, 2016 at 05:43:28PM -0500, Rik van Riel wrote:
> >
> > > > Run times for the microbenchmark:
> > > >
> > > > 4.4 3.8 seconds
> > > > 4.5-rc1 3.7 seconds
> > > > 4.5-rc1 + first patch 3.3 seconds
> > > > 4.5-rc1 + both patches 2.3 seconds
> > >
> > > Very nice improvement!
> >
> > Tasty indeed.
> >
> > When nohz_full CPUs are not isolated, ie are being used as generic
> > CPUs, get_nohz_timer_target() is a problem with things like tbench.
>
> So by isolated CPU you mean those part of isolcpus= boot option,
> right?
Yes, isolated in the scheduler sense, either via isolcpus= or cpusets.
If the CPU is part of a scheduler domain, it is by definition part of
the generic work crew.
> > tbench 8 with Rik's patches applied:
> > nohz_full=empty
> > Throughput 3204.69 MB/sec 1.000
> > nohz_full=1-3,5-7
> > Throughput 1354.99 MB/sec .422 1.000
> > nohz_full=1-3,5-7 + club below
> > Throughput 2762.22 MB/sec .861 2.038
> >
> > With Rik's patches and a club, tbench becomes nearly acceptable.
> > ---
> > include/linux/tick.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > --- a/include/linux/tick.h
> > +++ b/include/linux/tick.h
> > @@ -184,7 +184,7 @@ static inline const struct cpumask *hous
> > static inline bool is_housekeeping_cpu(int cpu)
> > {
> > #ifdef CONFIG_NO_HZ_FULL
> > - if (tick_nohz_full_enabled())
> > + if (tick_nohz_full_enabled() && runqueue_is_isolated(cpu))
> > return cpumask_test_cpu(cpu, housekeeping_mask);
>
> This makes me confused. How forcing timers to CPUs in isolcpus is making
> better results?
It doesn't, it's shutting get_nohz_timer_target() down for those
nohz_full CPUs that are NOT currently isolated, are thus generic CPUs
with the capability to _become_ elite solo artists on demand.
-Mike
next prev parent reply other threads:[~2016-01-31 2:52 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-29 22:22 [PATCH 0/2] sched,time: reduce nohz_full syscall overhead 40% riel
2016-01-29 22:22 ` [PATCH 1/2] sched,time: remove pointless divides from __acct_update_integrals riel
2016-01-29 23:10 ` Peter Zijlstra
2016-01-30 3:36 ` Frederic Weisbecker
2016-01-30 3:47 ` Rik van Riel
2016-01-29 22:23 ` [PATCH 2/2] sched,time: call __acct_update_integrals once a jiffy riel
2016-01-29 22:43 ` Rik van Riel
2016-01-30 14:20 ` Frederic Weisbecker
2016-01-30 17:53 ` Mike Galbraith
2016-01-30 20:36 ` Frederic Weisbecker
2016-01-31 2:52 ` Mike Galbraith [this message]
2016-01-31 5:37 ` Mike Galbraith
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=1454208745.3688.14.camel@gmail.com \
--to=umgwanakikbuti@gmail.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=tglx@linutronix.de \
--cc=williams@redhat.com \
/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.