From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua>,
Gene Heskett <gene.heskett@verizon.net>,
Kernel Mailing List <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@osdl.org>
Subject: Re: Possible dcache BUG
Date: Thu, 5 Aug 2004 20:06:34 +0200 [thread overview]
Message-ID: <20040805180634.GA26732@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.58.0408050913320.24588@ppc970.osdl.org>
[-- Attachment #1: Type: text/plain, Size: 1952 bytes --]
* Linus Torvalds <torvalds@osdl.org> wrote:
> Anyway, one other thing that makes me worry is the fact that Gene
> apparently has a K7. One of the things AMD has gotten wrong several
> times is prefetching, and it so happens that the dcache code is one of
> the users of the prefetch instruction. prude_dcache() in particular.
hm, i too happen to have an Athlon64 box (running the x86 kernel) where
i can reproduce dcache pruning crashes after a few hours of testing
using a near-vanilla kernel. The crash is triggered by two infinite
loops of:
while true; do du /; done
while true;
dd if=/dev/zero of=/tmp/bigfile bs=1000000 count=500
sync
sleep 30
done
using FC2, stock normal ext3, 1GB of RAM, single-disk IDE and nothing
else.
NOTE: i discovered these crashes while working on the voluntary-preempt
stuff, so it's not a pristine kernel.
But i reproduced it using 2.6.8-rc2 plus voluntary-preempt=1 (i.e. no
softirq or hardirq redirection to process context) - so it does nothing
that CONFIG_PREEMPT wouldnt do. (i had CONFIG_PREEMPT on but
kernel_preemption=0.) I've attached 3 oopses.
this patch does introduce a conditional reschedule in prune_icache:
--- linux/fs/inode.c.orig
+++ linux/fs/inode.c
@@ -428,6 +429,8 @@ static void prune_icache(int nr_to_scan)
for (nr_scanned = 0; nr_scanned < nr_to_scan; nr_scanned++) {
struct inode *inode;
+ voluntary_resched_lock(&inode_lock);
+
if (list_empty(&inode_unused))
break;
but it should be perfectly fine to do that there.
NOTE2: i tried hard but couldnt reproduce the problem using the very
same kernel and the same workload on a PIII box. Once i ran it overnight
to check. Only the Athlon64 box does it. It could also be a hardware
problem - albeit the box withstood days of memtest86.
NOTE3: there's no history of instability on this box otherwise, but i
only started doing this test 1-2 weeks ago.
Ingo
[-- Attachment #2: 11 --]
[-- Type: text/plain, Size: 1425 bytes --]
Unable to handle kernel paging request at virtual address ffffffd8
printing eip:
c016a3d0
*pde = 00000000
Oops: 0000 [#1]
PREEMPT SMP
Modules linked in:
CPU: 0
EIP: 0060:[<c016a3d0>] Not tainted VLI
EFLAGS: 00010217 (2.6.8-rc2-mm2)
EIP is at remove_inode_buffers+0x60/0xe0
eax: 00000000 ebx: c03ba9dc ecx: 00000000 edx: c03ba8d0
esi: c03ba8d0 edi: c0379b2a ebp: c4115ec4 esp: c4115eac
ds: 007b es: 007b ss: 0068
Process kswapd0 (pid: 39, threadinfo=c4114000 task=c40aa070)
Stack: c03ba8d0 c0379b76 00000001 c03ba8d8 c03ba8d0 00000000 c4115ef8 c0186c4c
c03ba8d0 00000077 c4114000 00000000 0000004d 00000000 c4115ee4 c4115ee4
c4114000 c07fd6a0 00004e09 c4115f04 c0186df5 00000080 c4115f38 c014f4b3
Call Trace:
[<c01059ff>] show_stack+0x8f/0xb0
[<c0105bb3>] show_registers+0x163/0x1d0
[<c0105dc6>] die+0xe6/0x1c0
[<c0117773>] do_page_fault+0x213/0x6c0
[<c0105674>] exception_start+0x6/0xe
[<c0186c4c>] prune_icache+0x20c/0x390
[<c0186df5>] shrink_icache_memory+0x25/0x50
[<c014f4b3>] shrink_slab+0x123/0x1d0
[<c01511ee>] balance_pgdat+0x24e/0x2a0
[<c015130c>] kswapd+0xcc/0xe0
[<c0102899>] kernel_thread_helper+0x5/0xc
Code: 00 e0 ff ff 21 e0 ff 40 14 8d 47 4c 89 45 ec 31 c0 86 47 4c 84 c0 0f 8e 79 00 00 00 8b 86 0c 01 00 00 39 d8 74 23 89 c1 8d 76 00 <8b> 41 d8 a8 02 75 5a 8b 01 8b 51 04 89 02 89 09 89 50 04 8b 03
<6>note: kswapd0[39] exited with preempt_count 1
[-- Attachment #3: 12 --]
[-- Type: text/plain, Size: 1500 bytes --]
Unable to handle kernel NULL pointer dereference at virtual address 00000104
printing eip:
c014c0d1
*pde = 36c9c001
*pte = 00000000
Oops: 0002 [#1]
PREEMPT SMP
Modules linked in:
CPU: 0
EIP: 0060:[<c014c0d1>] Not tainted
EFLAGS: 00010016 (2.6.8-rc2)
EIP is at free_block+0x51/0xe0
eax: 00000100 ebx: e7d580c8 ecx: e7d58100 edx: e7d58100
esi: c40e5040 edi: 00000014 ebp: c413be38 esp: c413be1c
ds: 007b es: 007b ss: 0068
Process kswapd0 (pid: 39, threadinfo=c413a000 task=c40a8070)
Stack: c40e5040 eb864100 c40e5068 c40e5078 c4160050 00000282 e61addc0 c413be64
c014c1d0 c40e5040 c4160050 0000001b c4160050 c40e50a0 0000001b c4160040
00000282 e61addc0 c413be80 c014c792 c40e5040 c4160040 e61ade5c c413bee4
Call Trace:
[<c0105a0f>] show_stack+0x8f/0xb0
[<c0105bc3>] show_registers+0x163/0x1c0
[<c0105d97>] die+0xb7/0x180
[<c0116fb3>] do_page_fault+0x213/0x6c9
[<c0105684>] exception_start+0x6/0xe
[<c014c1d0>] cache_flusharray+0x70/0x140
[<c014c792>] kmem_cache_free+0x52/0x60
[<c01b8094>] ext3_destroy_inode+0x24/0x30
[<c018713b>] destroy_inode+0x3b/0x60
[<c0187479>] dispose_list+0x59/0x110
[<c0187927>] prune_icache+0x127/0x3a0
[<c0187be8>] shrink_icache_memory+0x48/0x50
[<c014f4ec>] shrink_slab+0x15c/0x1d0
[<c0151237>] balance_pgdat+0x217/0x270
[<c015135c>] kswapd+0xcc/0xe0
[<c0102859>] kernel_thread_helper+0x5/0xc
Code: 89 50 04 89 02 8b 43 0c 31 d2 c7 03 00 01 10 00 c7 43 04 00
<6>note: kswapd0[39] exited with preempt_count 1
[-- Attachment #4: 13 --]
[-- Type: text/plain, Size: 1258 bytes --]
Unable to handle kernel NULL pointer dereference at virtual address 0000000c
printing eip:
c019a4e1
*pde = 0ddbe001
*pte = 00000000
Oops: 0002 [#1]
PREEMPT
Modules linked in:
CPU: 0
EIP: 0060:[<c019a4e1>] Not tainted
EFLAGS: 00010202 (2.6.8-rc2)
EIP is at prune_icache+0x431/0x600
eax: 00000008 ebx: c0538b3c ecx: c0538b44 edx: f1b3d17c
esi: 00000029 edi: c03f0790 ebp: f7ee9f04 esp: f7ee9ec8
ds: 007b es: 007b ss: 0068
Process kswapd0 (pid: 38, threadinfo=f7ee8000 task=f7eb0670)
Stack: c0538b3c 00000077 f7ee9f10 c01b63a1 c17590a0 c17590c0 c17590e0 f7ee8000
00000000 00000029 c0538dc4 c07d6884 00000080 00000000 f7ee8000 f7ee9f10
c019a6f8 00000080 f7ee9f44 c015450c 00000080 000000d0 00017a89 9384c800
Call Trace:
[<c0105d6f>] show_stack+0x7f/0xa0
[<c0105f1e>] show_registers+0x15e/0x1c0
[<c0106127>] die+0xe7/0x240
[<c0116113>] do_page_fault+0x213/0x6c8
[<c0105a01>] error_code+0x2d/0x38
[<c019a6f8>] shrink_icache_memory+0x48/0x50
[<c015450c>] shrink_slab+0x15c/0x1a0
[<c015657e>] balance_pgdat+0x1ce/0x210
[<c015667f>] kswapd+0xbf/0xd0
[<c0102795>] kernel_thread_helper+0x5/0x10
Code: 89 50 04 c7 03 00 00 00 00 c7 43 04 00 00 00 00 8d 53 08 8b
<6>note: kswapd0[38] exited with preempt_count 1
next prev parent reply other threads:[~2004-08-05 18:28 UTC|newest]
Thread overview: 147+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-02 13:14 Possible dcache BUG Brett Charbeneau
2004-08-05 2:16 ` Gene Heskett
2004-08-05 3:46 ` Andrew Morton
2004-08-05 4:31 ` Gene Heskett
2004-08-05 0:44 ` Chris Shoemaker
2004-08-05 8:35 ` Denis Vlasenko
2004-08-05 14:14 ` Gene Heskett
2004-08-05 13:48 ` Gene Heskett
[not found] ` <200408210118.02011.vda@port.imtp.ilyichevsk.odessa.ua>
2004-08-21 1:40 ` Gene Heskett
2004-08-05 8:33 ` Denis Vlasenko
2004-08-05 14:19 ` Gene Heskett
[not found] ` <200408070203.35268.vda@port.imtp.ilyichevsk.odessa.ua>
2004-08-07 1:28 ` Gene Heskett
2004-08-05 21:26 ` Chris Shoemaker
2004-08-05 7:25 ` Linus Torvalds
2004-08-05 7:31 ` Andrew Morton
2004-08-05 8:33 ` Denis Vlasenko
2004-08-05 14:55 ` Gene Heskett
2004-08-05 16:26 ` Linus Torvalds
2004-08-05 18:06 ` Ingo Molnar [this message]
2004-08-05 18:50 ` Linus Torvalds
2004-08-05 20:29 ` Andi Kleen
[not found] ` <20040806073739.GA6617@elte.hu>
[not found] ` <20040806004231.143c8bd2.akpm@osdl.org>
2004-08-06 8:27 ` Ingo Molnar
2004-08-06 11:51 ` Gene Heskett
2004-08-06 16:58 ` Linus Torvalds
2004-08-06 17:16 ` Gene Heskett
2004-08-06 17:26 ` William Lee Irwin III
2004-08-06 23:19 ` Chris Shoemaker
2004-08-07 4:15 ` William Lee Irwin III
2004-08-07 0:05 ` Chris Shoemaker
2004-08-07 5:50 ` William Lee Irwin III
2004-08-06 23:09 ` Chris Shoemaker
2004-08-07 6:20 ` Linus Torvalds
2004-08-07 12:38 ` Gene Heskett
2004-08-07 13:44 ` Chris Shoemaker
2004-08-07 18:49 ` Linus Torvalds
2004-08-07 19:01 ` Gene Heskett
2004-08-06 11:31 ` Andi Kleen
2004-08-06 17:16 ` Linus Torvalds
2004-08-05 21:10 ` Chris Shoemaker
2004-08-06 2:03 ` Gene Heskett
2004-08-06 2:12 ` Gene Heskett
2004-08-06 2:50 ` Linus Torvalds
2004-08-06 3:18 ` viro
2004-08-06 3:24 ` Linus Torvalds
2004-08-08 4:42 ` Gene Heskett
2004-08-08 14:30 ` Gene Heskett
2004-08-08 18:39 ` Andrew Morton
2004-08-10 4:12 ` Gene Heskett
2004-08-11 3:42 ` Gene Heskett
2004-08-11 3:46 ` Linus Torvalds
2004-08-11 4:18 ` Udo A. Steinberg
2004-08-11 5:13 ` Linus Torvalds
2004-08-11 5:15 ` Linus Torvalds
2004-08-11 5:33 ` Udo A. Steinberg
2004-08-11 14:37 ` Gene Heskett
2004-08-12 1:26 ` Nick Piggin
2004-08-12 2:23 ` Gene Heskett
2004-08-12 2:36 ` Nick Piggin
2004-08-13 1:00 ` Udo A. Steinberg
2004-08-13 1:31 ` Linus Torvalds
2004-08-13 2:03 ` Gene Heskett
2004-08-13 2:27 ` Andreas Dilger
2004-08-13 3:33 ` Linus Torvalds
2004-08-20 7:02 ` Udo A. Steinberg
2004-08-20 7:11 ` Andrew Morton
2004-08-20 7:19 ` Udo A. Steinberg
2004-08-20 7:49 ` Nick Piggin
2004-08-24 6:08 ` Udo A. Steinberg
2004-08-24 7:41 ` Nick Piggin
2004-08-24 18:20 ` Marcelo Tosatti
2004-08-24 20:00 ` Andrew Morton
2004-08-24 18:40 ` Marcelo Tosatti
2004-08-25 0:27 ` Marcelo Tosatti
2004-09-12 7:03 ` Udo A. Steinberg
2004-09-12 7:16 ` Andrew Morton
2004-09-12 7:29 ` Udo A. Steinberg
2004-09-12 7:48 ` Andrew Morton
[not found] ` <20040912004812.3544c6de.akpm-3NddpPZAyC0@public.gmane.org>
2004-09-13 4:53 ` Len Brown
2004-09-13 4:53 ` Len Brown
2004-08-11 5:55 ` David S. Miller
2004-08-11 4:47 ` Gene Heskett
2004-08-11 4:59 ` Linus Torvalds
2004-08-11 8:05 ` Roger Luethi
2004-08-13 4:27 ` Gene Heskett
2004-08-13 8:32 ` Gene Heskett
2004-08-14 2:18 ` Marcelo Tosatti
2004-08-14 5:19 ` Gene Heskett
2004-08-14 5:50 ` Gene Heskett
2004-08-14 8:17 ` Gene Heskett
2004-08-15 4:09 ` Gene Heskett
2004-08-15 8:48 ` viro
2004-08-15 9:42 ` Gene Heskett
2004-08-15 17:31 ` Andrew Morton
2004-08-15 17:58 ` Gene Heskett
2004-08-15 9:50 ` Gene Heskett
2004-08-15 10:36 ` viro
2004-08-15 10:10 ` Gene Heskett
2004-08-15 10:37 ` viro
2004-08-15 10:42 ` Gene Heskett
2004-08-15 11:00 ` viro
[not found] ` <200408150704.49312.gene.heskett@verizon.net>
2004-08-15 11:26 ` viro
2004-08-15 17:47 ` Gene Heskett
[not found] ` <200408152257.04773.vda@port.imtp.ilyichevsk.odessa.ua>
2004-08-15 20:33 ` Gene Heskett
[not found] ` <200408160803.15206.vda@port.imtp.ilyichevsk.odessa.ua>
2004-08-16 6:32 ` Gene Heskett
2004-08-16 14:13 ` Gene Heskett
[not found] ` <200408161749.23663.vda@port.imtp.ilyichevsk.odessa.ua>
2004-08-16 15:25 ` Gene Heskett
2004-08-16 22:52 ` Gene Heskett
2004-08-16 23:01 ` viro
2004-08-17 4:44 ` Gene Heskett
2004-08-17 4:58 ` Nick Piggin
2004-08-17 5:26 ` Gene Heskett
2004-08-17 11:57 ` Nick Piggin
2004-08-19 9:41 ` Gene Heskett
2004-08-19 18:36 ` Marcelo Tosatti
2004-08-20 2:38 ` Gene Heskett
2004-08-20 7:33 ` Marcelo Tosatti
2004-08-20 15:06 ` Gene Heskett
2004-08-20 15:43 ` V13
2004-08-20 17:29 ` Gene Heskett
2004-08-20 18:13 ` Marc Ballarin
2004-08-20 20:08 ` Gene Heskett
2004-08-21 9:25 ` Barry K. Nathan
2004-08-21 18:31 ` V13
2004-08-21 18:55 ` Gene Heskett
2004-08-22 11:04 ` Helge Hafting
2004-08-22 11:40 ` Gene Heskett
2004-08-20 20:11 ` R. J. Wysocki
2004-08-20 20:17 ` Gene Heskett
2004-08-22 5:05 ` Gene Heskett
2004-08-22 11:42 ` R. J. Wysocki
2004-08-24 2:34 ` Tom Vier
2004-08-24 3:08 ` Gene Heskett
2004-08-25 1:49 ` Tom Vier
2004-08-25 2:33 ` Gene Heskett
2004-08-25 14:55 ` Martin J. Bligh
2004-08-25 17:23 ` Ryan Cumming
2004-08-25 17:36 ` Martin J. Bligh
2004-08-27 14:01 ` Gene Heskett
2004-08-25 6:13 ` Denis Vlasenko
2004-08-29 13:48 ` Gene Heskett
2004-08-29 14:34 ` Possible dcache BUG [u] Martin Schlemmer [c]
2004-08-29 15:21 ` Possible dcache BUG Rafael J. Wysocki
2004-08-29 17:23 ` Denis Vlasenko
2004-08-29 22:25 ` Gene Heskett
-- strict thread matches above, loose matches on Subject: below --
2004-08-05 14:54 Brett Charbeneau
[not found] <2oKTA-5CQ-65@gated-at.bofh.it>
[not found] ` <2r0U7-3yx-9@gated-at.bofh.it>
[not found] ` <2rwhh-BX-15@gated-at.bofh.it>
[not found] ` <2rShM-7QP-5@gated-at.bofh.it>
[not found] ` <2rSrs-7Vn-1@gated-at.bofh.it>
[not found] ` <2rSUw-8lw-3@gated-at.bofh.it>
[not found] ` <2rTGR-se-3@gated-at.bofh.it>
[not found] ` <2rUjF-Od-11@gated-at.bofh.it>
2004-08-11 12:32 ` Andi Kleen
2004-08-20 8:08 Daniel Blueman
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=20040805180634.GA26732@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=gene.heskett@verizon.net \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
--cc=vda@port.imtp.ilyichevsk.odessa.ua \
/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.