Crash during vmcore_init
Dave Young
dyoung at redhat.com
Wed Nov 16 23:46:43 EST 2011
On 11/17/2011 12:34 PM, Tejun Heo wrote:
> Hello,
>
> On Wed, Nov 16, 2011 at 7:30 PM, Dave Young <dyoung at redhat.com> 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 at edgecast.com> reported the problem when test kdump.
But I can not reproduce this. I think tim can help to test
>
> Thanks.
>
--
Thanks
Dave
More information about the kexec
mailing list