On 10/13/16 at 04:53pm, Baoquan He wrote: > Hi Pratyush, > > On 10/12/16 at 02:39pm, Pratyush Anand wrote: > > > > > > On Wednesday 12 October 2016 05:56 AM, Baoquan He wrote: > > > > PAGE_OFFSET can be get via vaddr - paddr from elf pt_loads so only > > > > > VMALLOC_BASE and VMEMMAP_BASE is necessary.. > > > Well, yes, I was wrong. I wrongly thought of kernel text virtual address > > > when I wrote the reply > > > > So, if you can get PAGE_OFFSET then, probably you do not need to know > > anything else. > > > > I think, we can simplify makedumpfile code, where we do not need to depend > > on VMALLOC_START or VMEMMAP_START etc. > > > > "If we know PAGE_OFFSET, we can read from swapper space. If we can read from > > swapper space, then we can know PA of any kernel VA, whether it is VMALLOC, > > or vmemmap or module or kernel text area." > > Check makedumpfile code and re-think about this, it's really like you > said, we can convert VA to PA by swapper_pg_dir or init_level4_pgt. But the > reason why we have to involve VMALLOC_START and VMEMMAP_START is that in > x86_64 direct mapping and kernel text mapping are all linear mapping. > Linear mapping can let us do a very efficient translation from VA to > PA. Especially for page filtering, we need get PA of mm related data. > All of them need convert by swapper_pg_dir or init_level4_pgt, that's > inefficient, imagine the current system usually own many Tera bytes of > physical memory. > Atsushi, what do you think about above concern? Ideally we should do it in userspace instead of add more symbols. Maybe do a test on large memory machine is necessary. > So here though we can pick up crash memory regions from elf program > header of vmcore and calculate the PAGE_OFFSET, we still need > VMALLOC_START and VMEMMAP_START. > > Thanks > Baoquan > > > > > > In fact, I have cleanup patches for ARM64 [1], which take above approach and > > get rid of need of VMALLOC_START or VMEMMAP_START etc. I will be sending > > them upstream soon. > > > > Probably, x86 can take the similar approach. > > > > ~Pratyush > > > > [1] https://github.com/pratyushanand/makedumpfile/blob/arm64_devel/arch/arm64.c#L228 > > > > _______________________________________________ > kexec mailing list > kexec at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec Thanks Dave