From: Fengguang Wu <wfg@mail.ustc.edu.cn>
To: Laurent Vivier <Laurent.Vivier@bull.net>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Andi Kleen <ak@suse.de>,
linux-kernel@vger.kernel.org
Subject: Re: WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()
Date: Sat, 29 Sep 2007 16:15:24 +0800 [thread overview]
Message-ID: <391053727.01229@ustc.edu.cn> (raw)
Message-ID: <20070929081524.GA32760@mail.ustc.edu.cn> (raw)
In-Reply-To: <46FCEE9A.5050806@bull.net>
On Fri, Sep 28, 2007 at 02:07:54PM +0200, Laurent Vivier wrote:
> >> 2- one in global_flush_tlb() which calls smp_call_function() with irqs disabled.
> >
> > That would be a big bug, and surely we would already have picked it up.
> >
> > <looks>
> >
> > argh, mainline's x86_64 smp_call_function() doesn't do the check. We've
> > had *heaps* of bugs in i386 where people were running smp_call_foo() under
> > local_irq_disable(). I wonder how many there are in x86_64?
Thank god it's a bug in alternative_instructions() instead of global_flush_tlb().
The following patch fixed it.
===
call free_init_pages() with irqs enabled in alternative_instructions()
It fixes the warning message in smp_call_function*(), which should be called
with irqs disabled.
[ 0.310000] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
[ 0.310000] CPU: L2 Cache: 512K (64 bytes/line)
[ 0.310000] CPU 0/0 -> Node 0
[ 0.310000] SMP alternatives: switching to UP code
[ 0.310000] Freeing SMP alternatives: 25k freed
[ 0.310000] WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()
[ 0.310000]
[ 0.310000] Call Trace:
[ 0.310000] [<ffffffff8100dbde>] dump_trace+0x3ee/0x4a0
[ 0.310000] [<ffffffff8100dcd3>] show_trace+0x43/0x70
[ 0.310000] [<ffffffff8100dd15>] dump_stack+0x15/0x20
[ 0.310000] [<ffffffff8101cd44>] smp_call_function_mask+0x94/0xa0
[ 0.310000] [<ffffffff8101d0b2>] smp_call_function+0x32/0x40
[ 0.310000] [<ffffffff8104277f>] on_each_cpu+0x1f/0x50
[ 0.310000] [<ffffffff81026eac>] global_flush_tlb+0x8c/0x110
[ 0.310000] [<ffffffff81025c85>] free_init_pages+0xe5/0xf0
[ 0.310000] [<ffffffff81549b5e>] alternative_instructions+0x7e/0x150
[ 0.310000] [<ffffffff8154a2ea>] check_bugs+0x1a/0x20
[ 0.310000] [<ffffffff81540c4a>] start_kernel+0x2da/0x380
[ 0.310000] [<ffffffff81540132>] _sinittext+0x132/0x140
[ 0.310000]
[ 0.320000] ACPI: Core revision 20070126
[ 0.560000] Using local APIC timer interrupts.
[ 0.590000] Detected 62.496 MHz APIC timer.
[ 0.590000] Brought up 1 CPUs
Cc: Laurent Vivier <Laurent.Vivier@bull.net>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn>
---
arch/i386/kernel/alternative.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--- linux-2.6.23-rc8-mm2.orig/arch/i386/kernel/alternative.c
+++ linux-2.6.23-rc8-mm2/arch/i386/kernel/alternative.c
@@ -435,9 +435,6 @@ void __init alternative_instructions(voi
alternatives_smp_unlock(__smp_locks, __smp_locks_end,
_text, _etext);
}
- free_init_pages("SMP alternatives",
- (unsigned long)__smp_locks,
- (unsigned long)__smp_locks_end);
} else {
alternatives_smp_module_add(NULL, "core kernel",
__smp_locks, __smp_locks_end,
@@ -448,6 +445,11 @@ void __init alternative_instructions(voi
apply_paravirt(__parainstructions, __parainstructions_end);
local_irq_restore(flags);
+ if (smp_alt_once)
+ free_init_pages("SMP alternatives",
+ (unsigned long)__smp_locks,
+ (unsigned long)__smp_locks_end);
+
restart_nmi();
#ifdef CONFIG_X86_MCE
restart_mce();
next prev parent reply other threads:[~2007-09-29 8:15 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-27 9:22 2.6.23-rc8-mm2 Andrew Morton
2007-09-27 10:52 ` 2.6.23-rc8-mm2 - drivers/net/ibm_newemac/mal - broken Kamalesh Babulal
2007-09-27 15:19 ` 2.6.23-rc8-mm2: problems on HP nx6325 Rafael J. Wysocki
2007-09-27 15:59 ` Rafael J. Wysocki
2007-09-27 15:49 ` Thomas Gleixner
2007-09-28 21:31 ` Rafael J. Wysocki
2007-09-27 16:53 ` Sam Ravnborg
2007-09-27 17:33 ` Randy Dunlap
2007-09-27 19:19 ` Sam Ravnborg
2007-09-27 19:48 ` Rafael J. Wysocki
2007-09-27 19:37 ` Randy Dunlap
2007-09-27 20:01 ` Rafael J. Wysocki
2007-09-27 19:18 ` 2.6.23-rc8-mm2: BUG near reiserfs_xattr_set Laurent Riffard
2007-09-27 19:48 ` Andrew Morton
2007-09-27 19:48 ` Andrew Morton
2007-09-27 20:05 ` Dave Hansen
2007-09-27 20:26 ` Christoph Hellwig
2007-09-27 20:53 ` [RFC][PATCH] make reiserfs stop using 'struct file' for internal xattr operations Dave Hansen
2007-09-27 21:04 ` Christoph Hellwig
2007-09-27 21:27 ` Dave Hansen
2007-09-27 21:51 ` Andrew Morton
2007-09-27 21:54 ` Andrew Morton
2007-09-27 22:02 ` Peter Zijlstra
2007-09-28 7:16 ` Christoph Hellwig
2007-09-28 7:29 ` [RFC][PATCH] stop abusing filp_open in reiserfs journal code Christoph Hellwig
2007-09-28 7:29 ` Christoph Hellwig
2007-09-28 7:29 ` Christoph Hellwig
2007-09-28 2:40 ` WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask() Fengguang Wu
2007-09-28 2:40 ` Fengguang Wu
2007-09-28 8:52 ` Laurent Vivier
2007-09-28 9:09 ` Andrew Morton
2007-09-28 9:18 ` Laurent Vivier
2007-09-28 9:34 ` Andrew Morton
2007-09-28 12:07 ` Laurent Vivier
2007-09-29 6:59 ` Fengguang Wu
2007-09-29 6:59 ` Fengguang Wu
2007-09-29 8:15 ` Fengguang Wu [this message]
2007-09-29 8:15 ` Fengguang Wu
2007-10-02 9:11 ` [PATCH][RESEND] call free_init_pages() with irqs enabled in alternative_instructions() Fengguang Wu
2007-10-02 9:11 ` Fengguang Wu
2007-09-28 15:42 ` 2.6.23-rc8-mm2 - tcp_fastretrans_alert() WARNING Cedric Le Goater
2007-09-28 19:10 ` Ilpo Järvinen
2007-09-29 12:44 ` Ilpo Järvinen
2007-09-29 14:55 ` Cedric Le Goater
2007-09-29 20:49 ` Ilpo Järvinen
2007-10-01 9:26 ` Cedric Le Goater
2007-10-02 10:26 ` Ilpo Järvinen
2007-10-02 20:06 ` Ilpo Järvinen
2007-10-02 21:48 ` Ilpo Järvinen
2007-09-28 16:30 ` /proc/net/ bad hard links count [Was: 2.6.23-rc8-mm2] Jiri Slaby
2007-09-28 17:03 ` Eric W. Biederman
2007-09-29 9:37 ` 2.6.23-rc8-mm2 Dave Young
2007-09-29 15:19 ` 2.6.23-rc8-mm2 Greg KH
2007-09-30 1:29 ` 2.6.23-rc8-mm2 Dave Young
2007-09-30 5:18 ` 2.6.23-rc8-mm2 thunder7
2007-10-08 6:43 ` 2.6.23-rc8-mm2 Dave Young
2007-09-30 2:26 ` 2.6.23-rc8-mm2 Valdis.Kletnieks
2007-09-30 8:50 ` 2.6.23-rc8-mm2 Andrew Morton
2007-09-30 20:01 ` 2.6.23-rc8-mm2 Rafael J. Wysocki
2007-10-01 17:12 ` 2.6.23-rc8-mm2 Valdis.Kletnieks
2007-10-01 16:12 ` 2.6.23-rc8-mm2 Valdis.Kletnieks
2007-09-30 4:10 ` 2.6.23-rc8-mm2 - PowerPC link failure at arch/powerpc/kernel/head_64.o Kamalesh Babulal
2007-09-30 9:37 ` Kamalesh Babulal
2007-09-30 9:37 ` Kamalesh Babulal
2007-10-09 17:49 ` 2.6.23-rc8-mm2 Matt Mackall
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=391053727.01229@ustc.edu.cn \
--to=wfg@mail.ustc.edu.cn \
--cc=Laurent.Vivier@bull.net \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--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.