CACHE_LINE_SIZE on x86

Jim Harris jimharris at freebsd.org
Wed Oct 24 19:13:40 UTC 2012


While investigating padding of the ULE scheduler locks (r242014), I
recently discovered that CACHE_LINE_SIZE on x86 is defined as 128 (not
64).  From what I can tell from svn logs, this was to account for 128
byte cache "sectors" that existed on the NetBurst micro architecture
CPUs.

I'm curious if there's been consideration in changing this back to 64?
 With maybe a kernel config option to modify it?  On 2S systems (but
not on 1S systems), I see a benefit using CACHE_LINE_SIZE=128 for the
scheduler locks.  I suspect this is related to data prefetching but am
still running experiments to verify.

Thanks,

-Jim


More information about the freebsd-arch mailing list