Re: touch_cache() only touches two thirds

From: Andi Kleen
Date: Fri Nov 10 2006 - 03:26:31 EST


"Bela Lubkin" <blubkin@xxxxxxxxxx> writes:
>
> /*
> * Dirty a big buffer in a hard-to-predict (for the L2 cache) way. This
> * is the operation that is timed, so we try to generate unpredictable
> * cachemisses that still end up filling the L2 cache:
> */

The comment is misleading anyways. AFAIK several of the modern
CPUs (at least K8, later P4s, Core2, POWER4+, PPC970) have prefetch
predictors advanced enough to follow several streams forward and backwards
in parallel.

I hit this while doing NUMA benchmarking for example.

Most likely to be really unpredictable you need to use a
true RND and somehow make sure still the full cache range
is covered.


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