Re: [PATCH] avoid unnecessary cache flushes

From: David Mosberger (davidm@hpl.hp.com)
Date: Mon Sep 03 2001 - 15:27:02 EST


>>>>> On Mon, 3 Sep 2001 13:14:36 -0700, Richard Henderson <rth@twiddle.net> said:

  Richard> On Fri, Aug 31, 2001 at 09:18:50PM +1000, Paul Mackerras wrote:
>> + if (!test_bit(PG_arch_1, &page->flags)) {
>> + __flush_dcache_icache((unsigned long)kmap(page));
>> + kunmap(page);
>> + set_bit(PG_arch_1, &page->flags);

  Richard> Race. Use test_and_set_bit.

Nope, the old code is correct: you must turn on PG_arch_1 *after*
flushing the cache. Yes, you might sometimes double flush, but that's
both safe and rare.

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



This archive was generated by hypermail 2b29 : Fri Sep 07 2001 - 21:00:20 EST