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 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.