From: "David S. Miller" <davem@redhat.com>
To: taka@valinux.co.jp
Cc: ak@suse.de, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] zerocopy NFS updated
Date: Sun, 14 Apr 2002 21:23:08 -0700 (PDT) [thread overview]
Message-ID: <20020414.212308.33849971.davem@redhat.com> (raw)
In-Reply-To: <20020415.103013.62679757.taka@valinux.co.jp>
From: Hirokazu Takahashi <taka@valinux.co.jp>
Date: Mon, 15 Apr 2002 10:30:13 +0900 (JST)
I'd like to implenent sendpage of UDP stack which NFS uses heavily.
It may improve the performance of NFS over UDP dramastically.
I wonder if there were "SENDPAGES" interface instead of sendpage
between socket layer and inet layer, we could send some pages
atomically with low overhead.
And it could make implementing RPC over UDP easier
to send multiple pages as one UDP pakcet easily.
How do you think about this approach?
Sendpages mechanism will not be implemented.
You must implement UDP sendfile() one page at a time, by building up
an SKB with multiple calls similar to TCP with TCP_CORK socket option
set.
For datagram sockets, define temporary SKB hung off of struct sock.
Define UDP_CORK socket option which begins the "queue data only"
state.
All sendmsg()/sendfile() calls append to temporary SKB, first
sendmsg()/sendfile() call to UDP will create this sock->skb. First
call may be sendmsg() but subsequent calls for that SKB must be
sendfile() calls. If this pattern of calls is broken, SKB is sent.
Call to set UDP_CORK socket option to zero actually sends the SKB
being built.
The normal usage will be:
setsockopt(fd, UDP_CORK, 1);
sendmsg(fd, sunrpc_headers, sizeof(sunrpc_headers));
sendfile(fd, ...);
setsockopt(fd, UDP_CORK, 0);
next prev parent reply other threads:[~2002-04-15 4:31 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20020410.190550.83626375.taka@valinux.co.jp.suse.lists.linux.kernel>
2002-04-10 19:32 ` [PATCH] zerocopy NFS updated Andi Kleen
2002-04-11 2:30 ` David S. Miller
2002-04-11 6:46 ` Hirokazu Takahashi
2002-04-11 6:48 ` David S. Miller
2002-04-11 7:41 ` Hirokazu Takahashi
2002-04-11 7:52 ` David S. Miller
2002-04-11 11:38 ` Hirokazu Takahashi
2002-04-11 11:36 ` David S. Miller
2002-04-11 18:00 ` Denis Vlasenko
2002-04-11 13:16 ` Andi Kleen
2002-04-11 17:36 ` Benjamin LaHaise
2002-04-16 0:17 ` Mike Fedyk
2002-04-16 15:37 ` Oliver Xymoron
2002-04-11 17:33 ` Benjamin LaHaise
2002-04-12 8:10 ` Hirokazu Takahashi
2002-04-12 12:30 ` Hirokazu Takahashi
2002-04-12 12:35 ` Andi Kleen
2002-04-12 21:22 ` Jamie Lokier
2002-04-12 21:31 ` David S. Miller
2002-04-13 0:21 ` Jamie Lokier
2002-04-13 6:39 ` Andi Kleen
2002-04-13 8:01 ` Hirokazu Takahashi
2002-04-13 19:19 ` Eric W. Biederman
2002-04-13 19:37 ` Andi Kleen
2002-04-13 20:34 ` Eric W. Biederman
2002-04-24 23:11 ` Mike Fedyk
2002-04-25 17:11 ` Andreas Dilger
2002-04-13 18:52 ` Chris Wedgwood
2002-04-14 0:07 ` Keith Owens
2002-04-14 8:19 ` Chris Wedgwood
2002-04-14 8:40 ` Keith Owens
2002-04-12 21:39 ` David S. Miller
2002-04-15 1:30 ` Hirokazu Takahashi
2002-04-15 4:23 ` David S. Miller [this message]
2002-04-16 1:03 ` Hirokazu Takahashi
2002-04-16 1:41 ` Jakob Østergaard
2002-04-16 2:20 ` Hirokazu Takahashi
2002-04-18 5:01 ` Hirokazu Takahashi
2002-04-18 7:58 ` Jakob Østergaard
2002-04-18 8:53 ` Trond Myklebust
2002-04-19 3:21 ` Hirokazu Takahashi
2002-04-19 9:18 ` Trond Myklebust
2002-04-20 7:47 ` Hirokazu Takahashi
2002-04-25 12:37 ` Possible bug with UDP and SO_REUSEADDR. Was " Terje Eggestad
2002-04-26 2:43 ` David S. Miller
2002-04-26 7:38 ` Terje Eggestad
2002-04-29 0:41 ` Possible bug with UDP and SO_REUSEADDR David Schwartz
2002-04-29 8:06 ` Terje Eggestad
2002-04-29 8:44 ` David Schwartz
2002-04-29 10:03 ` Terje Eggestad
2002-04-29 10:38 ` David Schwartz
2002-04-29 14:20 ` Terje Eggestad
[not found] ` <200204192128.QAA24592@popmail.austin.ibm.com>
2002-04-20 10:14 ` [PATCH] zerocopy NFS updated Hirokazu Takahashi
2002-04-20 15:49 ` Andrew Theurer
2002-04-10 10:05 Hirokazu Takahashi
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=20020414.212308.33849971.davem@redhat.com \
--to=davem@redhat.com \
--cc=ak@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=taka@valinux.co.jp \
/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