LWN.net Logo

The story repeats itself

The story repeats itself

Posted Sep 27, 2007 13:31 UTC (Thu) by anton (guest, #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)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds