Re: Cache incoherencies (WAS: New resources - pls, explain :-( )

Benjamin Herrenschmidt (bh40@calva.net)
Tue, 24 Aug 1999 19:39:48 +0200


On Tue, Aug 24, 1999, Philip Blundell <pb@nexus.co.uk> wrote:

>>Non-cache coherent archs should probably
>>define a kmalloc flag to allocate non cachable space. (I still don't know
>>what is the cleanest way to get non-cachable space. ioremap ?).
>
>Ioremap won't necessarily work on physical RAM. You should probably define
>vmalloc_uncached or some such.

I'm not terribly familiar with Linux VM, and so I'm not completely sure
how to implement vmalloc_uncached on ARM. I'm wondering if I need to
re-implement all of vmalloc sub-routines (alloc_area_pmd_uncached,
alloc_area_pte_uncached) changing the set_pte call to have the
appropriate attributes ? (BTW. what's the meaning of L_PTE_BUFFERABLE ?).

or can I just alloc the area and then make pages non-cachable using
pte_modify afterwards ? In this case I'm not sure how to walk the PTEs...

Also alloc_are_pte makes several calls to __get_free_page, so I beleive
there's no way to make sure they are physically contiguous, is there ?
(note that in our case, on page should be plenty enough)

Regards,
Benjamin.

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