[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081112181134.GA5396@ioremap.net>
Date: Wed, 12 Nov 2008 21:11:34 +0300
From: Evgeniy Polyakov <zbr@...emap.net>
To: "Lovich, Vitali" <vlovich@...lcomm.com>
Cc: Johann Baudy <johaahn@...il.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING
On Wed, Nov 12, 2008 at 09:59:20AM -0800, Lovich, Vitali (vlovich@...lcomm.com) wrote:
> They aren't racy - not in the sense that your suggestion would make it. With current splice & sendfile, when it returns from the syscall, the user knows that it has been transmitted and thus can continue using the file descriptors & memory (in the case of vmsplice). However, with your suggestion, the user could actually never know when it's safe to write into memory (even in a single-threaded situation). Thus it is racy in a single-threaded situation (even on a UP it's potentially racy) which is a pretty amazing feat. Consider:
Problem is, that when sendfile() returns nothing has been transferred.
And in some NICs it will take a while to actually make a transfer.
And what you wrote below is exactly the same problem as exists with
splice/sendfile in particular and ->sendpage() in general.
Please also update your mailer to wrap strings into 80-or-so lines, it
is hard to answer into the middle of the paragraph.
--
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