[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.
Yeah, yeah, I know ... (I didn't know about the buggy bit though).
OTOH, paddr_t is such an intuitive concept (and without any disadvantages
on any platform other than i386-PAE), its unfortunate if it
gets shot down just because of this ...
>
> 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.
Wait! You are saying you have a scheme that will prevent writers
from writing buggy code that happens to work only on 32Mb i386 ...
Go ahead, I am all ears :-)
Basically, with all the pci-dma and sct's alternate page_to_pfn
suggestion interfaces, you still can not claim that people will
not do
void *p = (void *) (PAGE_OFFSET + page_to_pfn(p) << PAGE_SHIFT)
and check that code in because it works on their 1Gb i386 box. No?
Kanoj
> 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/
>
--
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/