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