mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Birger Lammering <b.lammering@science-computing.de>
Cc: linux-kernel@vger.kernel.org, kuznet@ms2.inr.ac.ru
Subject: more tcpdumpinfo for nfs3 problem: aix-server --- linux 2.4.15pre5 client
Date: Mon, 19 Nov 2001 19:22:08 +0100	[thread overview]
Message-ID: <15353.19920.461805.879956@charged.uio.no> (raw)
In-Reply-To: <15353.13652.591045.916300@stderr.science-computing.de>
In-Reply-To: <15352.56551.709659.146271@stderr.science-computing.de> <E165mPr-0006F5-00@the-village.bc.nu> <15353.13652.591045.916300@stderr.science-computing.de>

>>>>> " " == Birger Lammering <b.lammering@science-computing.de> writes:

     > 3133:3289(156) ack 514936 win 60032 16:27:26.282843 >
     > capc25.muc.799 > caes04.muc.nfs: . 514936:514936(0) ack 3289
     > win 8576 (DF)

     > from now on we get lot's of these:

     > 16:27:26.489024 > capc25.muc.576126976 > caes04.muc.nfs: 40
     > null (DF) 16:27:26.489647 < caes04.muc.nfs >
     > capc25.muc.576126976: reply ok 24 null

     > The cp command on the Linux nfs3-client side hangs and cannot
     > be killed. We get:

     > dmesg: nfs: server caes04 not responding, still trying

     > then after a while: dmesg: nfs: server caes04 OK

     > qx09820@capc25 /home/qx09820 > netstat | grep caes04 tcp 0 0
     > capc25.muc:798 caes04.muc:nfs ESTABLISHED

Ho hum... It looks to me as if the problem is that the Linux NFS
client is falling asleep before a write, and then not waking
up. That sort of points at the write_space() callback.

When the socket buffer is full, and we get an EAGAIN response to our
sendmsg() request, we normally put the request to sleep, block the
socket, and rely on write_space() to wake us up when there is enough
memory to proceed.

Assuming that this is the case, there are 2 possible causes:

   1) A bug in the IPV4 TCP layer in which we don't call write_space()
      despite having liberated enough memory to proceed.

   2) I've misunderstood the IPV4 tcp api, and so the check for
      sock_writeable() in net/sunrpc/xprt.c:tcp_write_space() is
      incorrect.

Alexey: Do you have any comments? Is it correct to check for
sock_writeable() on a TCP socket?


Birger: could you try the following patch, that simply removes the
check for sock_writeable()?

Cheers,
  Trond

--- linux-2.4.15-pre6/net/sunrpc/xprt.c.orig	Mon Oct  8 21:36:07 2001
+++ linux-2.4.15-pre6/net/sunrpc/xprt.c	Mon Nov 19 19:07:09 2001
@@ -1071,10 +1071,6 @@
 	if (xprt->shutdown)
 		return;
 
-	/* Wait until we have enough socket memory */
-	if (!sock_writeable(sk))
-		return;
-
 	if (!xprt_test_and_set_wspace(xprt)) {
 		spin_lock(&xprt->sock_lock);
 		if (xprt->snd_task && xprt->snd_task->tk_rpcwait == &xprt->sending)

  reply	other threads:[~2001-11-19 18:22 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <15349.39320.876188.274548@charged.uio.no>
2001-11-15 21:29 ` nfs problem: hp-server --- linux 2.4.13 client, ooops Birger Lammering
2001-11-15 23:58   ` Trond Myklebust
2001-11-16 11:45     ` nfs problem: hp|aix-server --- linux 2.4.15pre5 client Trond Myklebust
2001-11-16 12:01       ` Miquel van Smoorenburg
2001-11-16 12:24         ` Trond Myklebust
2001-11-16 11:24   ` Birger Lammering
2001-11-16 13:19     ` nfs problem: aix-server " Birger Lammering
2001-11-19 10:20       ` IPV4 socket layer, was: " Birger Lammering
2001-11-19 11:16         ` Alan Cox
2001-11-19 18:22           ` Trond Myklebust [this message]
2001-11-19 18:49             ` more tcpdumpinfo for nfs3 " kuznet
2001-11-19 18:55             ` Trond Myklebust
2001-11-19 19:09               ` kuznet
2001-11-19 19:29               ` Trond Myklebust
2001-11-19 19:52                 ` kuznet
2001-11-19 20:38                 ` Trond Myklebust
2001-11-19 21:17                   ` Trond Myklebust
2001-11-20 17:42                     ` kuznet
2001-11-20 19:39                     ` Trond Myklebust
2001-11-20 19:45                       ` kuznet
2001-11-20 20:29                         ` Trond Myklebust
2001-11-21 10:07                         ` Trond Myklebust
2001-11-21 17:05                           ` kuznet
2001-11-20 20:05                       ` Trond Myklebust
2001-11-20 20:18                       ` David S. Miller
2001-11-20 20:28                         ` more tcpdumpinfo for nfs3 problem: aix-server --- linux kuznet
2001-11-20 17:41                   ` more tcpdumpinfo for nfs3 problem: aix-server --- linux 2.4.15pre5 client kuznet
2001-11-19 16:37         ` Birger Lammering
2001-11-20  9:26           ` Birger Lammering
2001-11-21 19:09 Manfred Spraul

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=15353.19920.461805.879956@charged.uio.no \
    --to=trond.myklebust@fys.uio.no \
    --cc=b.lammering@science-computing.de \
    --cc=kuznet@ms2.inr.ac.ru \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®