Re: Linux 2.6.15-rc4

From: Terence Ripperda
Date: Thu Dec 01 2005 - 16:10:42 EST


On Thu, Dec 01, 2005 at 01:18:27PM +0100, Ralf.Hildebrandt@xxxxxxxxxx wrote:
> * Linus Torvalds <torvalds@xxxxxxxx>:
>
> > [ Btw, some drivers will now complain loudly about their nasty mis-use of
> > page remapping, and that migh look scary, but it should all be good, and
> > we'd love to see the detailed output of dmesg on such machines. ]
>
> Here's one - smite me for using the nvidia driver:
>
> Xorg does an incomplete pfn remapping [<c013eb8c>] incomplete_pfn_remap+0x6b/0xca
> [<f94fc956>] nv_kern_mmap+0x47d/0x4cb [nvidia]
> [<c01415e1>] do_mmap_pgoff+0x3cf/0x6ee
> [<c0107dea>] sys_mmap2+0x66/0xaf
> [<c0102c25>] syscall_call+0x7/0xb

from looking at the new code, it looks like this is due to how we mmap
our dma pages. due to opengl using large (multiple megabyte) push
buffers, we allocate individual physically discontiguous pages, then
mmap them in one call. we end up iterating over all of the pages with
individual calls to remap_pfn_range.

it appears this new warning doesn't like that and will complain,
unless VM_INCOMPLETE is set. when, if ever, is it valid to set
VM_INCOMPLETE? I'm guessing that the answer is to rely on the nopage
handler to map these pages individually. but I'm not clear how
dropping back and forth between user/kernel mode for each page between
each call to remap_pfn_page would be more efficient than just calling
remap_pfn_page for each page while we're already in kernel space.

Thanks,
Terence

>
> repeated 4 times.
>
> --
> Ralf Hildebrandt (i.A. des IT-Zentrums) Ralf.Hildebrandt@xxxxxxxxxx
> Charite - Universitätsmedizin Berlin Tel. +49 (0)30-450 570-155
> Gemeinsame Einrichtung von FU- und HU-Berlin Fax. +49 (0)30-450 570-962
> IT-Zentrum Standort CBF send no mail to spamtrap@xxxxxxxxxx
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/