linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Colin Cross <ccross@google.com>
To: Rob Lee <rob.lee@linaro.org>
Cc: len.brown@intel.com, khilman@ti.com, nicolas.pitre@linaro.org,
	daniel.lezcano@linaro.org, linaro-dev@lists.linaro.org,
	nicolas.ferre@atmel.com, linux@arm.linux.org.uk,
	kgene.kim@samsung.com, mturquette@linaro.org,
	linux-pm@vger.kernel.org, magnus.damm@gmail.com,
	linux-acpi@vger.kernel.org, abelay@novell.com,
	shawn.guo@freescale.com, arnd.bergmann@linaro.org,
	patches@linaro.org, nsekhar@ti.com, s.hauer@pengutronix.de,
	Baohua.Song@csr.com, vincent.guittot@linaro.org,
	linux@maxim.org.za, linux-arm-kernel@lists.infradead.org,
	deepthi@linux.vnet.ibm.com, broonie@opensource.wolfsonmicro.com,
	amit.kucheria@linaro.org, amit.kachhap@linaro.org,
	venkatesh.pallipadi@intel.com, shaohua.li@intel.com
Subject: Re: [RFC PATCH v4 0/4] Consolidate cpuidle timekeeping and irq enabling
Date: Wed, 22 Feb 2012 12:52:49 -0800	[thread overview]
Message-ID: <CAMbhsRSSS-M2axk8fP_Atuw2kookv+pQhxU1N0zZ_kXXEL8uyw@mail.gmail.com> (raw)
In-Reply-To: <CAMXH7KEqeO4fV82PB9MSJg7tMPxqxUe5n=vc3jc6GttM0jKPtw@mail.gmail.com>

On Fri, Feb 10, 2012 at 11:32 AM, Rob Lee <rob.lee@linaro.org> wrote:
> Maintainers for drivers/cpuidle, do you have any comments/opinions
> about this patch?
>
> Intel cpuidle and acpi cpuidle maintainers, do you have any
> comments/opinions about this patch and the changes to your code?
>
> Any other review and comments welcome.
>
> Summary of positive and negatives as I understand them so far:
>
> version 1, 2, and 3 (Original "wrapper" method of consolidating
> timekeeping and interrupt enabling)
> + opportunistically provides consolidation for simple platform cpuidle
> implementations without disturbing the more complex implementations.
> By simple, I mean those at can be wrapped in the time keeping calls
> and interrupt enabling calls without significantly affecting idle time
> keeping accuracy or interrupt latency
> - Does not provide consolidation for the more complex platform cpuidle
> implementations
> - Adds an additional interface, perhaps unnecessarily if this
> consolidation could be done in cpuidle
>
> version 4 (modifications to drivers/cpuidle/cpuidle.c cpuidle_idle_call)
> + Adds consolidation work to cpuidle_idle_call which allows all
> platform timekeeping / interrupt handling to be consolidated.

I think the question of what the timekeeping means needs to be
considered.  If the timekeeping is supposed to be a very accurate
measurement of the time spent in the low power idle state, only the
cpuidle driver can guarantee that - there may be significant time
spent in the hardware transition or the very low level power code that
cannot be split into pre_enter, but should not be counted in the
timekeeping.  Or there may be a long boot time out of the low power
state that should not be counted.  If it is just a rough estimate of
how often the cpu is getting to idle, there is no need to split out
the pre_enter time - just measure the time around the entire driver
enter call.  Either way, pre_enter doesn't seem useful.

> - Requires splitting up of more complex platform cpuidle
> implementations, adding further complexity and risk of breaking
> something.
> ? Allows both pre_enter or enter to change the idle state.  Is there
> an objection to this?

pre_enter (if it is kept) would probably have to support state
demotion, because its actions may depend on the final state.  For
coupled SMP cpuidle, enter also has to support state demotion, because
the final state will depend on actions of the other cpu after idle has
been entered.

> ? Splitting up the enter functions can require additional function
> calls.  Is there any concern that this is significant additional
> overhead?

I don't think so, especially if you support NULL pre_enter and
post_enter functions to allow drivers that care to skip them.
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2012-02-22 20:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-01  3:00 [RFC PATCH v4 0/4] Consolidate cpuidle timekeeping and irq enabling Robert Lee
2012-02-01  3:00 ` [RFC PATCH v4 1/4] cpuidle: Add time keeping " Robert Lee
2012-02-04 19:02   ` Colin Cross
2012-02-04 22:06     ` Turquette, Mike
2012-02-05  1:36       ` Colin Cross
     [not found]         ` <CAMbhsRR2Zsv7d+_iganMhz5WxDiUYd-zOCoVehz4yjzyH2q+wA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-02-05  1:48           ` Turquette, Mike
2012-02-06 16:38       ` Rob Lee
     [not found]     ` <CAMbhsRQxgvRN0skteFxeDBqmUArTa3wu2uZPqowDnBTSWuqScg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-02-06 17:14       ` Rob Lee
2012-02-01  3:00 ` [RFC PATCH v4 2/4] ARM: omap: Remove cpuidle timekeeping and irq enable/disable Robert Lee
     [not found]   ` <1328065215-28108-3-git-send-email-rob.lee-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-02-02 16:21     ` Jean Pihet
2012-02-02 17:35       ` Rob Lee
2012-02-01  3:00 ` [RFC PATCH v4 3/4] acpi: " Robert Lee
2012-02-01  3:00 ` [RFC PATCH v4 4/4] x86: " Robert Lee
2012-02-10 19:32 ` [RFC PATCH v4 0/4] Consolidate cpuidle timekeeping and irq enabling Rob Lee
2012-02-10 20:06   ` Amit Kucheria
2012-02-22 20:52   ` Colin Cross [this message]
2012-02-23  6:39     ` Rob Lee

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=CAMbhsRSSS-M2axk8fP_Atuw2kookv+pQhxU1N0zZ_kXXEL8uyw@mail.gmail.com \
    --to=ccross@google.com \
    --cc=Baohua.Song@csr.com \
    --cc=abelay@novell.com \
    --cc=amit.kachhap@linaro.org \
    --cc=amit.kucheria@linaro.org \
    --cc=arnd.bergmann@linaro.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=deepthi@linux.vnet.ibm.com \
    --cc=kgene.kim@samsung.com \
    --cc=khilman@ti.com \
    --cc=len.brown@intel.com \
    --cc=linaro-dev@lists.linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=linux@maxim.org.za \
    --cc=magnus.damm@gmail.com \
    --cc=mturquette@linaro.org \
    --cc=nicolas.ferre@atmel.com \
    --cc=nicolas.pitre@linaro.org \
    --cc=nsekhar@ti.com \
    --cc=patches@linaro.org \
    --cc=rob.lee@linaro.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shaohua.li@intel.com \
    --cc=shawn.guo@freescale.com \
    --cc=venkatesh.pallipadi@intel.com \
    --cc=vincent.guittot@linaro.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;
as well as URLs for NNTP newsgroup(s).