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)?

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/

Reply via email to