After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 620599 - hamster-applet 2.30.1 generates an unacceptable number of CPU wakeups-from-idle per second
hamster-applet 2.30.1 generates an unacceptable number of CPU wakeups-from-id...
Status: RESOLVED DUPLICATE of bug 615338
Product: hamster-applet
Classification: Deprecated
Component: general
2.30.x
Other Linux
: Normal normal
: ---
Assigned To: hamster-applet-maint
hamster-applet-maint
Depends on:
Blocks:
 
 
Reported: 2010-06-04 20:35 UTC by James Ralston
Modified: 2010-06-05 10:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description James Ralston 2010-06-04 20:35:06 UTC
I use hamster-applet extensively on multiple computers. It's a fantastic tool, and I'm very grateful for all of the hard work various developers have put into it. (Seriously... I don't know how I'd track my time under Linux without it.)

Those were the kind words. Now, unfortunately, comes the unkind words. :-(

For hamster-applet-2.28.3-0.1.20100215git.fc12 on Fedora 12, hamster-applet generates very few interrupts per second. This is largely because if hamster-applet is not active, it sits in a poll() loop that doesn't timeout until the next (clock wall) minute rolls over:

poll([{fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=3, events=POLLIN|POLLPRI}, {fd=5, events=POLLIN}, {fd=26, events=POLLIN}, {fd=29, events=POLLIN}, {fd=30, events=POLLIN}, {fd=28, events=POLLIN}, {fd=27, events=POLLIN}], 10, 22869

I.e., the timeout value (the third argument) varies between 0 and 60000 milliseconds.

But this behavior changed with hamster-applet-2.30.1-1.fc13 on Fedora 13. Now, hamster-applet always seems to use 11 milliseconds for the poll() timeout. As a result, hamster-applet causes an additional ~180 wakeups-from-idle per second (using powertop to measure both with and without hamster-applet running).

Guys, I'm not sure what problem you (plural) were trying to solve by making this change, but I'm sorry: it is TOTALLY unacceptable to have a non-active, non-focused panel applet generate this phenomenal amount wakeups-from-idle per second. Not only is it a waste of power, but for people using laptops, running hamster-applet could be the difference whether the laptop's batteries make it through the meeting/presentation, or whether the laptop's batteries die before then.

The version of hamster-applet that Fedora supplies for Fedora 12 was generated thusly:

$ git clone git://git.gnome.org/hamster-applet
$ cd hamstet-applet
$ git checkout d07e7ee0dadbf0d71c48fb825d9f8aae471a2723
$ ./autogen.sh
$ make dist
$ mv hamster-applet-2.28.3.tar.gz hamster-applet-2.28.3-20100215git.tar.gz

It is otherwise unpatched. Similarly, hamster-applet-2.30.1-1.fc13 for Fedora 13 is built solely from the 2.30.1 tarball, with no patches.

When I take hamster-applet-2.28.3-0.1.20100215git.fc12.src.rpm and rebuild it for Fedora 13, it has the same polling behavior as on Fedora 12; that is, it sleeps between 0 and 60000 milliseconds. Thus, I know that other differences between Fedora 12 and Fedora 13 aren't the source of hamster-applet's unacceptable behavior; something in hamster-applet itself had to change to do this.

In summary, this change is a severe problem that makes hamster-applet antagonistic to people using laptops or other low-power/battery-powered devices. It should be addressed ASAP.

(I'm a Fedora developer and I know my way around git, so I will happily test any patches you provide and/or apply to git.)
Comment 1 Toms Bauģis 2010-06-04 21:01:41 UTC
you sure spilled some ink here :)

*** This bug has been marked as a duplicate of bug 615338 ***
Comment 2 Toms Bauģis 2010-06-04 21:26:46 UTC
forgot to mention that, as the dates in the other bug suggest, the problem was diagnosed and fix applied after releasing 2.30.1.
Comment 3 James Ralston 2010-06-04 23:23:23 UTC
Ah. I must've forgotten to search closed bugs as well as open ones. ;-)
Comment 4 Toms Bauģis 2010-06-05 10:57:48 UTC
i rather wonder why didn't you try out the latest 2.30 and master branches before