linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Linux PM <linux-pm@vger.kernel.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Doug Smythies <dsmythies@telus.net>,
	LKML <linux-kernel@vger.kernel.org>,
	Giovanni Gherdovich <ggherdovich@suse.cz>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>
Subject: Re: [PATCH v2] cpuidle: Use nanoseconds as the unit of time
Date: Fri, 8 Nov 2019 10:39:19 +0100	[thread overview]
Message-ID: <20191108093919.GJ4114@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <CAJZ5v0jM3+qMvO6dx=FmK-xF0q3YKOwBf-yUPXSBfRjxJ59Cpg@mail.gmail.com>

On Fri, Nov 08, 2019 at 02:44:13AM +0100, Rafael J. Wysocki wrote:
> On Thu, Nov 7, 2019 at 3:25 PM Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> >
> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > Currently, the cpuidle subsystem uses microseconds as the unit of
> > time which (among other things) causes the idle loop to incur some
> > integer division overhead for no clear benefit.
> >
> > In order to allow cpuidle to measure time in nanoseconds, add two
> > additional fields, exit_latency_ns and target_residency_ns, to
> > represent the exit latency and target residency of an idle state
> > in nanoseconds, respectively, to struct cpuidle_state_usage and
> > initialize them with the help of the corresponding values in
> > microseconds provided by drivers.  In addition to that, change
> > cpuidle_governor_latency_req() to return the idle state exit
> > latency constraint in nanoseconds.
> >
> > With that, meeasure idle state residency (last_residency_ns in
> > struct cpuidle_device and time_ns in struct cpuidle_driver) in
> > nanoseconds and update the cpuidle core and governors accordingly.
> >
> > However, the menu governor still computes typical intervals in
> > microseconds to avoid integer overflows.
> 
> Since this addresses all of the comments received by the RFC version
> that was posted over a month ago and I don't see any more issues with
> it, I'm tempted to simply queue it up for 5.5 unless somebody sees a
> good enough reason why that would be a bad idea.

Nah, have at.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

      parent reply	other threads:[~2019-11-08  9:39 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-06 10:30 [PATCH] cpuidle: Use nanoseconds as the unit of time Rafael J. Wysocki
2019-11-07 14:25 ` [PATCH v2] " Rafael J. Wysocki
2019-11-08  1:44   ` Rafael J. Wysocki
2019-11-08  8:45     ` Doug Smythies
2019-11-08  9:45       ` Rafael J. Wysocki
2019-11-08 17:04         ` Doug Smythies
2019-11-10 16:48           ` Rafael J. Wysocki
2019-11-10 17:24             ` Rafael J. Wysocki
2019-11-10 18:09               ` Doug Smythies
2019-11-10 22:12                 ` Doug Smythies
2019-11-11 21:29                   ` Rafael J. Wysocki
2019-11-08  9:39     ` Peter Zijlstra [this message]

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=20191108093919.GJ4114@hirez.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=dsmythies@telus.net \
    --cc=ggherdovich@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rjw@rjwysocki.net \
    /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;
as well as URLs for NNTP newsgroup(s).