[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1437407942.3214.159.camel@hp.com>
Date: Mon, 20 Jul 2015 09:59:02 -0600
From: Toshi Kani <toshi.kani@...com>
To: "Dixit, Ashutosh" <ashutosh.dixit@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Cc: "Dutt, Sudeep" <sudeep.dutt@...el.com>,
"Rao, Nikhil" <nikhil.rao@...el.com>,
"Williams, Dan J" <dan.j.williams@...el.com>
Subject: Re: Regression in v4.2-rc1: vmalloc_to_page with ioremap
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists