LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: yi.y.yang@intel.com
Cc: akpm@linux-foundation.org, venkatesh.pallipadi@intel.com,
cpufreq@lists.linux.org.uk, linux-pm@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: [PATCH 2.6.25-rc3] cpuidle: fix cpuidle time and usage overflow
Date: Wed, 26 Mar 2008 00:46:41 -0400 [thread overview]
Message-ID: <200803260046.41250.lenb@kernel.org> (raw)
In-Reply-To: <1203900372.4954.8.camel@yangyi-dev.bj.intel.com>
applied
thanks,
-len
On Sunday 24 February 2008, Yi Yang wrote:
> cpuidle C-state sysfs node time and usage are very easy to overflow because
> they are all of unsigned int type, time will overflow within about two hours,
> usage will take longer time to overflow, but they are increasing for ever.
>
> This patch will convert them to unsigned long long.
>
>
> Signed-off-by: Yi Yang <yi.y.yang@intel.com>
> ---
> drivers/cpuidle/cpuidle.c | 2 +-
> drivers/cpuidle/sysfs.c | 10 ++++++++--
> include/linux/cpuidle.h | 4 ++--
>
> --- a/include/linux/cpuidle.h 2008-02-25 02:31:26.000000000 -0500
> +++ b/include/linux/cpuidle.h 2008-02-25 04:30:24.000000000 -0500
> @@ -38,8 +38,8 @@ struct cpuidle_state {
> unsigned int power_usage; /* in mW */
> unsigned int target_residency; /* in US */
>
> - unsigned int usage;
> - unsigned int time; /* in US */
> + unsigned long long usage;
> + unsigned long long time; /* in US */
>
> int (*enter) (struct cpuidle_device *dev,
> struct cpuidle_state *state);
> --- a/drivers/cpuidle/cpuidle.c 2008-02-25 02:37:14.000000000 -0500
> +++ b/drivers/cpuidle/cpuidle.c 2008-02-25 04:29:19.000000000 -0500
> @@ -67,7 +67,7 @@ static void cpuidle_idle_call(void)
> /* enter the state and update stats */
> dev->last_residency = target_state->enter(dev, target_state);
> dev->last_state = target_state;
> - target_state->time += dev->last_residency;
> + target_state->time += (unsigned long long)dev->last_residency;
> target_state->usage++;
>
> /* give the governor an opportunity to reflect on the outcome */
> --- a/drivers/cpuidle/sysfs.c 2008-02-25 02:33:14.000000000 -0500
> +++ b/drivers/cpuidle/sysfs.c 2008-02-25 03:10:50.000000000 -0500
> @@ -218,6 +218,12 @@ static ssize_t show_state_##_name(struct
> return sprintf(buf, "%u\n", state->_name);\
> }
>
> +#define define_show_state_ull_function(_name) \
> +static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
> +{ \
> + return sprintf(buf, "%llu\n", state->_name);\
> +}
> +
> #define define_show_state_str_function(_name) \
> static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
> { \
> @@ -228,8 +234,8 @@ static ssize_t show_state_##_name(struct
>
> define_show_state_function(exit_latency)
> define_show_state_function(power_usage)
> -define_show_state_function(usage)
> -define_show_state_function(time)
> +define_show_state_ull_function(usage)
> +define_show_state_ull_function(time)
> define_show_state_str_function(name)
> define_show_state_str_function(desc)
>
>
>
> --
> 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/
>
prev parent reply other threads:[~2008-03-26 5:04 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-04 10:10 [linux-pm][PATCH] base: Change power/wakeup output from "" to "unsupported" if wakeup feature isn't supported by a device Yi Yang
2008-01-04 11:48 ` Pavel Machek
2008-01-04 16:09 ` David Brownell
2008-01-04 16:38 ` Alan Stern
2008-01-04 16:52 ` Olivier Galibert
2008-01-04 17:20 ` Oliver Neukum
2008-01-07 2:00 ` Yi Yang
2008-01-07 1:55 ` Yi Yang
2008-01-07 3:49 ` David Brownell
2008-01-07 1:52 ` Yi Yang
2008-01-07 1:37 ` Yi Yang
2008-01-07 1:57 ` Rafael J. Wysocki
2008-01-07 2:05 ` Yi Yang
2008-01-07 16:46 ` Rafael J. Wysocki
2008-01-07 1:21 ` Yi Yang
2008-01-04 16:31 ` David Brownell
2008-01-07 1:51 ` Yi Yang
2008-01-22 23:05 ` [PATCH 2.6.24-rc8] cpufreq: fix obvious condition statement error Yi Yang
2008-01-28 23:14 ` [PATCH 2.6.24] x86: add sysfs interface for cpuid module Yi Yang
2008-01-29 8:44 ` Sam Ravnborg
2008-01-29 22:22 ` Yi Yang
2008-01-30 7:48 ` Sam Ravnborg
2008-01-29 15:51 ` H. Peter Anvin
2008-01-29 17:52 ` Yi Yang
2008-01-30 6:09 ` H. Peter Anvin
2008-01-29 21:56 ` Yi Yang
2008-01-30 7:17 ` H. Peter Anvin
2008-01-29 22:13 ` Yi Yang
2008-01-30 7:33 ` H. Peter Anvin
2008-01-29 23:41 ` [RFC PATCH 2.6.24] x86: add sysfs interface for cpuid module, try 2 Yi Yang
2008-01-30 17:35 ` H. Peter Anvin
2008-01-31 1:18 ` [PATCH 2.6.24] Add new string functions real_strtoul and change kernel params to use them Yi Yang
2008-01-31 17:03 ` Randy Dunlap
2008-01-31 16:30 ` Yi Yang
2008-02-01 2:47 ` Randy Dunlap
2008-01-31 22:11 ` [PATCH 2.6.24] Add new string functions strict_strto* and convert kernel params to use them, take 2 Yi Yang
2008-02-01 0:02 ` [PATCH 2.6.24] Add new string functions strict_strto* and convert kernel params to use them, take 3 Yi Yang
2008-02-01 7:36 ` [PATCH 2.6.24] Add new string functions strict_strto* and convert kernel params to use them, take 2 Andrew Morton
2008-02-01 7:39 ` Andrew Morton
2008-02-01 7:40 ` Andrew Morton
2008-02-01 16:31 ` [PATCH 2.6.24] x86: add sysfs interface for cpuid module dean gaudet
2008-02-01 17:56 ` H. Peter Anvin
2008-02-01 17:58 ` H. Peter Anvin
2008-02-14 23:44 ` [PATCH 2.6.25-rc1] cpufreq: fix cpufreq policy refcount imbalance Yi Yang
2008-02-14 23:48 ` Yi Yang
2008-02-15 15:52 ` [linux-pm] " Alan Stern
2008-02-15 18:24 ` Greg KH
2008-02-15 21:01 ` Greg KH
2008-02-25 0:46 ` [PATCH 2.6.25-rc3] cpuidle: fix cpuidle time and usage overflow Yi Yang
2008-02-25 10:15 ` Ingo Molnar
2008-02-25 1:10 ` Yi Yang
2008-03-26 4:46 ` Len Brown [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=200803260046.41250.lenb@kernel.org \
--to=lenb@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=cpufreq@lists.linux.org.uk \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=venkatesh.pallipadi@intel.com \
--cc=yi.y.yang@intel.com \
--subject='Re: [PATCH 2.6.25-rc3] cpuidle: fix cpuidle time and usage overflow' \
/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
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).