GNOME Bugzilla – Bug 620599
hamster-applet 2.30.1 generates an unacceptable number of CPU wakeups-from-idle per second
Last modified: 2010-06-05 10:57:48 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.)
you sure spilled some ink here :) *** This bug has been marked as a duplicate of bug 615338 ***
forgot to mention that, as the dates in the other bug suggest, the problem was diagnosed and fix applied after releasing 2.30.1.
Ah. I must've forgotten to search closed bugs as well as open ones. ;-)
i rather wonder why didn't you try out the latest 2.30 and master branches before