The story repeats itself
Posted Sep 27, 2007 13:31 UTC (Thu) by
anton (subscriber, #25547)
In reply to:
The story repeats itself by khim
Parent article:
Large pages, large blocks, and large problems
[...] Pentium 4 and Core 2. They both only have 128-items
TLB (enough for 512KiB with 4KiB pages)
Note that this assumes that each page is fully utilized with hot data,
i.e., the best case. That's rarely the case and that's why cache
lines are smaller than a page. So, in the worst case, 128 TLB entries
cover only 128 cache lines, i.e., with 64-byte L1 cache lines, 8KB. I
have no data on typical cases, but if half the page contains hot data,
a 128-entry TLB will cover only 256KB of data in the caches. You can
then hope that your working set is smaller, or you will see TLB
thrashing.
If page utilization is a problem, larger pages will probably have
limited benefit: the relative utilization (hot data/page size) will
probably go down. However, as long as the absolute utilization (hot
data/page) goes up, larger pages will still be useful in terms of
reducing TLB misses; they do have other costs, though.
(
Log in to post comments)