Re: Update cacheline size on X86_GENERIC

From: H. Peter Anvin
Date: Fri Oct 10 2008 - 14:27:28 EST


Nick Piggin wrote:
I think P4 technically did have 64 byte cachelines, but had some adjacent
line prefetching. And AFAIK core2 CPUs can do similar prefetching (but
maybe it's smarter and doesn't cause so much bouncing?).

Anyway, GENERIC kernel should run well on all architectures, and while
going too big causes slightly increased structures sometimes, going too
small could result in horrible bouncing.

Well, GENERIC really is targetted toward the commercial mainstream at the time, with the additional caveat that it shouldn't totally suck on anything that isn't so obscure it's irrelevant. It is thus a moving target. 1% on TPC doesn't count as "totally suck", especially since by now anyone who is running workloads like TPC either will have phased out their P4s or they don't care about performance at all.

Lastly, I think x86 will go to 128 byte lines in the next year or two, so
maybe at this point we can just keep 128 byte alignment?

"x86" doesn't have a cache line size; a specific implementation will. Which particular implementation do you believe is going to 128-byte L1 cachelines?

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