From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Afzal Mohammed <afzal.mohd.ma@gmail.com>,
Mike Galbraith <umgwanakikbuti@gmail.com>,
Sasha Levin <levinsasha928@gmail.com>,
Ingo Molnar <mingo@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Chris Metcalf <cmetcalf@ezchip.com>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
Peter Zijlstra <peterz@infradead.org>,
Dave Jones <davej@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Oleg Nesterov <oleg@redhat.com>, Ingo Molnar <mingo@redhat.com>,
Rik van Riel <riel@redhat.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>
Subject: Re: [PATCH 4/4] nohz: Set isolcpus when nohz_full is set
Date: Thu, 21 May 2015 06:27:05 -0700 [thread overview]
Message-ID: <20150521132704.GN6776@linux.vnet.ibm.com> (raw)
In-Reply-To: <20150521130621.GA14324@lerouge>
On Thu, May 21, 2015 at 03:06:23PM +0200, Frederic Weisbecker wrote:
> On Thu, May 21, 2015 at 05:57:59AM -0700, Paul E. McKenney wrote:
> > On Thu, May 21, 2015 at 05:42:46PM +0530, Afzal Mohammed wrote:
> > > Hi,
> > >
> > > On Wed, May 20, 2015 at 02:00:26PM -0700, Paul E. McKenney wrote:
> > >
> > > > > > Given that kernel initiated association to isolcpus, a user turning
> > > > > > NO_HZ_FULL_ALL on had better not have much generic load to manage. If
> > > > >
> > > > > On a quad-core desktop system with NO_HZ_FULL_ALL, hackbench took 3x
> > > > > time as compared to w/o this patch, except boot cpu every one else
> > > > > jobless. Though NO_HZ_FULL_ALL (afaik) is not meant for generic load,
> > > > > it was working fine, but not after this - it is now like a single core
> > > > > system.
> > > >
> > > > I have to ask... What is your use case? What are you wanting NO_HZ_FULL
> > > > to do for you?
> > >
> > > I was just playing NO_HZ_FULL with tip-[sched,timers]-* changes.
> > >
> > > Thought that shutting down ticks as much as possible would be
> > > beneficial to normal loads too, though it has been mentioned to be used
> > > for specialized loads. Seems like drawbacks due to it weigh against
> > > normal loads, but haven't so far observed any (on a laptop with normal
> > > activities) before this change.
> >
> > Indeed, NO_HZ_FULL is special purpose. You normally would select
> > NO_HZ_FULL_ALL only on a system intended for heavy compute without
> > normal-workload distractions or for some real-time systems. For mixed
> > workloads, you would build with NO_HZ_FULL (but not NO_HZ_FULL_ALL) and
> > use the boot parameters to select which CPUs are to be running the
> > specialized portion of the workload.
> >
> > And you would of course need to lead enough CPUs running normally to
> > handle the non-specialized portion of the workload.
> >
> > This sort of thing has traditionally required specialized kernels,
> > so the cool thing here is that we can make Linux do it. Though, as
> > you noticed, careful configuration is still required.
> >
> > Seem reasonable?
>
> That said if he saw a big performance regression after applying these patches,
> then there is likely a problem in the patchset. Well it could be due to that mode
> which loops on full dynticks before resuming to userspace. Indeed when that is
> enabled, I expect real throughput issues on workloads doing lots of kernel <->
> userspace roundtrips. We just need to make sure this thing only works when requested.
>
> Anyway, I need to look at the patchset.
Fair enough!
Thanx, Paul
next prev parent reply other threads:[~2015-05-21 13:27 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-06 16:04 [GIT PULL] nohz: A few improvements v4 Frederic Weisbecker
2015-05-06 16:04 ` [PATCH 1/4] context_tracking: Protect against recursion Frederic Weisbecker
2015-05-07 9:58 ` Ingo Molnar
2015-05-07 11:53 ` Frederic Weisbecker
2015-05-07 11:31 ` [tip:timers/nohz] " tip-bot for Frederic Weisbecker
2015-05-06 16:04 ` [PATCH 2/4] context_tracking: Inherit TIF_NOHZ through forks instead of context switches Frederic Weisbecker
2015-05-07 11:31 ` [tip:timers/nohz] " tip-bot for Frederic Weisbecker
2015-05-06 16:04 ` [PATCH 3/4] nohz: Add tick_nohz_full_add_cpus_to() API Frederic Weisbecker
2015-05-07 11:31 ` [tip:timers/nohz] " tip-bot for Chris Metcalf
2015-05-06 16:04 ` [PATCH 4/4] nohz: Set isolcpus when nohz_full is set Frederic Weisbecker
2015-05-07 11:32 ` [tip:timers/nohz] " tip-bot for Chris Metcalf
2015-05-16 19:39 ` [PATCH 4/4] " Sasha Levin
2015-05-17 5:30 ` Mike Galbraith
2015-05-18 2:17 ` Rik van Riel
2015-05-18 3:29 ` Mike Galbraith
2015-05-18 14:07 ` Rik van Riel
2015-05-18 14:22 ` Mike Galbraith
2015-05-18 14:52 ` Rik van Riel
2015-05-19 2:30 ` Mike Galbraith
2015-06-12 19:12 ` Rik van Riel
2015-05-20 20:38 ` Afzal Mohammed
2015-05-20 21:00 ` Paul E. McKenney
2015-05-21 12:12 ` Afzal Mohammed
2015-05-21 12:57 ` Paul E. McKenney
2015-05-21 13:06 ` Frederic Weisbecker
2015-05-21 13:27 ` Paul E. McKenney [this message]
2015-05-21 13:29 ` Afzal Mohammed
2015-05-21 14:14 ` Paul E. McKenney
2015-05-21 14:46 ` Frederic Weisbecker
2015-05-21 18:59 ` Mike Galbraith
2015-05-22 14:39 ` Frederic Weisbecker
2015-05-22 15:20 ` Mike Galbraith
-- strict thread matches above, loose matches on Subject: below --
2015-04-24 15:58 [PATCH 0/4] nohz: A few improvements v3 Frederic Weisbecker
2015-04-24 15:58 ` [PATCH 4/4] nohz: Set isolcpus when nohz_full is set Frederic Weisbecker
2015-04-24 20:07 ` Gene Heskett
2015-04-25 23:13 ` Frederic Weisbecker
2015-04-25 23:50 ` Gene Heskett
2015-04-21 12:23 [PATCH 0/4] nohz: A few improvements v2 Frederic Weisbecker
2015-04-21 12:23 ` [PATCH 4/4] nohz: Set isolcpus when nohz_full is set Frederic Weisbecker
2015-04-03 16:24 [PATCH 1/2] nohz: add tick_nohz_full_set_cpus() API cmetcalf
2015-04-03 16:24 ` [PATCH 2/2] nohz: make nohz_full imply isolcpus cmetcalf
2015-04-03 17:42 ` Frederic Weisbecker
2015-04-03 19:20 ` Chris Metcalf
2015-04-04 14:10 ` Rik van Riel
2015-04-04 17:09 ` Chris Metcalf
2015-04-05 5:05 ` Ingo Molnar
2015-04-06 17:15 ` Chris Metcalf
2015-04-06 18:16 ` [PATCH v2 1/2] nohz: add tick_nohz_full_clear_cpus() and _set_cpus() APIs cmetcalf
2015-04-06 18:16 ` [PATCH v2 2/2] nohz: make nohz_full imply isolcpus cmetcalf
2015-04-07 22:29 ` Frederic Weisbecker
2015-04-08 9:41 ` Peter Zijlstra
2015-04-08 14:04 ` Chris Metcalf
2015-04-08 14:26 ` Peter Zijlstra
2015-04-08 15:21 ` Chris Metcalf
2015-04-08 17:24 ` Frederic Weisbecker
2015-04-08 19:20 ` [PATCH v3 1/2] nohz: add tick_nohz_full_clear_cpus() and _set_cpus() APIs cmetcalf
2015-04-08 19:20 ` [PATCH v3 2/2] nohz: set isolcpus when nohz_full is set cmetcalf
2015-04-08 17:27 ` [PATCH v2 2/2] nohz: make nohz_full imply isolcpus Peter Zijlstra
2015-04-08 18:12 ` Chris Metcalf
2015-04-09 8:29 ` Peter Zijlstra
2015-04-09 12:02 ` Chris Metcalf
2015-04-09 12:45 ` Frederic Weisbecker
2015-04-09 16:59 ` [PATCH v5] nohz: set isolcpus when nohz_full is set Chris Metcalf
2015-04-09 17:12 ` Peter Zijlstra
2015-04-10 1:05 ` Mike Galbraith
2015-04-10 15:33 ` Chris Metcalf
2015-04-10 15:57 ` Mike Galbraith
2015-04-09 17:00 ` [PATCH v4 1/2] nohz: add tick_nohz_full_cpumask_or() and _andnot() APIs Chris Metcalf
2015-04-09 17:00 ` [PATCH v4 2/2] nohz: set isolcpus when nohz_full is set Chris Metcalf
2015-04-09 17:07 ` [PATCH v4 1/2] nohz: add tick_nohz_full_cpumask_or() and _andnot() APIs Peter Zijlstra
2015-04-09 17:24 ` Chris Metcalf
2015-04-09 17:42 ` Peter Zijlstra
2015-04-09 18:01 ` [PATCH v6 1/2] nohz: add tick_nohz_full_add_cpus_to() and _remove_cpus_from() APIs Chris Metcalf
2015-04-09 18:01 ` [PATCH v6 2/2] nohz: set isolcpus when nohz_full is set Chris Metcalf
2015-04-10 1:37 ` Frederic Weisbecker
2015-04-10 20:53 ` [PATCH v7 1/2] nohz: add tick_nohz_full_add_cpus_to() and _remove_cpus_from() APIs Chris Metcalf
2015-04-10 20:53 ` [PATCH v7 2/2] nohz: set isolcpus when nohz_full is set Chris Metcalf
2015-04-14 0:37 ` Frederic Weisbecker
2015-04-14 15:17 ` [PATCH v8 1/2] nohz: add tick_nohz_full_add_cpus_to() API Chris Metcalf
2015-04-14 15:17 ` [PATCH v8 2/2] nohz: set isolcpus when nohz_full is set Chris Metcalf
2015-04-14 15:26 ` Frederic Weisbecker
2015-04-14 16:45 ` Peter Zijlstra
2015-04-14 0:33 ` [PATCH v7 1/2] nohz: add tick_nohz_full_add_cpus_to() and _remove_cpus_from() APIs Frederic Weisbecker
2015-04-14 0:49 ` Chris Metcalf
2015-04-14 15:34 ` Frederic Weisbecker
2015-04-10 1:34 ` [PATCH v6 " Frederic Weisbecker
2015-04-10 15:31 ` Chris Metcalf
2015-04-06 18:29 ` [PATCH v2 1/2] nohz: add tick_nohz_full_clear_cpus() and _set_cpus() APIs Frederic Weisbecker
2015-04-06 19:09 ` Chris Metcalf
2015-04-07 9:33 ` Ingo Molnar
2015-04-03 18:08 ` [PATCH 2/2] nohz: make nohz_full imply isolcpus Mike Galbraith
2015-04-03 19:21 ` Chris Metcalf
2015-04-04 2:03 ` Mike Galbraith
2015-04-04 3:43 ` Mike Galbraith
2015-04-06 19:28 ` Rik van Riel
2015-04-07 3:10 ` 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=20150521132704.GN6776@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=afzal.mohd.ma@gmail.com \
--cc=cmetcalf@ezchip.com \
--cc=davej@redhat.com \
--cc=fweisbec@gmail.com \
--cc=levinsasha928@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=rafael.j.wysocki@intel.com \
--cc=riel@redhat.com \
--cc=schwidefsky@de.ibm.com \
--cc=tglx@linutronix.de \
--cc=umgwanakikbuti@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).