So I added some debugging output to dbus.  When it peaked, it spent over
a third of the CPU entirely in get_recipients_from_list().  (This is
dbus checking if an incoming signal matches any of the rules added by
org.freedesktop.DBus.AddMatch -- i.e. signal subscriptions.  It does
this for every rule, for every connection.)

So we can reduce the time spent there by being more efficient, by
reducing the number of subscriptions, or reducing the number of signals.

Looking at which rules it's checking, the majority are subscriptions on
NetworkManager.  One per access point, one per device, from multiple
connections.  Could connectivity-cpp be a bit too subscription-greedy?

I'm not sure that get_recipients_from_list is the only (or worst)
culprit here.  Just something I noticed.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1480877

Title:
  Access points' "PropertiesChanged" dbus signals freeze UI on mobile
  devices

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1480877/+subscriptions

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

Reply via email to