Re: gnome-system-monitor does not show CPU speed on ppc64



Hi Luciano,

Quite an interesting read!

I think you want to ping Benoît Dejean <benoit placenet org> (cc'd) who
is listed as the maintainer of the module, and also put your report
(file a new bug) in http://bugzilla.gnome.org and attach any patch you
come up with.

If the maintainer or someone else doesn't comment or review your patch
on a reasonable time feel free to ping here again.

Thanks for working on this!

El lun, 24-05-2010 a las 12:36 -0500, Luciano Chavez escribió:
> Hello,
> 
> I am looking at problem reported by one of our test teams. Below is
> their recreation steps and what they reported:
> 
> 1. Launch System Monitor Tool (gnome-system-monitor-2.28.0)
> 2. Look at "Hardware" item of "System" tabbed section like following sentence:
> Precessor 0: POWER6 (architected), altivec supported ===> no processor speed
> 3. In System Monitor Tool window, open help manual via
> Help->Contents->Introduction and you could see "Processors and speeds"
> description in "Hardware" item of "System" tabbed section
> 
> Here is my analysis:
> 
> I took a look at the source for gnome-system-monitor and determined where the
> strings that are displayed came from. Looking at src/sysinfo.cpp there is this
> method:
> 
>     void load_processors_info()
>     {
>       const glibtop_sysinfo *info = glibtop_get_sysinfo();
> 
>       for (guint i = 0; i != info->ncpu; ++i) {
>         const char * const keys[] = { "model name", "cpu" };
>         gchar *model = 0;
> 
>         for (guint j = 0; !model && j != G_N_ELEMENTS(keys); ++j)
>           model =
> static_cast<char*>(g_hash_table_lookup(info->cpuinfo[i].values,
>                                                          keys[j]));
> 
>         if (!model)
>           model = _("Unknown CPU model");
> 
>         this->processors.push_back(model);
>       }
>     }
> 
> It first invokes the glibtop_get_sysinfo() call which comes from the external
> libgtop to retrieve the system info (I will explain where from shortly) and
> then uses the keys "model name" and "cpu" to retrieve the corresponding strings
> in a hash table that correspond to those keys. What is retrieved is what ends
> up being displayed under the Hardware section.
> 
> In the libgtop source we find a file called  sysdeps/linux/sysinfo.c which
> contains the source for the glibtop_get_sysinfo() which almost wholly contained
> in the function init_sysinfo() which essentially reads the contents of
> /proc/cpuinfo into a buffer then parses each line and uses the label before the
> ":" as the key and the remaining as the value and the labels/keys are loaded
> into string array and the string values are added into a hash table with the
> label as the key.
> 
> So, looking at the /proc/cpuinfo of a x86_64 system I get the following:
> 
> model name      : Intel(R) Xeon(TM) CPU 3.40GHz
> 
> as well as ...
> 
> cpu MHz         : 3400.000
> 
> but on the test system we get
> 
> cpu             : POWER6 (architected), altivec supported
> clock           : 4204.000000MHz
> 
> So, as you can see  both do offer separate sysinfo records for the processor
> speed ("cpu MHz" and "clock") but since only "model name" and "cpu" are looked
> at and only "model name" contains that extra info, this is why for the ppc64
> system, it is not displayed though it is separately available from the "clock"
> record.
> 
> I am considering creating a patch for the case when "model name" is not
> available but "cpu" is which will simply append the "clock" text (if
> available) to the "cpu" text. Anyone suggest a better or alternative
> solution?
> 
> regards,




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]