From: Tom Herbert <therbert@google.com>
To: David Miller <davem@davemloft.net>
Cc: rick.jones2@hp.com, netdev@vger.kernel.org
Subject: Re: Generalizing mmap'ed sockets
Date: Fri, 19 Nov 2010 14:49:46 -0800 [thread overview]
Message-ID: <AANLkTik7HU0wyub3krZb_aABsHp-_LvNLtAr5CaAo4_A@mail.gmail.com> (raw)
In-Reply-To: <20101119.140818.242132853.davem@davemloft.net>
> I think the ACK (or for UDP, the kfree_skb() after TX completes) should
> move the consumer pointer. Otherwise you have to copy, and the ACKs
> do not clock the sender process properly.
>
Right, with the caveats that even ACK'ed data might still go out on
the with that was discussed in the vmsplice() related patches. I
don't think this should make the problem any worse.
> But you do bring up an interesting point about TX buffer space sizing.
>
> This whole scheme currently seems to completely ignore buffer size
> auto-tuning done by TCP, and that won't fly I think. :-)
>
> The whole point is to make it so that applications do not need to know
> about that aspect of buffering at all. With the current mmap design
> we're back to the stone ages where the app essentially has to pick an
> explicit send buffer size.
True, and I would never say that this is suitable replacement for all
TCP transmit. However, there are specialized applications where this
could be applied. Note that the buffer is not just a kernel buffer,
it is also an application visible buffer with more purpose than just
buffering data for transmit. For instance, an application using RPC
could assemble it's message directly into this buffer (which is cool).
The obvious alternative would be to malloc a buffer and then just use
vmsplice(), either way the application will be allocating a send
buffer for its work.
Tom
next prev parent reply other threads:[~2010-11-19 22:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-19 20:04 Generalizing mmap'ed sockets Tom Herbert
2010-11-19 21:32 ` Rick Jones
2010-11-19 21:52 ` David Miller
2010-11-19 21:55 ` Tom Herbert
2010-11-19 21:58 ` Rick Jones
2010-11-19 22:08 ` David Miller
2010-11-19 22:47 ` Rick Jones
2010-11-19 22:49 ` Tom Herbert [this message]
2010-11-24 19:57 ` Michael S. Tsirkin
2010-11-19 22:10 ` Andrew Grover
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTik7HU0wyub3krZb_aABsHp-_LvNLtAr5CaAo4_A@mail.gmail.com \
--to=therbert@google.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=rick.jones2@hp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).