[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pte_pagenr/MAP_NR deleted in pre6



   Whatever you do, you either have to introduce paddr_t (which to me
   seems more intuitive) or page_to_pfn. We can argue one way or
   another, but paddr_t might give you type checking for free too ...

My only two gripes about paddr_t is that long long is not only
expensive but has been also known to be buggy on 32-bit platforms.

The next gripe is that it will make many clueless driver
etc. developers (who don't read documentation even, but write a large
portion of the vendor Linux drivers :-) will try to do things
like "void *p = (void *) (PAGE_OFFSET + x->paddr);" and expect
this to work, or maybe they'll even pass it to virt_to_bus or similar.

If people don't think these two things will be an issue, fine with
me. :-)

Which reminds me, we need to schedule a field day early 2.5.x where
virt_to_bus and bus_to_virt are exterminated, this is the only way we
can move to drivers using page+offset correctly, forcing them through
interface such as the pci_dma API instead.

Later,
David S. Miller
davem@redhat.com
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/