From: Chris Ferron <chris.e.ferron at linux.intel.com>
To: powertop@lists.01.org
Subject: Re: [Powertop] segfault on Sheevaplug (ARM Kirkwood)
Date: Mon, 21 May 2012 16:09:28 -0700 [thread overview]
Message-ID: <4FBACB28.7040203@linux.intel.com> (raw)
In-Reply-To: 20120520215746.GA3585@swordfish
[-- Attachment #1: Type: text/plain, Size: 6253 bytes --]
On 05/20/2012 02:57 PM, Sergey Senozhatsky wrote:
> On (05/20/12 04:01), Rui DaCosta wrote:
>> Thanks,
>> this has gotten past the issue. I now get:
>> PowerTOP v2.0 needs the kernel to support the 'perf' subsystem
>> as well as support for trace points in the kernel:
>>
>> CONFIG_PERF_EVENTS=y
>> CONFIG_PERF_COUNTERS=y
>> CONFIG_TRACEPOINTS=y
>> CONFIG_TRACING=y
>>
>> all these except CONFIG_PERF_COUNTERS are already set, so i'll need to see
>> if i can get a kernel built with that option on.
>>
>> Will this patch make it into trunk?
>>
> Well, it depends. The patch itself is quite innocent -- assuming default
> number of processors being 1 instead of -1 will not do any harm. Of course,
> such default value could be considered as debugging friendly, yet segfault
> is still no good.
>
> We'll see what project owners think about that.
*In GENERAL*
Well that is an interesting question. I personally will not be spending
any time on arm.
That said, i am also not opposed to somewhat blindly accepting patches
for ARM, especially from trusted and active members.
*As long as ARM work isn't effecting PowerTOP.*
Now if you find a bug, then that is a different story, as long as the
bug is not purely ARM specific it will get attention.
*this instance*
I will pull this patch and take a good look at it, since it looks to me
to be a bug as well. Thanks Sergey
-Chris
>
> -ss
>
>> Many thanks.
>>
>> ──────────────────────────────────────────────────────────────────────────
>>
>> From: Sergey Senozhatsky<sergey.senozhatsky(a)gmail.com>
>> To: Rui DaCosta<ruidc(a)yahoo.com>
>> Cc: Arjan van de Ven<arjan(a)linux.intel.com>; Chris Ferron
>> <chris.e.ferron(a)linux.intel.com>; powertop(a)lists.01.org
>> Sent: Sunday, 20 May 2012, 11:34
>> Subject: Re: [Powertop] segfault on Sheevaplug (ARM Kirkwood)
>> On (05/20/12 02:19), Rui DaCosta wrote:
>> > Sure and thanks,
>> > (v1.13 worked fine btw)
>> > Processor : Feroceon 88FR131 rev 1 (v5l)
>> > BogoMIPS : 1191.11
>> > Features : swp half thumb fastmult edsp
>> > CPU implementer : 0x56
>> > CPU architecture: 5TE
>> > CPU variant : 0x2
>> > CPU part : 0x131
>> > CPU revision : 1
>> >
>> > Hardware : Marvell SheevaPlug Reference Board
>> > Revision : 0000
>> > Serial : 0000000000000000
>> >
>> >
>>
>> Thanks,
>>
>> Well, that's the problem. Current cpu info parser doesn't understand your
>> cpuinfo format. It awaits for sane values on special places. For example,
>> word
>> "processor" should be followed by a number, not model name.
>>
>> processor : 2
>> vendor_id : GenuineIntel
>> cpu family : 6
>> model : 37
>> bogomips : 4522.66
>>
>> while cpuinfo on your system is totally different.
>>
>> the following is untested patch (I'm a bit skeptical) plus I don't have
>> ARM device for testing.
>>
>> ---
>>
>> src/cpu/cpu.cpp | 26 ++++++++++++++------------
>> 1 file changed, 14 insertions(+), 12 deletions(-)
>>
>> diff --git a/src/cpu/cpu.cpp b/src/cpu/cpu.cpp
>> index 09d4a2d..143e18c 100644
>> --- a/src/cpu/cpu.cpp
>> +++ b/src/cpu/cpu.cpp
>> @@ -225,7 +225,7 @@ void enumerate_cpus(void)
>> ifstream file;
>> char line[1024];
>>
>> - int number = -1;
>> + int number = 1;
>> char vendor[128];
>> int family = 0;
>> int model = 0;
>> @@ -236,7 +236,6 @@ void enumerate_cpus(void)
>> return;
>>
>> while (file) {
>> -
>> file.getline(line, sizeof(line));
>> if (strncmp(line, "vendor_id\t",10) == 0) {
>> char *c;
>> @@ -247,42 +246,45 @@ void enumerate_cpus(void)
>> c++;
>> strncpy(vendor,c, 127);
>> }
>> - }
>> - if (strncmp(line, "processor\t",10) == 0) {
>> + } else if (strncmp(line, "processor\t",10) == 0) {
>> char *c;
>> c = strchr(line, ':');
>> if (c) {
>> c++;
>> number = strtoull(c, NULL, 10);
>> }
>> - }
>> - if (strncmp(line, "cpu family\t",11) == 0) {
>> + } else if (strncmp(line, "Processor\t",10) == 0) {
>> + char *c;
>> + c = strchr(line, ':');
>> + if (c) {
>> + c++;
>> + if (*c == ' ')
>> + c++;
>> + strncpy(vendor, c, 127);
>> + }
>> + } else if (strncmp(line, "cpu family\t",11) == 0) {
>> char *c;
>> c = strchr(line, ':');
>> if (c) {
>> c++;
>> family = strtoull(c, NULL, 10);
>> }
>> - }
>> - if (strncmp(line, "model\t",6) == 0) {
>> + } else if (strncmp(line, "model\t",6) == 0) {
>> char *c;
>> c = strchr(line, ':');
>> if (c) {
>> c++;
>> model = strtoull(c, NULL, 10);
>> }
>> - }
>> - if (strncasecmp(line, "bogomips\t", 9) == 0) {
>> + } else if (strncasecmp(line, "bogomips\t", 9) == 0) {
>> handle_one_cpu(number, vendor, family, model);
>> set_max_cpu(number);
>> }
>> }
>>
>> -
>> file.close();
>>
>> perf_events = new perf_power_bundle();
>> -
>> if (!perf_events->add_event("power:cpu_idle")){
>> perf_events->add_event("power:power_start");
>> perf_events->add_event("power:power_end");
next reply other threads:[~2012-05-21 23:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-21 23:09 Chris Ferron [this message]
-- strict thread matches above, loose matches on Subject: below --
2012-05-22 22:08 [Powertop] segfault on Sheevaplug (ARM Kirkwood) Rui DaCosta
2012-05-22 21:58 Rui DaCosta
2012-05-22 21:23 Sergey Senozhatsky
2012-05-22 20:50 Thomas Spura
2012-05-22 19:35 Rui DaCosta
2012-05-22 19:19 Rui DaCosta
2012-05-20 22:17 Sergey Senozhatsky
2012-05-20 22:05 Sergey Senozhatsky
2012-05-20 21:57 Sergey Senozhatsky
2012-05-20 19:32 Rui DaCosta
2012-05-20 11:01 Rui DaCosta
2012-05-20 9:34 Sergey Senozhatsky
2012-05-20 9:19 Rui DaCosta
2012-05-20 9:05 Sergey Senozhatsky
2012-05-20 8:41 Rui DaCosta
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=4FBACB28.7040203@linux.intel.com \
--to=powertop@lists.01.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.