PropertiesChanged signal

Rémi Denis-Courmont remi at remlab.net
Sat May 8 07:42:08 PDT 2010


Le samedi 8 mai 2010 17:08:53 Lennart Poettering, vous avez écrit :
> On Sat, 08.05.10 17:06, Rémi Denis-Courmont (remi at remlab.net) wrote:
> > Le samedi 8 mai 2010 16:19:48 Lennart Poettering, vous avez écrit :
> > > My recommendation for this would be to do something that has recently
> > > been done in libudev to minimize wakeups in the monitoring clients
> > > there: pass along pre-calculated bloom filters with the packets and
> > > use BSD socket filters to test them and supress unmatched packets.
> > 
> > If I'm not mistaken, udev uses Netlink sockets with datagram semantics. I
> > wonder how BPF is supposed to work with stream socket semantics, that
> > DBus currently uses.
> 
> Probably by going for SOCK_SEQPACKET then.

As far as I know, SOCK_SEQPACKET means any single DBus message must fit in the 
kernel-space socket buffer. Currently that defaults to 128kb on Linux. Not 
sure what limit distros configure the dbus-daemon with, but the protocol 
allows for much much large packets.

I would agree that sending large packets over DBus is stupid anyway (yeah, 
Telepathy, I mean you). Correct congestion control is not possible for multi-
point communication over a single stream. This can result in head-of-line 
blocking. But that's a totally separate discussion to excessive wakeups.

-- 
Rémi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


More information about the dbus mailing list