Messages in this thread | | | From | Chivu Florin-FLCHIVU1 <> | Subject | Kernel buffer not cached in the kernel space | Date | Thu, 5 Feb 2004 11:41:21 +0200 |
| |
Does anybody know how can I allocate a physically contiguous memory buffer that is not cached in the 2.4.20 kernel address space ? I tried so far to allocate the buffer with kmalloc (or __get_free_pages() ) and then to use ioremap_nocache() over alocated pages but it doesn't work for PPC for example ( a HIGHMEM physical address is required by ioremap_nocache() ).
Also, as in the David M. 's cachetlb.txt document, the flush_dcache_page() should ensure that the kernel writes to a page that is mapped into a user virtual address space will be visible right away in user space ( the kenel buffer is mmaped in user space as _not cached_ ). For PPC it looks like the cache flush is somehow postponed and kernel writes are not visible to the user. For ARM it works properly.
-- Florin
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |