Crash during vmcore_init

Tejun Heo tj at
Wed Nov 16 23:34:36 EST 2011


On Wed, Nov 16, 2011 at 7:30 PM, Dave Young <dyoung at> 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()?

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

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



More information about the kexec mailing list