Messages in this thread | | | Subject | Re: Cache incoherencies (WAS: New resources - pls, explain :-( ) | Date | Wed, 25 Aug 1999 20:14:07 +0100 | From | Philip Blundell <> |
| |
>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 ?).
What I'd do is extend alloc_area_pmd, alloc_area_pte and so on to take an extra argument to be the page protection value. The normal vmalloc can pass this in as just PAGE_KERNEL, and your new vmalloc_uncached can use some appropriate variant.
>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...
You *could* do it this way, but I don't think it's such a good idea.
>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 ?
No. This is always the case with vmalloc.
p.
- 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/
| |