Re: [PATCH] change name of rep_nop

David S. Miller (davem@redhat.com)
Mon, 08 Oct 2001 15:46:50 -0700 (PDT)


From: David Woodhouse <dwmw2@infradead.org>
Date: Mon, 08 Oct 2001 23:36:26 +0100

While we're on the subject of stupidly named routines and x86-isms, I'm
having trouble reconciling this text in Documentation/cachetlb.txt:

1) void flush_cache_all(void)

The most severe flush of all. After this interface runs,
the entire cpu cache is flushed.

... with this implementation in include/asm-i386/pgtable.h:

#define flush_cache_all() do { } while (0)

That really doesn't seem to be doing what it says on the tin.

"for the purposes of having the processor maintain cache coherency
due to a kernel level TLB mapping change"

Yes, I know the text isn't there, but that is the implication.
Add the text, don't add a stupid "simon_says.." interface.

The mtrr stuff, if it really does need the flush, should probably
make it's own macro/inline with a huge comment about it explaining
why the flush is actually needed.

Some people have asserted, falsely, that it's never sane to want an i386 to
flush its cache.

"for the purposes of having the processor maintain cache coherency
due to a kernel level TLB mapping change"

All of these flush_foo interfaces are about cache flushes needed when
address space changes occur. They are not meant to be a way to deal
with all sorts of other cache details, for those we have the PCI DMA
interfaces, flush_dcache_page etc.

Even if that were true, it wouldn't really be an excuse for
the above discrepancy.

There is no discrepancy, only missing text in cachetlb.txt, please
add it, but I thought that the location of the routine made it obvious
what context it is meant to operate and be used.

Franks a lot,
David S. Miller
davem@redhat.com
-
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/