On Mon, 2015-07-20 at 09:54 -0600, Toshi Kani wrote: > On Sat, 2015-07-18 at 18:04 +0000, Dixit, Ashutosh wrote: > > vmalloc_to_page with ioremap'd memory used to work correctly till > > v4.1. In > > v4.2-rc1 when ioremap is done using huge pages vmalloc_to_page on > > ioremap'd > > memory crashes. Are there plans to fix this? > > > > An example of the use of vmalloc_to_page with ioremap is in the > > Intel > > MIC SCIF > > driver (drivers/misc/mic/scif/scif_nodeqp.c) which dma map's the > > ioremap'd range > > of one device to a second device. > > Yes, vmalloc_to_page() assumes 4KB mappings. But ioremap with huge > pages was enabled in v4.1, while v4.2-rc1 has update for the check > with > MTRRs. Can you send me outputs of the following files? If the > driver > fails to load in v4.2-rc1, you can obtain the info in v4.1. > > /proc/mtrr > /proc/iomem > /proc/vmallocinfo > /sys/kernel/debug/kernel_page_tables (need CONFIG_X86_PTDUMP set) > > Also, does the driver map a regular memory range with ioremap? If > not, how does 'struct page' get allocated for the range (since > vmalloc_to_page returns a page pointer)?
Can you also try the 'nohugeiomap' kernel option to the 4.2-rc1 kernel to see if the problem goes away? Thanks, -Toshi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/