Re: Crash during vmcore_init

From: Dave Young
Date: Wed Nov 16 2011 - 23:44:41 EST


On 11/17/2011 12:34 PM, Tejun Heo wrote:

> Hello,
>
> On Wed, Nov 16, 2011 at 7:30 PM, Dave Young <dyoung@xxxxxxxxxx> wrote:
>> This addr is converted to an invalid phys address,
>
> I'm a bit lost on the context here. Who's calling per_cpu_ptr_to_phys()?


It's drivers/base/cpu.c : show_crash_notes()

>
>> looking the code below:
>> if (in_first_chunk) {
>> if (!is_vmalloc_addr(addr))
>> return __pa(addr);
>> else
>> return page_to_phys(vmalloc_to_page(addr));
>> } else
>> return page_to_phys(pcpu_addr_to_page(addr));
>>
>> I dont understand per cpu allocation well, if addr is not in first chunk
>> then it should be in vmalloc area?
>
> Yes, it is. First chunk can be embedded in the kernel linear address
> space but from the second one, it's always set up from the top of the
> vmalloc area with the same offset layout as the first chunk.


in this case ffff880667c19ad0 fall out of vmalloc area and it's not in
first chunk also.

>
>> Tejun, do you have any idea about this?
>
> Can you please tell me how to reproduce the problem? I'll try to find
> out what's going on.


make sure kernel support CRASH DUMP, then cat
/sys/devices/system/cpu/cpu[x]/crash_notes

Tim Hartrick <tim@xxxxxxxxxxxx> reported the problem when test kdump.
But I can not reproduce this. I think tim can help to test

>
> Thanks.
>



--
Thanks
Dave
--
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/