Much improved sosend_*() functions
Andre Oppermann
andre at freebsd.org
Fri Sep 29 14:08:09 PDT 2006
Randall Stewart wrote:
> Mike Silbersack wrote:
>> On Fri, 29 Sep 2006, Andre Oppermann wrote:
>>
>>
>>> over it an copies the data into the mbufs by using uiomove().
>>> sosend_dgram()
>>> and sosend_generic() are change to use m_uiotombuf() instead of
>>> sosend_copyin().
>>
>> Can you do some UDP testing with 512b, 1K, 2K, 4K, 8K, and 16K packets to
>> see if performance changes there as well?
>
> Hmm.. I would think 512b and 1K will not show any
> improvement.. since they would probably end up either
> in an mbuf chain.. or a single 2k (or maybe 4k) cluster..
> ... quite a waste.. now if we had 512b and 1k clusters that
> would be cool...
>
> In fact I have always thought we should:
>
> a) have no data portion in an mbuf.. just pointers i.e. always
> an EXT
>
> b) Have a 256/512 and 1k cluster too..
>
> This would allow copy by reference no matter what size si
> being sent...
>
> But of course .. thats just me :-)
Well, people tell me to "profile, not speculate". So I'm doing it
now with quite some success. Lets file your little rant here into
the same category. ;-)
--
Andre
More information about the freebsd-net
mailing list