Re: Much improved sendfile(2) kernel implementation

From: Andre Oppermann <andre_at_freebsd.org>
Date: Thu, 21 Sep 2006 14:29:34 +0200
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?

This danger is and has been always present.  This normal socket behavior
and happens no matter which method (write or sendfile) you use.  Even the
current sendfile(2) fills the socket buffer when the connection is in slow
start.  It just spends more CPU once the connection is going and getting
throughput (and it doesn't make much use of TSO there).

-- 
Andre
Received on Thu Sep 21 2006 - 10:29:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:00 UTC