Re: realtime-preempt patch-2.6.18-rt7 oops



On Mon, 2006-11-06 at 10:38 +0100, Ingo Molnar wrote:
* Mike Galbraith <efault@xxxxxx> wrote:

I just reproduced it running glibc make check. I had just enabled
kprobes and recompiled with the stock SuSE-10.1 compiler while waiting
for you to send me your .config (nevermind that request) so I could
try to reproduce it here.

hm, so kprobe_flush_task() is likely PREEMPT_RT-unsafe.

could you try the patch below, does it help? (a quick review seems to
suggest that all codepaths protected by kretprobe_lock are atomic)

Ah, so I did do the right thing. Besides the oops, I was getting a
pretty frequent non-deadly...

BUG: scheduling while atomic: ld-linux.so.2/0x00000001/11803, CPU#1
[<b10041fb>] show_trace_log_lvl+0x179/0x18f
[<b1004803>] show_trace+0x12/0x14
[<b1004924>] dump_stack+0x19/0x1b
[<b13aaf02>] __schedule+0x63b/0xea5
[<b13ab8a6>] schedule+0x30/0xf9
[<b13ac53a>] rt_spin_lock_slowlock+0x90/0x17a
[<b13acc67>] rt_spin_lock+0x22/0x24
[<b13af28b>] kprobe_flush_task+0x11/0x48
[<b13ab43e>] __schedule+0xb77/0xea5
[<b13ab8a6>] schedule+0x30/0xf9
[<b13ac53a>] rt_spin_lock_slowlock+0x90/0x17a
[<b13acccb>] __rt_spin_lock+0x22/0x28
[<b13acd64>] rt_write_lock+0x8/0xa
[<b1024cc5>] do_exit+0x2ae/0x96e
[<b102541a>] complete_and_exit+0x0/0x16
[<c90ad000>] 0xc90ad000

...so turned it back into a non-sleeping lock.

You forgot kprobes.h


Ingo

Index: linux/kernel/kprobes.c
===================================================================
--- linux.orig/kernel/kprobes.c
+++ linux/kernel/kprobes.c
@@ -50,7 +50,7 @@ static struct hlist_head kretprobe_inst_
static atomic_t kprobe_count;

DEFINE_MUTEX(kprobe_mutex); /* Protects kprobe_table */
-DEFINE_SPINLOCK(kretprobe_lock); /* Protects kretprobe_inst_table */
+DEFINE_RAW_SPINLOCK(kretprobe_lock); /* Protects kretprobe_inst_table */
static DEFINE_PER_CPU(struct kprobe *, kprobe_instance) = NULL;

static struct notifier_block kprobe_page_fault_nb = {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: Measuring tools - top and interrupts
    ... I can reproduce it now, seems to require CONFIG_4KSTACKS to fail. ... More majordomo info at http://vger.kernel.org/majordomo-info.html ... Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)
  • Re: [2.4 PATCH] Dont panic on IDE DMA errors
    ... It should have aborted the request and block resends it. ... > Don't panic on IDE DMA errors ... > More majordomo info at http://vger.kernel.org/majordomo-info.html ... > Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)
  • Re: [PATCH] vm: enhance __alloc_pages to prioritize pagecache eviction when pressed for memory
    ... >>> the problem more easy to reproduce. ... > *Neil Horman ... > More majordomo info at http://vger.kernel.org/majordomo-info.html ... > Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)
  • Re: [BUG] 2.6.23-rc3 cant see sd partitions on Alpha
    ... Toggling CONFIG_MAGIC_SYSRQ works for me too, ... to reproduce the problem ... More majordomo info at http://vger.kernel.org/majordomo-info.html ... Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)
  • Re: [PATCH] nfs: fix nfs_writepage()
    ... doesn't generate a write request for the given page. ... The below is an attempt at fixing it, ... More majordomo info at http://vger.kernel.org/majordomo-info.html ... Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)