|
|
Re: AF_BUS socket address family |
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 netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel Discussion] [Ethernet Bridging] [Linux Wireless Networking] [Linux Bluetooth Networking] [Linux Networking Users] [VLAN] [Git] [IETF Annouce] [Linux Assembly] [Security] [Bugtraq] [Photo] [Singles Social Networking] [Yosemite Information] [MIPS Linux] [ARM Linux Kernel] [ARM Linux] [Linux Virtualization] [Linux Security] [Linux IDE] [Linux RAID] [Linux SCSI] [Free Dating]
![]() |
![]() |