mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Iram Shahzad <iram.shahzad@jp.fujitsu.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: hrtimer: about hres_active
Date: Mon, 10 May 2010 17:12:50 +0200 (CEST)	[thread overview]
Message-ID: <alpine.LFD.2.00.1005101707410.3401@localhost.localdomain> (raw)
In-Reply-To: <9D38EE7159934A5C85505E9517638040@rainbow>

Iram,

On Mon, 10 May 2010, Iram Shahzad wrote:

> I am trying to understand the purpose of "hres_active" of hrtimer
> and have the following question in this regard.
> 
> It seems "hres_active" indicates whether high resolution mode is
> active or not. But I am not clear about the idea behind it.
> 
> I see that hres_active is initialized to 0 here:
>    hrtimer_init_hres
> 
> and set to 1 here:
>    hrtimer_run_pending
>       -> hrtimer_switch_to_hres
> 
> That means hrtimer becomes "active" at the 1st timer softirq
> and remains so forever. Is this understanding correct?

No. The system switches to high resolution mode late in the boot
process and it does so only when there is high res capable hardware
available.
 
> My original concern is as follows:
> 
> hrtimer_get_next_event returns KTIME_MAX when hrtimer is "active".
> So if the above understanding is correct, then after the 1st timer
> softirq it will always return KTIME_MAX. This means cpu_idle will never
> take the hrtimer event into account and will always base its decision
> on the next event of the timer wheel. Is this intended behaviour?

Yes it is. In the case of high res active the hrtimer which is the
next to expire is already armed on that CPU in the clock event
device. Therefor we know already when the next hrtimer will fire. No
need to lookup further. But we have to check the timer wheel as it
might have a timer which is due earlier than the first to expire
hrtimer.

Thanks,

	tglx

  reply	other threads:[~2010-05-10 15:13 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-06  6:03 [PATCH 0/2] ftrace: updates for powerpc Steven Rostedt
2009-02-06  6:03 ` [PATCH 1/2] ftrace, powerpc: replace debug macro with proper pr_deug Steven Rostedt
2009-02-06  6:07   ` Steven Rostedt
2009-02-06  7:05   ` Benjamin Herrenschmidt
2009-02-06 13:29     ` Steven Rostedt
2009-02-06  6:03 ` [PATCH 2/2] powerpc, ftrace: fix compile error when modules not configured Steven Rostedt
2009-02-06  6:07   ` Steven Rostedt
2009-02-06  6:23   ` Michael Neuling
2009-02-06  7:04 ` [PATCH 0/2] ftrace: updates for powerpc Benjamin Herrenschmidt
2009-02-06 13:28   ` Steven Rostedt
2010-05-10 10:27 ` hrtimer: about hres_active Iram Shahzad
2010-05-10 15:12   ` Thomas Gleixner [this message]
2010-05-11  1:39     ` Iram Shahzad
2010-05-11  8:33       ` Thomas Gleixner

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=alpine.LFD.2.00.1005101707410.3401@localhost.localdomain \
    --to=tglx@linutronix.de \
    --cc=iram.shahzad@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.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®