Public bug reported:

Binary package hint: scim

Note: this problem is fixed upstream, and the fix is integrated on the
new scim release (scim 0.4.7). I report the bug here so Ubuntu do
consider either updating the scim package for Gutsy release, or backport
the fix (this is just a few line diff).

PowerTOP tool (http://www.linuxpowertop.org/), revealed that scim-
launcher is on the top battery drains on laptops, by causing a total of
13 or 14 CPU wakeups from idle per second (10 from a scim-launcher
process, and 3/4 from scim-panel-gtk). Asking on the powertop's IRC
channel, an other SCIM user confirmed this behaviour on his system
(confirmed again by an other friend by email).

The main problem (for the 10 wakeups/second part) stands in 
modules/FrontEnd/scim_x11_frontend.cpp (lines 460 to 503), where a select() is 
run in an infinite loop (in "while (!m_should_exit)") with a very short timeout 
of 0.1 second (100000 usec). This select() is restarted after every timeout 
unless a global variable (m_should_exit)
is modified by an external source.

I didn't yet investigated the cause of the 3-4 scim-panel-gtk's wakeups
(strace shows a loop of gettimeofday() and poll() calls). Fixing those
problems should significantly improve batteries lifetime for SCIM users
(by default on Ubuntu, every Chinese and Japanese user) out there.

** Affects: scim (Ubuntu)
     Importance: Undecided
         Status: New

-- 
scim-launcher select() shorts timeouts causes too much CPU wakeups
https://bugs.launchpad.net/bugs/122445
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to