Hi Mohammad,
Thanks for investigating. Care to send this patch as a diff?
Also, we'll need to come up with a better solution that to add the
"Samsung" string in there before we submit this upstream.
Regards,
Amit
On Tue, May 6, 2014 at 11:06 AM, Mohammad Merajul Islam Molla
<meraj.enigma@gmail.com> wrote:
> Hello,
>
> I tested powertop on Samsung Arndale Board with Ubuntu Saucy Server 14.01
> with custom kernel (config file attached, powertop config options enabled),
> and reported a bug 1316096. Also, I found the other bug 1316096 happening on
> arndale board.
>
> In short, bug 1316096 - Powertop displays "nan" on top [summary] where it
> should show legal value.
> Summary: nan wakeups/second, nan
> GPU ops/seconds, nan VFS ops/sec and -0.0% CPU use <--- displays "nan"
> instead of valid value
>
> bug 1316096 - Idle stats & Frequency stats pages are empty.
>
> I did some debugging and it seems that the root cause of both the bugs may
> be same. It looks like the parsing code enumerate_cpus()[src/cpu/cpu.cpp]
> called from main.cpp, is expecting /proc/cpuinfo file in a particular format
> which works on Intel but not on ARM.
>
> On Intel, it gets the file in the format expected. However, on ARM on
> Arndale board with saucy server, the file looks as below -
>
> processor : 0
> model name : ARMv7 Processor rev 4 (v7l)
> Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
> idiva idivt vfpd32 lpae evtstrm
> CPU implementer : 0x41
> CPU architecture: 7
> CPU variant : 0x0
> CPU part : 0xc0f
> CPU revision : 4
>
> processor : 1
> model name : ARMv7 Processor rev 4 (v7l)
> Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
> idiva idivt vfpd32 lpae evtstrm
> CPU implementer : 0x41
> CPU architecture: 7
> CPU variant : 0x0
> CPU part : 0xc0f
> CPU revision : 4
>
> Hardware : SAMSUNG EXYNOS5 (Flattened Device Tree)
> Revision : 0000
> Serial : 0000000000000000
>
> The parsing code which gathers information about cpus, fails to parse this
> file and as a result the vector "all_cpus" remains empty.
>
> I played with it a bit more and added a few lines to get a work around as
> follows -
>
> in function enumarate_cpus():
>
> if (strncmp(line, "processor\t",10) == 0) {
> char *c;
> c = strchr(line, ':');
> if (c) {
> c++;
> number = strtoull(c, NULL, 10);
> handle_one_cpu(number, "Samsung", 0, 0); [
> line added]
> set_max_cpu(number); [ line added]
> }
> }
>
> With this changes, idle stat and frequency pages were populated and summary
> was shown properly as noted below -
>
> Summary: 392.6 wakeups/second, 0.0 GPU ops/seconds, 0.0 VFS ops/sec and
> 4.0% CPU use
>
> I think due to this bug, the information shown on summary page was also not
> correct and some other info displayed by powertop may be incorrect too.
>
> Please comment.
>
> --
> Thanks,
> -Meraj
>
>
>
>
>
>