Re: [PATCH] shmem missing cache flush

Matthew Wilcox (willy@debian.org)
Mon, 28 Oct 2002 14:32:26 +0000


On Mon, Oct 28, 2002 at 06:10:59AM -0800, David S. Miller wrote:
> Here goes. I contacted Anton and Paulus about flush_icache_page as
> that is on the hitlist next and ppc/ppc64 is the only well maintained
> port using that.

s/well maintained port/port that linus takes patches from regularly/

What do you want to do about flush_icache_page? You want to change it
to flush_dcache_page at eviction time, and then we can purge that page
from our icache in update_mmu_cache?

> --- ./include/asm-parisc/pgalloc.h.~1~ Mon Oct 28 05:56:41 2002
> +++ ./include/asm-parisc/pgalloc.h Mon Oct 28 06:00:13 2002
> @@ -72,7 +72,7 @@ flush_kernel_dcache_range(unsigned long
> asm volatile("syncdma" : : );
> }
>
> -extern void __flush_page_to_ram(unsigned long address);
> +#error flush_page_to_ram is obsoleted, please convert to flush_dcache_page
>
> #define flush_cache_all() flush_all_caches()
> #define flush_cache_mm(foo) flush_all_caches()
> @@ -99,9 +99,6 @@ extern inline void flush_cache_mm(struct
> __flush_dcache_range(vmaddr, PAGE_SIZE); \
> __flush_icache_range(vmaddr, PAGE_SIZE); \
> } while(0)
> -
> -#define flush_page_to_ram(page) \
> - __flush_page_to_ram((unsigned long)page_address(page))
>
> #define flush_icache_range(start, end) \
> __flush_icache_range(start, end - start)

You may as well drop this hunk from the diff; our current tree doesn't
even have these functions; just:

static inline void
flush_page_to_ram(struct page *page)
{
}

in asm/cacheflush.h

-- 
Revolutions do not require corporate support.
-
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/