← Back to team overview

desktop-packages team mailing list archive

[Bug 906916] [NEW] gwibber-service has a child that polls at 10Hz which is causing a lot of wakeup events

 

Public bug reported:

The gwibber-service forks off a child process that runs a polling loop
constantly at 10Hz which causes a lot of wakeups on an idle system.  On
my Lenovo X220i this  constitutes 7% of the wakeups on a cleanly
installed system when running idle.   Extraneous wakeups waste power and
reduce battery life.

You can see the offending task using strace:

sudo strace -f /usr/bin/gwibber-service

and after about 8 or so seconds you can then observe the select(), wait() polling loop:
...
[pid 11711] select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
[pid 11711] wait4(11710, 0x7f3991defb8c, WNOHANG, NULL) = 0
[pid 11711] wait4(11709, 0x7f3991defb8c, WNOHANG, NULL) = 0
[pid 11711] select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
[pid 11711] wait4(11710, 0x7f3991defb8c, WNOHANG, NULL) = 0
[pid 11711] wait4(11709, 0x7f3991defb8c, WNOHANG, NULL) = 0
[pid 11711] select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)

This is overkill in my opinion and any code that sits in a tight polling
loop like this need re-engineering to be more power friendly.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: gwibber-service 3.2.1-0ubuntu1.3
ProcVersionSignature: Ubuntu 3.0.0-14.23-generic 3.0.9
Uname: Linux 3.0.0-14-generic x86_64
ApportVersion: 1.23-0ubuntu4
Architecture: amd64
Date: Tue Dec 20 14:40:04 2011
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
PackageArchitecture: all
SourcePackage: gwibber
UpgradeStatus: No upgrade log present (probably fresh install)

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


** Tags: amd64 apport-bug oneiric running-unity

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gwibber in Ubuntu.
https://bugs.launchpad.net/bugs/906916

Title:
  gwibber-service has a child that polls at 10Hz which is causing a lot
  of wakeup events

Status in “gwibber” package in Ubuntu:
  New

Bug description:
  The gwibber-service forks off a child process that runs a polling loop
  constantly at 10Hz which causes a lot of wakeups on an idle system.
  On my Lenovo X220i this  constitutes 7% of the wakeups on a cleanly
  installed system when running idle.   Extraneous wakeups waste power
  and reduce battery life.

  You can see the offending task using strace:

  sudo strace -f /usr/bin/gwibber-service

  and after about 8 or so seconds you can then observe the select(), wait() polling loop:
  ...
  [pid 11711] select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
  [pid 11711] wait4(11710, 0x7f3991defb8c, WNOHANG, NULL) = 0
  [pid 11711] wait4(11709, 0x7f3991defb8c, WNOHANG, NULL) = 0
  [pid 11711] select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
  [pid 11711] wait4(11710, 0x7f3991defb8c, WNOHANG, NULL) = 0
  [pid 11711] wait4(11709, 0x7f3991defb8c, WNOHANG, NULL) = 0
  [pid 11711] select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)

  This is overkill in my opinion and any code that sits in a tight
  polling loop like this need re-engineering to be more power friendly.

  ProblemType: Bug
  DistroRelease: Ubuntu 11.10
  Package: gwibber-service 3.2.1-0ubuntu1.3
  ProcVersionSignature: Ubuntu 3.0.0-14.23-generic 3.0.9
  Uname: Linux 3.0.0-14-generic x86_64
  ApportVersion: 1.23-0ubuntu4
  Architecture: amd64
  Date: Tue Dec 20 14:40:04 2011
  EcryptfsInUse: Yes
  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
  PackageArchitecture: all
  SourcePackage: gwibber
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gwibber/+bug/906916/+subscriptions


Follow ups

References