From: Jason Low <jason.low2@hp.com>
To: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Oleg Nesterov <oleg@redhat.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org,
Frederic Weisbecker <fweisbec@gmail.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Davidlohr Bueso <dave@stgolabs.net>,
Steven Rostedt <rostedt@goodmis.org>,
Andrew Morton <akpm@linux-foundation.org>,
Terry Rudd <terry.rudd@hp.com>, Rik van Riel <riel@redhat.com>,
Scott J Norton <scott.norton@hp.com>,
Jason Low <jason.low2@hp.com>
Subject: [PATCH 2/3] timer: Check thread timers only when there are active thread timers
Date: Tue, 25 Aug 2015 20:17:47 -0700 [thread overview]
Message-ID: <1440559068-29680-3-git-send-email-jason.low2@hp.com> (raw)
In-Reply-To: <1440559068-29680-1-git-send-email-jason.low2@hp.com>
The fastpath_timer_check() contains logic to check for if any timers
are set by checking if !task_cputime_zero(). Similarly, we can do this
before calling check_thread_timers(). In the case where there
are only process-wide timers, this will skip all the computations for
the per-thread timers when there are no per-thread timers.
Signed-off-by: Jason Low <jason.low2@hp.com>
---
kernel/time/posix-cpu-timers.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
index 02596ff..535bef5 100644
--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
@@ -1168,11 +1168,13 @@ void run_posix_cpu_timers(struct task_struct *tsk)
if (!lock_task_sighand(tsk, &flags))
return;
/*
- * Here we take off tsk->signal->cpu_timers[N] and
- * tsk->cpu_timers[N] all the timers that are firing, and
- * put them on the firing list.
+ * If there are active per-thread timers, take off
+ * tsk->signal->cpu_timers[N] and tsk->cpu_timers[N] all the
+ * timers that are firing, and put them on the firing list.
*/
- check_thread_timers(tsk, &firing);
+ if (!task_cputime_zero(&tsk->cputime_expires))
+ check_thread_timers(tsk, &firing);
+
/*
* If there are any active process wide timers (POSIX 1.b, itimers,
* RLIMIT_CPU) cputimer must be running.
--
1.7.2.5
next prev parent reply other threads:[~2015-08-26 3:18 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-26 3:17 [PATCH 0/3] timer: Improve itimers scalability Jason Low
2015-08-26 3:17 ` [PATCH 1/3] timer: Optimize fastpath_timer_check() Jason Low
2015-08-26 21:57 ` Frederic Weisbecker
2015-08-31 15:15 ` Davidlohr Bueso
2015-08-31 19:40 ` Jason Low
2015-08-26 3:17 ` Jason Low [this message]
2015-08-26 3:17 ` [PATCH 3/3] timer: Reduce unnecessary sighand lock contention Jason Low
2015-08-26 17:53 ` Linus Torvalds
2015-08-26 22:31 ` Frederic Weisbecker
2015-08-26 22:57 ` Jason Low
2015-08-26 22:56 ` Frederic Weisbecker
2015-08-26 23:32 ` Jason Low
2015-08-27 4:52 ` Jason Low
2015-08-27 12:53 ` Frederic Weisbecker
2015-08-27 20:29 ` Jason Low
2015-08-27 21:12 ` Frederic Weisbecker
2015-08-26 3:27 ` [PATCH 0/3] timer: Improve itimers scalability Andrew Morton
2015-08-26 16:33 ` Jason Low
2015-08-26 17:08 ` Oleg Nesterov
2015-08-26 22:07 ` Jason Low
2015-08-26 22:53 ` Hideaki Kimura
2015-08-26 23:13 ` Frederic Weisbecker
2015-08-26 23:45 ` Hideaki Kimura
2015-08-27 13:18 ` Frederic Weisbecker
2015-08-27 14:47 ` Steven Rostedt
2015-08-27 15:09 ` Thomas Gleixner
2015-08-27 15:17 ` Frederic Weisbecker
2015-08-26 17:04 [PATCH 2/3] timer: Check thread timers only when there are active thread timers George Spelvin
2015-08-26 17:41 ` Jason Low
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=1440559068-29680-3-git-send-email-jason.low2@hp.com \
--to=jason.low2@hp.com \
--cc=akpm@linux-foundation.org \
--cc=dave@stgolabs.net \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=rostedt@goodmis.org \
--cc=scott.norton@hp.com \
--cc=terry.rudd@hp.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®