Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757004AbZCDMRS (ORCPT ); Wed, 4 Mar 2009 07:17:18 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752227AbZCDMRE (ORCPT ); Wed, 4 Mar 2009 07:17:04 -0500 Received: from e28smtp07.in.ibm.com ([59.145.155.7]:54260 "EHLO e28smtp07.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750968AbZCDMRC (ORCPT ); Wed, 4 Mar 2009 07:17:02 -0500 Date: Wed, 4 Mar 2009 17:46:44 +0530 From: Arun R Bharadwaj To: linux-kernel@vger.kernel.org, linux-pm@lists.linux-foundation.org Cc: a.p.zijlstra@chello.nl, ego@in.ibm.com, tglx@linutronix.de, mingo@elte.hu, andi@firstfloor.org, venkatesh.pallipadi@intel.com, vatsa@linux.vnet.ibm.com, arjan@infradead.org, svaidy@linux.vnet.ibm.com, Arun Bharadwaj Subject: [v2 PATCH 2/4] timers: identifying the existing pinned hrtimers. Message-ID: <20090304121644.GC9855@linux.vnet.ibm.com> Reply-To: arun@linux.vnet.ibm.com References: <20090304121249.GA9855@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <20090304121249.GA9855@linux.vnet.ibm.com> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3459 Lines: 88 * Arun R Bharadwaj [2009-03-04 17:42:49]: The following pinned hrtimers have been identified and marked: 1)sched_rt_period_timer 2)tick_sched_timer 3)stack_trace_timer_fn Signed-off-by: Arun R Bharadwaj --- kernel/sched.c | 5 +++-- kernel/time/tick-sched.c | 7 ++++--- kernel/trace/trace_sysprof.c | 3 ++- 3 files changed, 9 insertions(+), 6 deletions(-) Index: linux.trees.git/kernel/sched.c =================================================================== --- linux.trees.git.orig/kernel/sched.c +++ linux.trees.git/kernel/sched.c @@ -236,7 +236,7 @@ static void start_rt_bandwidth(struct rt now = hrtimer_cb_get_time(&rt_b->rt_period_timer); hrtimer_forward(&rt_b->rt_period_timer, now, rt_b->rt_period); - hrtimer_start_expires(&rt_b->rt_period_timer, + hrtimer_start_expires_pinned(&rt_b->rt_period_timer, HRTIMER_MODE_ABS); } spin_unlock(&rt_b->rt_runtime_lock); @@ -1156,7 +1156,8 @@ static __init void init_hrtick(void) */ static void hrtick_start(struct rq *rq, u64 delay) { - hrtimer_start(&rq->hrtick_timer, ns_to_ktime(delay), HRTIMER_MODE_REL); + hrtimer_start_pinned(&rq->hrtick_timer, ns_to_ktime(delay), + HRTIMER_MODE_REL); } static inline void init_hrtick(void) Index: linux.trees.git/kernel/time/tick-sched.c =================================================================== --- linux.trees.git.orig/kernel/time/tick-sched.c +++ linux.trees.git/kernel/time/tick-sched.c @@ -348,7 +348,7 @@ void tick_nohz_stop_sched_tick(int inidl ts->idle_expires = expires; if (ts->nohz_mode == NOHZ_MODE_HIGHRES) { - hrtimer_start(&ts->sched_timer, expires, + hrtimer_start_pinned(&ts->sched_timer, expires, HRTIMER_MODE_ABS); /* Check, if the timer was already in the past */ if (hrtimer_active(&ts->sched_timer)) @@ -394,7 +394,7 @@ static void tick_nohz_restart(struct tic hrtimer_forward(&ts->sched_timer, now, tick_period); if (ts->nohz_mode == NOHZ_MODE_HIGHRES) { - hrtimer_start_expires(&ts->sched_timer, + hrtimer_start_expires_pinned(&ts->sched_timer, HRTIMER_MODE_ABS); /* Check, if the timer was already in the past */ if (hrtimer_active(&ts->sched_timer)) @@ -698,7 +698,8 @@ void tick_setup_sched_timer(void) for (;;) { hrtimer_forward(&ts->sched_timer, now, tick_period); - hrtimer_start_expires(&ts->sched_timer, HRTIMER_MODE_ABS); + hrtimer_start_expires_pinned(&ts->sched_timer, + HRTIMER_MODE_ABS); /* Check, if the timer was already in the past */ if (hrtimer_active(&ts->sched_timer)) break; Index: linux.trees.git/kernel/trace/trace_sysprof.c =================================================================== --- linux.trees.git.orig/kernel/trace/trace_sysprof.c +++ linux.trees.git/kernel/trace/trace_sysprof.c @@ -203,7 +203,8 @@ static void start_stack_timer(void *unus hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); hrtimer->function = stack_trace_timer_fn; - hrtimer_start(hrtimer, ns_to_ktime(sample_period), HRTIMER_MODE_REL); + hrtimer_start_pinned(hrtimer, ns_to_ktime(sample_period), + HRTIMER_MODE_REL); } static void start_stack_timers(void) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/