From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Jakob Oestergaard <jakob@unthought.net>
Cc: Jeff Dike <jdike@karaya.com>, Andrew Morton <akpm@digeo.com>,
linux-kernel@vger.kernel.org
Subject: Re: 2.4.20-rc1 - hang with processes stuck in D
Date: 08 Nov 2002 19:43:10 +0100 [thread overview]
Message-ID: <shslm437vi9.fsf@charged.uio.no> (raw)
In-Reply-To: <20021108041755.GD1729@unthought.net>
>>>>> " " == Jakob Oestergaard <jakob@unthought.net> writes:
> I suspected NFS problems (looks like someone re-wrote NFS
> between 2.4.18 and 2.4.20-rc1) - but this is *not* the case.
> The pauses happen on locally running processes as well.
> It seems to correlate well with a remote host delivering a mail
> (using maildir over NFS) - but this is not the only situation
> in which it happens.
> Everything using disk, both on NFS clients and locally running
> processes, just pause. Five seconds after everything is like it
> never happened.
If you are using HIGHMEM, then the stock 2.4.20-rc1 has a known issue
with an unbalanced kmap. Marcelo has already applied the following
patch in the latest bitkeeper update.
Cheers,
Trond
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.774 -> 1.775
# net/sunrpc/xdr.c 1.7 -> 1.8
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/11/06 trond.myklebust@fys.uio.no 1.775
# [PATCH] another kmap imbalance in 2.4.x/2.5.x RPC
#
# >>>>> Andrew Ryan <andrewr@nam-shub.com> writes:
# > So far so good on the crashes. I'm able to get through a
# > complete run of dbench using TCP mounts on 2.4.20rc1, which I
# > haven't been able to do before this.
#
# Marcelo, Linus
#
# We've uncovered yet another kmap imbalance in the new RPC code. This
# looks like it might be the last one (my debugging printks have been
# unable to unearth any more). One line fix + 4 line comment
# appended. Please apply to both 2.4.20-rc1 and 2.5.45...
#
# Cheers,
# Trond
# --------------------------------------------
#
diff -Nru a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c
--- a/net/sunrpc/xdr.c Fri Nov 8 19:42:24 2002
+++ b/net/sunrpc/xdr.c Fri Nov 8 19:42:24 2002
@@ -244,6 +244,11 @@
pglen -= base;
base += xdr->page_base;
ppage += base >> PAGE_CACHE_SHIFT;
+ /* Note: The offset means that the length of the first
+ * page is really (PAGE_CACHE_SIZE - (base & ~PAGE_CACHE_MASK)).
+ * In order to avoid an extra test inside the loop,
+ * we bump pglen here, and just subtract PAGE_CACHE_SIZE... */
+ pglen += base & ~PAGE_CACHE_MASK;
}
for (;;) {
flush_dcache_page(*ppage);
next prev parent reply other threads:[~2002-11-08 18:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-06 0:25 2.4.20-rc1 - hang with processes stuck in D Jeff Dike
2002-11-06 0:37 ` Andrew Morton
2002-11-06 3:08 ` Jeff Dike
2002-11-08 4:17 ` Jakob Oestergaard
2002-11-08 18:43 ` Trond Myklebust [this message]
2002-11-09 22:39 ` Jakob Oestergaard
2002-11-08 9:01 ` Marcelo Tosatti
2002-11-10 21:22 ` Jeff Dike
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=shslm437vi9.fsf@charged.uio.no \
--to=trond.myklebust@fys.uio.no \
--cc=akpm@digeo.com \
--cc=jakob@unthought.net \
--cc=jdike@karaya.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.