public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Tony Vroon <tony@linx.net>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
	"Langsdorf, Mark" <mark.langsdorf@amd.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: 2.6.31-07068-g43c1266 Early boot exception
Date: Thu, 24 Sep 2009 09:05:06 +0900	[thread overview]
Message-ID: <4ABAB7B2.9060603@kernel.org> (raw)
In-Reply-To: <1253648186.2766.5.camel@localhost>

Hello,

Tony Vroon wrote:
> Patch applied, no additional output visible:
> OAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
> ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 high edge)
> ACPI: INT_SRC_OVR (bus 0 bus_irq 15 global_irq 15 high edge)
> Using ACPI (MADT) for SMP configuration information
> ACPI: HPET id: 0x10de8201 base: 0xfed00000
> SMP: allowing 12 CPUs, 0 hotplug CPUs
> Allocating PCI resources starting at b00000000 (gap:b0000000:30000000)
> NR_CPUS: 12 nr_cpumask_bits:12 nr_cpu_ids:12 nr_node_ids:2
> PERCPU: Embedded 23 pages/cpu @ffff880028200000 s73688 r0 d20520 u26214
> PANIC: early exception 06 rip 10:ffffffff81598250 error 0 cr2 d0fff6
> Pid: 0, comm: swapper Not tainted 2.6.31-07068-g43c266-dirty #1
> Call Trace:
> [<ffffffff815719b5>] early_idt_handler+0x55/0x68
> [<ffffffff81587259>] ? pcpu_setup_first_chunk+0x40b/0x703
> [<ffffffff81587273>] ? pcpu_setup_first_chunk+0x427/0x703
> [<ffffffff81587a78>] pcpu_embed_first_chunk+0x1fd/0x261
> [<ffffffff8158a927>] ? pcpu_fc_alloc+0x0/0xac
> [<ffffffff8157a908>] ? pcpu_fc_free+0x0/0x1f
> [<ffffffff8157a749>] setup_per_cpu_areas+0x65/0x219
> [<ffffffff815721ff>] start_kernel+0x124/0x2c5
> [<ffffffff81571a92>] x86_64_start_reservations+0x82/0x86
> [<ffffffff81571b7a>] x86_64_start_kernel+0xe4/0xeb
> RIP pcpu_setup_first_chunk+0x40d/0x703

I'm a bit confused by the panic message.  The PANIC line says rip is
0xffffffff81598250 which is arch/x86/pci/amd_bus.c:315 which is in the
middle of early_fill_mp_bus_info() which happens way later during
initialization while the call stack shows pcpu_embed_first_chunk()
just called pcpu_setup_first_chunk.  You sure this is the right image?
Anyways, the last line "RIP pcpu_setup_first_chunk+0x40d/0x703"
combined with the exception number (#UD) indicates that it's probably
line 1635 in percpu.c.

Can you please apply the following patch and report the failing log?
Specifying earlyprintk=vga (or something like
earlyprintk=ttyS0,115200) should show you how pcpu initialization is
failing.

Thanks.

diff --git a/mm/percpu.c b/mm/percpu.c
index 43d8cac..d9a636f 100644
--- a/mm/percpu.c
+++ b/mm/percpu.c
@@ -1631,8 +1631,18 @@ int __init pcpu_setup_first_chunk(const struct pcpu_alloc_info *ai,
 	pcpu_last_unit_cpu = cpu;
 	pcpu_nr_units = unit;

-	for_each_possible_cpu(cpu)
-		BUG_ON(unit_map[cpu] == NR_CPUS);
+	for_each_possible_cpu(cpu) {
+		static char cpus[4096] __initdata;
+
+		if (unit_map[cpu] != NR_CPUS)
+			continue;
+
+		printk(KERN_CRIT "PERCPU: unit missing for cpu%d\n", cpu);
+		cpumask_scnprintf(cpus, sizeof(cpus), cpu_possible_mask);
+		printk(KERN_CRIT "PERCPU: cpu_possible_mask=%s\n", cpus);
+		pcpu_dump_alloc_info(KERN_CRIT, ai);
+		BUG();
+	}

 	pcpu_nr_groups = ai->nr_groups;
 	pcpu_group_offsets = group_offsets;


-- 
tejun

  parent reply	other threads:[~2009-09-24  0:05 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-21 19:14 2.6.31-07068-g43c1266 Early boot exception Tony Vroon
2009-09-21 19:26 ` H. Peter Anvin
2009-09-21 19:35   ` Tony Vroon
2009-09-21 19:36     ` Ingo Molnar
2009-09-21 21:13     ` H. Peter Anvin
2009-09-21 20:47   ` Tony Vroon
2009-09-22  9:08     ` Tejun Heo
2009-09-22  9:23       ` Arjan van de Ven
2009-09-22 11:40         ` Tejun Heo
2009-09-22 19:36       ` Tony Vroon
2009-09-23  5:52         ` Tejun Heo
2009-09-23  9:19           ` Tony Vroon
2009-09-23  9:23             ` Tejun Heo
2009-09-23 15:46               ` H. Peter Anvin
2009-09-23 23:25                 ` Tejun Heo
2009-09-24  0:05         ` Tejun Heo [this message]
2009-09-21 19:53 ` 2.6.31-0.1-default-07068-g43c1266 lockdep warning and scheduling while atomic BUG Henk Martijn
2009-09-21 20:04   ` Oliver Neukum
2009-09-21 20:17     ` Henk Martijn

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=4ABAB7B2.9060603@kernel.org \
    --to=tj@kernel.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.langsdorf@amd.com \
    --cc=mingo@elte.hu \
    --cc=tony@linx.net \
    /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