From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Josh Triplett <josh@joshtriplett.org>
Cc: linux-kernel@vger.kernel.org, mingo@kernel.org,
laijs@cn.fujitsu.com, dipankar@in.ibm.com,
akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
niv@us.ibm.com, tglx@linutronix.de, peterz@infradead.org,
rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com,
darren@dvhart.com, fweisbec@gmail.com, oleg@redhat.com,
sbw@mit.edu
Subject: Re: [PATCH tip/core/timers 2/4] timers: Reduce __run_timers() latency for empty list
Date: Wed, 15 Jan 2014 18:23:56 -0800 [thread overview]
Message-ID: <20140116022356.GR10038@linux.vnet.ibm.com> (raw)
In-Reply-To: <20140115203354.GC11147@jtriplet-mobl1>
On Wed, Jan 15, 2014 at 12:33:55PM -0800, Josh Triplett wrote:
> On Tue, Jan 14, 2014 at 09:20:46PM -0800, Paul E. McKenney wrote:
> > From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
> >
> > The __run_timers() function currently steps through the list one jiffy at
> > a time in order to update the timer wheel. However, if the timer wheel
> > is empty, no adjustment is needed other than updating ->timer_jiffies.
> > In this case, which is likely to be common for NO_HZ_FULL kernels, the
> > kernel currently incurs a large latency for no good reason. This commit
> > therefore short-circuits this case.
> >
> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > ---
> > kernel/timer.c | 15 +++++++++++++++
> > 1 file changed, 15 insertions(+)
> >
> > diff --git a/kernel/timer.c b/kernel/timer.c
> > index 2245b7374c3d..295837e5e011 100644
> > --- a/kernel/timer.c
> > +++ b/kernel/timer.c
> > @@ -338,6 +338,17 @@ void set_timer_slack(struct timer_list *timer, int slack_hz)
> > }
> > EXPORT_SYMBOL_GPL(set_timer_slack);
> >
> > +static bool catchup_timer_jiffies(struct tvec_base *base)
> > +{
> > +#ifdef CONFIG_NO_HZ_FULL
> > + if (!base->all_timers) {
> > + base->timer_jiffies = jiffies;
> > + return 1;
> > + }
> > +#endif /* #ifdef CONFIG_NO_HZ_FULL */
> > + return 0;
> > +}
>
> In a function with return type "bool", please use true/false, not 1/0.
>
> Please also document the semantic of the return value.
Done for both, thank you.
Thanx, Paul
next prev parent reply other threads:[~2014-01-16 2:24 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-15 5:19 [PATCH v2 tip/core/timers] Crude timer-wheel latency hacks Paul E. McKenney
2014-01-15 5:20 ` [PATCH tip/core/timers 1/4] timers: Track total number of timers in list Paul E. McKenney
2014-01-15 5:20 ` [PATCH tip/core/timers 2/4] timers: Reduce __run_timers() latency for empty list Paul E. McKenney
2014-01-15 17:03 ` Oleg Nesterov
2014-01-15 17:10 ` Peter Zijlstra
2014-01-16 2:14 ` Paul E. McKenney
2014-01-15 17:38 ` Oleg Nesterov
2014-01-15 20:32 ` Josh Triplett
2014-01-15 20:47 ` Steven Rostedt
2014-01-16 2:22 ` Paul E. McKenney
2014-01-15 20:33 ` Josh Triplett
2014-01-16 2:23 ` Paul E. McKenney [this message]
2014-01-15 5:20 ` [PATCH tip/core/timers 3/4] timers: Reduce future __run_timers() latency for newly emptied list Paul E. McKenney
2014-01-15 17:08 ` Oleg Nesterov
2014-01-16 2:23 ` Paul E. McKenney
2014-01-15 20:54 ` Steven Rostedt
2014-01-15 23:41 ` Paul E. McKenney
2014-01-15 5:20 ` [PATCH tip/core/timers 4/4] timers: Reduce future __run_timers() latency for first add to empty list Paul E. McKenney
2014-01-15 17:24 ` Oleg Nesterov
2014-01-15 17:31 ` [PATCH 0/1] timers: internal_add_timer() should update ->next_timer if ->active_timers == 0 Oleg Nesterov
2014-01-15 17:31 ` [PATCH 1/1] " Oleg Nesterov
2014-01-15 20:56 ` Steven Rostedt
2014-01-16 2:10 ` Paul E. McKenney
2014-01-16 2:33 ` [PATCH tip/core/timers 4/4] timers: Reduce future __run_timers() latency for first add to empty list Paul E. McKenney
2014-01-15 22:22 ` [PATCH v2 tip/core/timers] Crude timer-wheel latency hacks Thomas Gleixner
2014-01-16 2:36 ` Paul E. McKenney
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=20140116022356.GR10038@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=darren@dvhart.com \
--cc=dhowells@redhat.com \
--cc=dipankar@in.ibm.com \
--cc=edumazet@google.com \
--cc=fweisbec@gmail.com \
--cc=josh@joshtriplett.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mingo@kernel.org \
--cc=niv@us.ibm.com \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=sbw@mit.edu \
--cc=tglx@linutronix.de \
/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.