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