Re: [PATCH] x86: Use clflush() instead of wbinvd() whenever possiblewhen changing mapping

From: Thomas Hellstrom
Date: Fri Jul 24 2009 - 06:22:02 EST


Andi Kleen wrote:
Thomas Hellstrom <thellstrom@xxxxxxxxxx> writes:

The current code uses wbinvd() when the area to flush is > 4MB. Although this
may be faster than using clflush() the effect of wbinvd() on irq latencies
may be catastrophical on systems with large caches. Therefore use clflush()

may be? You seem to miss some hard data here.

Admittedly.
However, the concept of flushing and invalidating the caches completely on systems with many
processors and huge caches when we intend to only flush only small piece of the cache also sounds like a big overkill.

Furthermore, since the wbinvd() has been introduced as an optimization of the general clflush() case, did somebody ever check the effects on systems with many processors and huge caches?

/Thomas

-Andi


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/