From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: jstrand1@rochester.rr.com (James D Strandboge)
Cc: LINUX-KERNEL <linux-kernel@vger.kernel.org>
Subject: Re: status of nfs and tcp with 2.4
Date: 28 Sep 2001 10:46:26 +0200 [thread overview]
Message-ID: <shslmizaejh.fsf@charged.uio.no> (raw)
In-Reply-To: <20010927105321.A15128@rochester.rr.com> <shssnd88xae.fsf@charged.uio.no> <20010927131030.A15669@rochester.rr.com>
In-Reply-To: jstrand1@rochester.rr.com's message of "Thu, 27 Sep 2001 13:10:30 -0400"
>>>>> " " == James D Strandboge <jstrand1@rochester.rr.com> writes:
> On Thu, Sep 27, 2001 at 05:32:09PM +0200 or thereabouts, Trond
> Myklebust wrote:
>> None: AFAIK nobody has yet written any code that works for the
>> server.
> In your opinion, how involved would it be to write the tcp code
> since the udp is already written? I haven't actually looked
> into it much, and thought you might have some ideas, or perhaps
> pointers.
The biggest problem is to prevent the TCP server hogging all the
threads when a client gets congested.
With the UDP code, we use non-blocking I/O and simply drop all replies
that don't get through. For TCP dropping replies is not acceptable as
the client will only resend requests every ~60seconds. Currently, the
code therefore uses blocking I/O something which means that if the
socket blocks, you run out of free nfsd threads...
There are 2 possible strategies:
1 Allocate 1 thread per TCP connection
2 Use non-blocking I/O, but allow TCP connections to defer sending
the reply until the socket is available (and allow the thread to
service other requests while the socket is busy).
I started work on (2) last autumn, but I haven't had time to get much
done since then. It's on my list of priorities for 2.5.x though, so if
nobody else wants to get their hands dirty I will get back to it...
Cheers,
Trond
next prev parent reply other threads:[~2001-09-28 8:46 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-27 14:53 status of nfs and tcp with 2.4 James D Strandboge
2001-09-27 15:32 ` Trond Myklebust
2001-09-27 17:10 ` James D Strandboge
2001-09-27 17:27 ` Bill Rugolsky Jr.
2001-09-28 8:46 ` Trond Myklebust [this message]
2001-10-03 12:33 ` James D Strandboge
2001-10-03 14:31 ` Trond Myklebust
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=shslmizaejh.fsf@charged.uio.no \
--to=trond.myklebust@fys.uio.no \
--cc=jstrand1@rochester.rr.com \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.