[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130321171806.GX3637@linux.vnet.ibm.com>
Date: Thu, 21 Mar 2013 10:18:06 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Arjan van de Ven <arjan@...ux.intel.com>
Cc: Steven Rostedt <rostedt@...dmis.org>,
Frederic Weisbecker <fweisbec@...il.com>,
Rob Landley <rob@...dley.net>, linux-kernel@...r.kernel.org,
josh@...htriplett.org, zhong@...ux.vnet.ibm.com,
khilman@...aro.org, geoff@...radead.org, tglx@...utronix.de
Subject: Re: [PATCH] nohz1: Documentation
On Thu, Mar 21, 2013 at 08:45:07AM -0700, Arjan van de Ven wrote:
> On 3/20/2013 5:27 PM, Steven Rostedt wrote:
> >I'm not sure I would recommend idle=poll either. It would certainly
> >work, but it goes to the other extreme. You think NO_HZ=n drains a
> >battery? Try idle=poll.
>
>
> do not ever use idle=poll on anything production.. really bad idea.
>
> if you temporary cannot cope with the latency, you can use the PMQOS system
> to limit (including going all the way to idle=poll).
> but using idle=poll completely is very nasty for the hardware.
>
> In addition we should document that idle=poll will cost you peak performance,
> possibly quite a bit.
>
> the same is true for the kernel paramter to some extend; it's there to work around
> broken bioses/hardware/etc; if you have a latency/runtime requirement, it's much better
> to use PMQOS for this from userspace.
Thank you for the info, Arjan! Does the following capture the tradeoffs?
o Dyntick-idle slows transitions to and from idle slightly.
In practice, this has not been a problem except for the most
aggressive real-time workloads, which have the option of disabling
dyntick-idle mode, an option that most of them take. However,
some workloads will no doubt want to use adaptive ticks to
eliminate scheduling-clock-tick latencies. Here are some
options for these workloads:
o Use PMQOS from userspace to inform the kernel of your
latency requirements (preferred).
o Use the "idle=mwait" boot parameter.
o Use the "intel_idle.max_cstate=" to limit the maximum
depth C-state depth.
o Use the "idle=poll" boot parameter. However, please note
that use of this parameter can cause your CPU to overheat,
which may cause thermal throttling to degrade your
latencies --and that this degradation can be even worse
than that of dyntick-idle.
Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists