Re: Cache incoherencies

Benjamin Herrenschmidt (bh40@calva.net)
Thu, 26 Aug 1999 14:13:53 +0200


On Thu, Aug 26, 1999, Rogier Wolff <R.E.Wolff@BitWizard.nl> wrote:

>On the other hand, having __get_free_pages allow for various
>attributes that belong to pages would be a good idea. It should for
>example allow you to specify that you require a DMA-able page on a PC.
>(You're all thinking about pages below 16M, right? Good. I was talking
>about pages below 4G for a PCI bus-mastering card...)
>
>As a user of __get_free_pages or kmalloc, you should be able to specify
>"I NEED DMA" or "I prefer non-DMA".
>
>__get_free_pages should call an "exception" routine when it gets "none
>available" on a request. This will happen if no "flagged as
>uncacheable" pages happen to be free, and the exception routine will
>map a page uncacheable, and return that. The exception routine for
>"normal" pages may look to see if there are any free uncached pages
>and claim them back...

Sounds interesting, but implementing this is beyond my current knowledge
of Linux internals.

I think I'll first implement vmalloc_uncached for my specific machine, so
at least I can make sure I have a working net driver for now, but I'll
need help to implement the kind of solution you are talking about.

-- 
           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/