Much improved sendfile(2) kernel implementation

Robert Watson rwatson at FreeBSD.org
Thu Sep 21 10:08:10 PDT 2006


On Thu, 21 Sep 2006, Peter Jeremy wrote:

> On Wed, 2006-Sep-20 23:59:13 +0200, Andre Oppermann wrote:
>> I have rewritten kern_sendfile() to work in two loops, the inner which 
>> turns as many pages into mbufs as it can up to the free send socket buffer 
>> space.
>
> The 64K blocks sounds good but how does this interact with TCP slow start? 
> Is there the possibility that a couple (for some reasonably large value of 
> 'couple') of TCP connections slowly accepting a file could eat all the mbuf 
> space?

In principle, existing socket buffer resource limits are the way to prevent 
this from happening -- sendfile() should continue to obey them as before, we 
are just better able to use the available buffer space if it exists.

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the freebsd-net mailing list