process wakeups
Daniel P. Berrange
berrange at redhat.com
Tue Jul 15 15:50:02 UTC 2008
On Mon, Jul 14, 2008 at 02:57:56PM -0700, Ulrich Drepper wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> One of the worst problems wrt energy savings we have today are all the
> wakeups processes request. This is not just an issue for laptops, it
> relevant everywhere.
>
> To see the size of the problem run the attached systemtap script. On my
> laptop I see the following output (47 secs runtime):
>
> uid | poll select epoll itimer futex nanosle signal| process
> 2397 | 16 0 0 0 0 0 0| libvirtd
This isn't libvirtd's fault - we don't use any timeouts, and only
break out of poll() if there's real work todo. In this case it
appears we're being woken up once every 5 seconds, bt a message
from the DBus system bus saying
NameOwnerChanged (nil) 1.237
and then almost immediately
NameOwnerChanged 1.237 (nil)
Which basically means that every 6 seconds some app is connecting to
DBus and then almost immediately disconnecting again. What's most annoying
is that I've not actually requested that DBus send me this signal.
Anyway, a systemtap script probing 'unix_stream_connect' identifies the
cuplrits..
# cat conn.stap
probe kernel.function("unix_stream_connect").return {
if ($return == 0) {
p = pid()
n = execname()
printf ("%d %d %s\n", gettimeofday_s(), p, n)
}
}
[root at t60wlan ~]# stap conn.stap
1216136855 8215 hal-is-caller-p
1216136855 8217 hal-ipw-killswi
1216136861 8219 hal-is-caller-p
1216136861 8221 hal-ipw-killswi
1216136867 8223 hal-is-caller-p
1216136867 8225 hal-ipw-killswi
Aka
/usr/libexec/hal-ipw-killswitch-linux
/usr/bin/hal-is-caller-privileged
which both seem to be spawned once every 5-6 seconds :-(
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
More information about the fedora-devel-list
mailing list