>Alan Cox wrote:
>> > Say i have 12Mb RAM. So that's 3 4Mb pages. When I need an uncached
>> > page, I'd map it into the 64M-68M range, mark that range as uncached,
>> > and return the pointer in the 64-68M range. Now we have a "hole" in
>>
>> And the rest of that 4Mb range is loaded with critical data now running
>> uncached. Your box crawls like a 286.
>
>But you access it through the other window, which is still cached.
>
>Oh yeah, I'm indeed assuming that you can specify these attributes
>based on virtual adresses. If those go by physycal addresses, you're
>completely right, and this is not an option.
vmalloc implementation is a lot simpler, I just did it based on Russel's
patches, and it's plenty enough for what we need (I don't think a driver
will ever need more than one page uncached anyway). I added a definition
for PAGE_UNCACHED. I currently use a #ifdef PAGE_UNCACHED to export or
not vmalloc_uncached from vmalloc.c, but this is a temporary solution so
I can make sure my eth. driver works.
-- Perso. e-mail: <mailto:bh40@calva.net> Work e-mail: <mailto:benh@mipsys.com> BenH. Web : <http://calvaweb.calvacom.fr/bh40/>
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/