[PATCH v6 0/8] kdump, vmcore: support mmap() on /proc/vmcore
Eric W. Biederman
ebiederm at xmission.com
Thu May 16 22:53:31 EDT 2013
"H. Peter Anvin" <hpa at zytor.com> writes:
> On 05/15/2013 02:05 AM, HATAYAMA Daisuke wrote:
>> Currently, read to /proc/vmcore is done by read_oldmem() that uses
>> ioremap/iounmap per a single page. For example, if memory is 1GB,
>> ioremap/iounmap is called (1GB / 4KB)-times, that is, 262144
>> times. This causes big performance degradation.
> read_oldmem() is fundamentally broken and unsafe. It needs to be
> unified with the plain /dev/mem code and any missing functionality fixed
> instead of "let's just do a whole new driver".
That is completely and totally orthogonal to this change.
read_oldmem may have problems but in practice on a large systems those
problems are totally dwarfed by real life performance issues that come
from playing too much with the page tables.
I really don't find bringing up whatever foundational issues you have
with read_oldmem() appropriate or relevant here.
More information about the kexec