On Sat, Feb 14, 2015 at 03:22:12PM +0100, Thomas Niederprüm wrote: > Am Thu, 12 Feb 2015 16:11:21 +0100 > schrieb Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>: > > > On Sat, Feb 07, 2015 at 04:35:41PM +0100, Thomas Niederprüm wrote: > > > Am Sat, 7 Feb 2015 12:18:21 +0100 > > > schrieb Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>: > > > > > > > Hi, > > > > > > > > On Fri, Feb 06, 2015 at 11:28:10PM +0100, niederp@xxxxxxxxxxxxxxxx > > > > wrote: > > > > > From: Thomas Niederprüm <niederp@xxxxxxxxxxxxxxxx> > > > > > > > > > > It makes sense to use vmalloc to allocate the video buffer > > > > > since it has to be page aligned memory for using it with mmap. > > > > > > > > Please wrap your commit log at 80 chars. > > > > > > I'll try to do so in future, sorry for that. > > > > > > > > > > > It looks like there's numerous fbdev drivers using this > > > > (especially since you copy pasted that code, without mentionning > > > > it). > > > > > > Yes, I should have mentioned that in the commit message. As > > > implicitly indicated in the cover letter the rvmalloc() and > > > rvfree() are copy pasted from the vfb driver. Honestly, I didn't > > > give this one too much thought. It seemed a viable solution to the > > > mmap problem. For a bit more history on that, see my comment below. > > > > > > > > > > > That should be turned into an allocator so that drivers all get > > > > this right. > > > > > > > > > Also deffered io seems buggy in combination with kmalloc'ed > > > > > memory (crash on unloading the module). > > > > > > > > And maybe that's the real issue to fix. > > > > > > The problem is solved by using vmalloc ;) > > > > Yep, but why do you need to mark the reserved pages? > > > > ... > > As far as I understood mmaped memory is marked as userspace memory in > the page table and is therefore subject to swapping. The pages are > marked reserved to make clear that this memory can not be swapped and > thus lock the pages in memory. See discussions [0,1,2]. > > [0]http://stackoverflow.com/questions/10760479/mmap-kernel-buffer-to-user-space > [1]http://www.linuxquestions.org/questions/linux-kernel-70/why-why-setpagereserved-is-needed-when-map-a-kernel-space-to-user-space-885176/ > [2]https://sites.google.com/site/skartikeyan/mmap.html Hmmm, both https://lwn.net/Articles/28746/ and http://linux-mm.org/DeviceDriverMmap tell otherwise :) Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Attachment:
signature.asc
Description: Digital signature