When running pidgin with SILC account, the wakeups are huge:
Top causes for wakeups: 41.1% (316.0) pidgin : schedule_timeout
Once I disabled SILC account pidgin doesn't even show up on the radar.
It looks like the silcclient library has it's own event loop. But in Pidgin we
use the glib event loop, so in order to process incoming silc events we have a
timer set to run silc_client_run_one() every 5 milliseconds.
I changed the timer to run every 50 milliseconds, and I'll let the silc guy know
about this bug report and hopefully he can work out something elegantly
Latest silc client toolkit (libsilc) in rawhide is fully event based, not using
polling at all, so should resolve this completely. Pidgin works with it too! :)