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/