[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070512040930.GC6464@co.sapo.pt>
Date: Sat, 12 May 2007 05:09:31 +0100
From: Jose Celestino <japc@...sapo.pt>
To: Matt Mackall <mpm@...enic.com>
Cc: Arjan van de Ven <arjan@...ux.intel.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-acpi@...r.kernel.org
Subject: Re: Re: Re: [announce] Intel announces the PowerTOP utility for
Linux
Words by Matt Mackall [Fri, May 11, 2007 at 09:39:05PM -0500]:
> On Sat, May 12, 2007 at 02:40:52AM +0100, Jose Celestino wrote:
> > Words by Matt Mackall [Fri, May 11, 2007 at 07:17:19PM -0500]:
> > > On Fri, May 11, 2007 at 04:07:18PM -0700, Arjan van de Ven wrote:
> > > >
> > > > What's eating the battery life of my laptop? Why isn't it many more
> > > > hours? Which software component causes the most power to be burned?
> > > > These are important questions without a good answer... until now.
> > >
> > > I get:
> > >
> > > No detailed statistics available; please enable the CONFIG_TIMER_STATS
> > > kernel option
> > >
> >
> > Must run as root (rw to /proc/timer_stats is needed).
>
> That file doesn't exist, despite CONFIG_TIMER_STATS being in
> /proc/config.gz.
>
Then again, perhaps you have /proc/tstats instead.
If so apply this (well, you get the idea):
--- powertop/powertop.c 2007-05-12 05:01:15.000000000 +0100
+++ powertop_new/powertop.c 2007-05-12 05:08:46.000000000 +0100
@@ -212,8 +212,8 @@
void stop_timerstats(void)
{
FILE *file;
- file = fopen("/proc/timer_stats","w");
- if (!file) {
+ if (!(file = fopen("/proc/timer_stats","w")) &&
+ !(file = fopen("/proc/stats","w")) ) {
nostats = 1;
return;
}
@@ -223,8 +223,8 @@
void start_timerstats(void)
{
FILE *file;
- file = fopen("/proc/timer_stats","w");
- if (!file) {
+ if (!(file = fopen("/proc/timer_stats","w")) &&
+ !(file = fopen("/proc/stats","w")) ) {
nostats = 1;
return;
}
@@ -388,7 +388,7 @@
i = 0;
totalticks = 0;
if (!nostats)
- file = popen("cat /proc/timer_stats | sort -n | tail -190", "r");
+ file = popen("cat /proc/timer_stats 2>>/dev/null|| cat /proc/tstats | sort -n | tail -190", "r");
while (file && !feof(file) && i<190) {
char *count, *pid, *process, *func;
int cnt;
--
Jose Celestino
----------------------------------------------------------------
http://www.msversus.org/ ; http://techp.org/petition/show/1
http://www.vinc17.org/noswpat.en.html
----------------------------------------------------------------
"And on the trillionth day, Man created Gods." -- Thomas D. Pate
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists