GNOME Bugzilla – Bug 753309
NameOwnerChanged must be specific
Last modified: 2016-03-03 21:10:27 UTC
gnome-session seems to install matches for NameOwnerChanged signals without being specific about what to track. Such signals are sent every time a client connects to the bus, so the application is woken up on each occasion. That doesn't scale and should be fixed, so only peers gnome-session is really interested in are tracked.
Sorry, this is about gnome-shell.
hmm, are you sure this is about gnome-shell? i don't see that in a brief look in the code, but I do see it for gnome-session in the code.
I've seen gnome-shell raising its load significantly when the bus is put under stress by connect/disconnect loops. In any case, no component should install unspecific NameOwnerChanged matches.
Created attachment 323025 [details] [review] manager: get rid of global NameOwnerChanged handler Listening for NameOwnerChanged on the bus is costly, since it means waking up basically any time any program is started or exists. This commit changes the code to instead create individual watches, instead of one global watch.
Attachment 323025 [details] pushed as 79ab4f2 - manager: get rid of global NameOwnerChanged handler