Does FreeBSD have sendmmsg or recvmmsg system calls?

Adrian Chadd adrian.chadd at gmail.com
Sun Jan 3 18:02:38 UTC 2016


On 3 January 2016 at 09:46, Robert Watson <rwatson at freebsd.org> wrote:
> On Sun, 3 Jan 2016, Rui Paulo wrote:
>
>>> NetBSD 7.0 has just introduced these two syscalls. And Linux also has
>>> them.
>>>
>>> Does FreeBSD have them? Or plan to support them in the future?
>>
>>
>> FreeBSD does not have them.  It doesn't seem especially hard to implement,
>> though.  Do you know any major application already using them?
>
>
> I see no harm in having the system calls.  When I chatted with the authors
> of nsd a couple of years ago (they had originally promoted the approach),
> they told me they felt it only offered incremental benefit and didn't
> particularly recommend that FreeBSD adopt it.  However, it would undoubtably
> see use and does offer some opportunities for future batching-related
> performance operations, so if someone wants to pursue introducing it, do go
> ahead.  Or just introduce a libc implementation that can be converted to a
> kernel implementation later if that is determined to be beneficial.  But the
> nsd observations don't (currently) lead me to believe that it is critical to
> do so.

There's a paper from Yahoo! from a while ago where they did, among
other things, add this functionality (to linux.)

It doesn't help at low connection rates. It helps at high connection /
concurrency rates as the time going in/out of the kernel and getting
back to steady state execution changes.

I can't find the paper off-hand, but it is out there.

I can benchmark it on my UDP RSS stuff and see if it helps at the
highest connection rates. :)


-adrian


More information about the freebsd-net mailing list