From: Sachin Sant <sachinp@in.ibm.com>
To: Tejun Heo <tj@kernel.org>
Cc: linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: -next March 3: Boot failure on x86 (Oops)
Date: Fri, 05 Mar 2010 13:17:47 +0530 [thread overview]
Message-ID: <4B90B723.3000100@in.ibm.com> (raw)
In-Reply-To: <4B90A214.70301@kernel.org>
Tejun Heo wrote:
> Hello,
>
> On 03/05/2010 03:09 PM, Tejun Heo wrote:
>
>> On 03/05/2010 03:08 PM, Tejun Heo wrote:
>>
>>> Hmmm... this means that on one of the chunks, chunk->list.next was
>>> NULL (BTW, the disassembly is from unlinked object, right?). The main
>>> allocation code hasn't seen much change lately. The only changes are,
>>>
>>> 22b737f4c75197372d64afc6ed1bccd58c00e549 : just refactoring
>>> 833af8427be4b217b5bc522f61afdbd3f1d282c2 : possible but isn't very new
>>>
>> Can you also please try reverting the above two commits?
>>
>
> Sorry about all the fuss but I think this could be it. It looks like
> I forgot to update need_to_extend logic while adding simultaneous
> head/tail split for alignment, so the array might be overrun by one
> entry. Can you please try this one first?
>
> Thanks.
>
> diff --git a/mm/percpu.c b/mm/percpu.c
> index 768419d..f1ed9ea 100644
> --- a/mm/percpu.c
> +++ b/mm/percpu.c
> @@ -373,11 +373,11 @@ static int pcpu_need_to_extend(struct pcpu_chunk *chunk)
> {
> int new_alloc;
>
> - if (chunk->map_alloc >= chunk->map_used + 2)
> + if (chunk->map_alloc >= chunk->map_used + 3)
> return 0;
>
> new_alloc = PCPU_DFL_MAP_ALLOC;
> - while (new_alloc < chunk->map_used + 2)
> + while (new_alloc < chunk->map_used + 3)
> new_alloc *= 2;
>
> return new_alloc;
>
>
This did not help. With this patch applied i ran into the
following
Unpacking initramfs...
Freeing initrd memory: 11780k freed
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<c01df0e2>] pcpu_alloc+0x1cb/0x75e
*pdpt = 0000000000661001 *pde = 0000000000000000
Oops: 0000 [#1] SMP
last sysfs file:
Modules linked in:
Pid: 1, comm: swapper Not tainted 2.6.33-git10-autotest #2 /eserver xSeries 235 -[86717AX]-
EIP: 0060:[<c01df0e2>] EFLAGS: 00010002 CPU: 1
EIP is at pcpu_alloc+0x1cb/0x75e
EAX: 00000000 EBX: c0647a00 ECX: cccccccc EDX: 00000000
ESI: 00000040 EDI: 00000004 EBP: f5c3ff74 ESP: f5c3fef8
DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
Process swapper (pid: 1, ti=f5c3e000 task=f5c48000 task.ti=f5c3e000)
Stack:
00000000 00000004 00000002 00000002 00000002 f6227fa0 00000040 00000040
<0> 00000002 00000286 f62294a0 00000000 f5c3ff54 00000202 00000000 f6200400
<0> 00000202 00000000 00000020 f6200000 00000000 f62294a0 00000000 f5c3ff64
Call Trace:
[<c01b364b>] ? free_hot_page+0x31/0x35
[<c01df68e>] ? __alloc_percpu+0xa/0xc
[<c0163c29>] ? __create_workqueue_key+0x74/0x1c8
[<c05fe3d3>] ? irqfd_module_init+0x0/0x2c
[<c05fe3ed>] ? irqfd_module_init+0x1a/0x2c
[<c0101139>] ? do_one_initcall+0x4c/0x131
[<c05fc352>] ? kernel_init+0x127/0x1a8
[<c05fc22b>] ? kernel_init+0x0/0x1a8
[<c01220b6>] ? kernel_thread_helper+0x6/0x10
Code: 45 a8 e9 65 ff ff ff 8b 4d 9c 8b 55 a0 8b 45 84 e8 31 fa ff ff 85 c0 89 45 a4 0f 89 fd 00 00 00 8b 45 84 8b 00 89 45 84 8b 55 84 <8b> 02 0f 18 00 90 8b 45 cc 03 05 a0 9f 5f c0 39 c2 0f 85 67 ff
EIP: [<c01df0e2>] pcpu_alloc+0x1cb/0x75e SS:ESP 0068:f5c3fef8
CR2: 0000000000000000
---[ end trace a7919e7f17c0a725 ]---
I will try reverting the two commits you mentioned and see if that
helps.
Thanks
-Sachin
--
---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------
next prev parent reply other threads:[~2010-03-05 7:47 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-03 6:46 linux-next: Tree for March 3 Stephen Rothwell
2010-03-03 15:44 ` -next March 3: Boot failure on x86 (Oops) Sachin Sant
2010-03-04 1:28 ` Tejun Heo
2010-03-04 5:23 ` Sachin Sant
2010-03-05 6:08 ` Tejun Heo
2010-03-05 6:09 ` Tejun Heo
2010-03-05 6:17 ` Tejun Heo
2010-03-05 7:47 ` Sachin Sant [this message]
2010-03-05 13:25 ` Tejun Heo
2010-03-05 10:44 ` Sachin Sant
2010-03-05 13:24 ` Tejun Heo
2010-03-06 7:39 ` Sachin Sant
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=4B90B723.3000100@in.ibm.com \
--to=sachinp@in.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=tj@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