TLB hit rate is one performance issue with page sizes, but there's another: disk access.
If you are lucky, you can do a 100 accesses to a hard disk per second. On the other hand, you can read 60MB or more per second, if you read sequentially. So the 4k page size is way smaller than what's a reasonable access patter to a hard disk today - 512k would be closer to the sweet spot at the moment (where seek time and transfer time are similar). But since transfer time increases over time, while seek time doesn't change much, sweet spots move as well.
So support for lage pages also should look at how to interface with disks. If I have a page miss on a 700k executable, which is currently populating its text segment, it makes more sense to just allocate a 512k page right now, fetch this chunk in one go, and later, when memory is tight, and 2/3 of this page is never used, split it up, and release the memory.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds