Re: AF_BUS socket address family

From: Chris Friesen
Date: Tue Jul 03 2012 - 13:18:49 EST


On 07/03/2012 10:52 AM, Chris Friesen wrote:

To be fair, since it was implemented as a separate protocol family the
maintenance burden actually hasn't been large--it's been fairly simple
to port between versions. Also, we do embedded telecom stuff and don't
jump kernel versions all that often. (It's a big headache, requires
coordinating between multiple vendors, etc.)

In our case we typically send small (100-200 byte) messages to a
smallish (1-10) number of listeners, though there are exceptions of
course. Back before I started the original implementation used a
userspace daemon, but it had a number of issues. Originally I was
focussed on the performance gains but I must admit that since then other
factors have made that less of an issue.

I should point out that some of the other factors that have been discussed for AF_BUS also hold true for our implementation:

--strict ordering
--reliable (in our case, if the sender has space in the tx buffer then messages get to all recipients with buffer space, there are kernel logs if recipients don't have space)

Also, the fact that it's in the kernel rather than a userspace daemon reduces priority inversion type issues. Presumably this would apply to an IP-multicast based solution as well.

One problem that I ran into back when I was experimenting with this stuff was trying to isolate host-local IP multicast from the rest of the network. It would be suboptimal to need to set up filtering and such before being able to use the communication protocol.

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/