[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20090118103339.GA14823@ioremap.net>
Date: Sun, 18 Jan 2009 13:33:39 +0300
From: Evgeniy Polyakov <zbr@...emap.net>
To: bert hubert <bert.hubert@...herlabs.nl>,
Bill Fink <billfink@...dspring.com>,
Herbert Xu <herbert@...dor.apana.org.au>,
ilpo.jarvinen@...sinki.fi, h.willstrand@...il.com,
netdev@...r.kernel.org
Subject: Re: sendfile(), SO_LINGER, RST etc summary, please check
Hi Bert.
On Sat, Jan 17, 2009 at 11:02:29PM +0100, bert hubert (bert.hubert@...herlabs.nl) wrote:
> As promised, I've written a summary based on all your fine answers with
> regards to my questions on why a close() delivered an immediate RST, even
> though I had SO_LINGER enabled.
>
> The most up to date version can be found on
> http://ds9a.nl/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable.txt
>
> And I've also included it here. I hope you find the time to see if
> everything I wrote is correct. Suggestions for additional material are also
> very welcome!
Looks very good, thanks for storing the docs!
> But it does not wait until all the data has been acknowledged.
>
> I don't yet known how the slice() function call behaves in this situation.
splice() from the fd to socket behaves exactly the same, since right now
sendfile() is implemented as a splice(). Other directions are not
affected by this behaviour (like socket-pipe-socket). Userspace memory
to socket (aka vmsplice()) iirc behaves exactly like splice(), i.e. it
is not allowed to write to the area being transmitted until explicit ack
was received.
--
Evgeniy Polyakov
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists