From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Andrew Morton <akpm@zip.com.au>
Cc: Anton Altaparmakov <aia21@cantab.net>,
"David S. Miller" <davem@redhat.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [2.5.20-BUG] 3c59x + highmem + acpi + nfs -> kernel panic
Date: 03 Jun 2002 13:32:56 +0200 [thread overview]
Message-ID: <shshekkbnrr.fsf@charged.uio.no> (raw)
In-Reply-To: <1023096034.19717.62.camel@storm.christs.cam.ac.uk> <3CFB3B87.74C7E9DF@zip.com.au>
>>>>> " " == Andrew Morton <akpm@zip.com.au> writes:
> Anton Altaparmakov wrote:
>>
>> Hi,
>>
>> Just got this (reproducible) kernel panic (BUG in
>> asm-i386/highmem.h::kmap_atomic(), the if
>> (!pte_none(*(kmap_pte-idx))) BUG(); triggers). It happens every
>> time I boot and on an NFS mount do a ./configure.
> Dunno about this one. I'm seeing some (totally different) NFS
> funnies at present - pagecache data on the client is coming up
> zeroes under memory pressure. Trond mentioned that NFS
> recently went to kmap_atomic, so there is a common thread
> there.
Following an off-list chat with David, I believe that the appended
patch should fix the problem reported by Anton. It replaces the
obsolete km_type "KM_SKB_DATA" with an entry that the RPC layer can
use in the socket bottom half.
I'm less sure whether or not it will fix your problem, Andrew, but I'm
hoping you'll find time to give it a brief test ;-)...
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.413 -> 1.414
# include/asm-ppc/kmap_types.h 1.7 -> 1.8
# include/asm-x86_64/kmap_types.h 1.1 -> 1.2
# include/asm-sparc/kmap_types.h 1.5 -> 1.6
# net/sunrpc/xdr.c 1.7 -> 1.8
# include/asm-i386/kmap_types.h 1.6 -> 1.7
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/06/03 trond.myklebust@fys.uio.no 1.414
# include/asm-*/kmap_types.h:
# Replace the obsolete km_type KM_SKB_DATA with KM_SKB_SUNRPC_DATA.
#
# net/sunrpc/xdr.c:
# Replace KM_USER0 with KM_SKB_SUNRPC_DATA in xdr_partial_copy_from_skb
# --------------------------------------------
#
diff -Nru a/include/asm-i386/kmap_types.h b/include/asm-i386/kmap_types.h
--- a/include/asm-i386/kmap_types.h Tue Feb 19 16:27:39 2002
+++ b/include/asm-i386/kmap_types.h Mon Jun 3 12:39:12 2002
@@ -11,7 +11,7 @@
enum km_type {
D(0) KM_BOUNCE_READ,
-D(1) KM_SKB_DATA,
+D(1) KM_SKB_SUNRPC_DATA,
D(2) KM_SKB_DATA_SOFTIRQ,
D(3) KM_USER0,
D(4) KM_USER1,
diff -Nru a/include/asm-ppc/kmap_types.h b/include/asm-ppc/kmap_types.h
--- a/include/asm-ppc/kmap_types.h Sat Mar 2 10:03:46 2002
+++ b/include/asm-ppc/kmap_types.h Mon Jun 3 12:39:12 2002
@@ -7,7 +7,7 @@
enum km_type {
KM_BOUNCE_READ,
- KM_SKB_DATA,
+ KM_SKB_SUNRPC_DATA,
KM_SKB_DATA_SOFTIRQ,
KM_USER0,
KM_USER1,
diff -Nru a/include/asm-sparc/kmap_types.h b/include/asm-sparc/kmap_types.h
--- a/include/asm-sparc/kmap_types.h Tue Feb 5 16:21:48 2002
+++ b/include/asm-sparc/kmap_types.h Mon Jun 3 12:39:12 2002
@@ -3,7 +3,7 @@
enum km_type {
KM_BOUNCE_READ,
- KM_SKB_DATA,
+ KM_SKB_SUNRPC_DATA,
KM_SKB_DATA_SOFTIRQ,
KM_USER0,
KM_USER1,
diff -Nru a/include/asm-x86_64/kmap_types.h b/include/asm-x86_64/kmap_types.h
--- a/include/asm-x86_64/kmap_types.h Thu Feb 7 15:27:25 2002
+++ b/include/asm-x86_64/kmap_types.h Mon Jun 3 12:39:12 2002
@@ -3,7 +3,7 @@
enum km_type {
KM_BOUNCE_READ,
- KM_SKB_DATA,
+ KM_SKB_SUNRPC_DATA,
KM_SKB_DATA_SOFTIRQ,
KM_USER0,
KM_USER1,
diff -Nru a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c
--- a/net/sunrpc/xdr.c Sat May 25 21:16:06 2002
+++ b/net/sunrpc/xdr.c Mon Jun 3 13:13:30 2002
@@ -290,7 +290,7 @@
char *kaddr;
len = PAGE_CACHE_SIZE;
- kaddr = kmap_atomic(*ppage, KM_USER0);
+ kaddr = kmap_atomic(*ppage, KM_SKB_SUNRPC_DATA);
if (base) {
len -= base;
if (pglen < len)
@@ -302,7 +302,7 @@
len = pglen;
ret = copy_actor(desc, kaddr, len);
}
- kunmap_atomic(kaddr, KM_USER0);
+ kunmap_atomic(kaddr, KM_SKB_SUNRPC_DATA);
if (ret != len || !desc->count)
return;
ppage++;
next prev parent reply other threads:[~2002-06-03 11:33 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-03 9:20 [2.5.20-BUG] 3c59x + highmem + acpi + nfs -> kernel panic Anton Altaparmakov
2002-06-03 9:48 ` Andrew Morton
2002-06-03 11:32 ` Trond Myklebust [this message]
2002-06-04 6:37 ` Andrew Morton
2002-06-04 11:39 ` Trond Myklebust
2002-06-04 10:39 ` David S. Miller
2002-06-04 12:10 ` Trond Myklebust
2002-06-04 11:46 ` Anton Altaparmakov
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=shshekkbnrr.fsf@charged.uio.no \
--to=trond.myklebust@fys.uio.no \
--cc=aia21@cantab.net \
--cc=akpm@zip.com.au \
--cc=davem@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox