logoalt Hacker News

jeffbeeyesterday at 8:11 PM1 replyview on HN

One of the drawbacks of relying on the virtual memory subsystem is large page tables, that the machine has to manage on your behalf, and that pollute (or at least occupy) caches. That is another reason why Go, like all other software, benefits significantly if you adjust your Linux boxes to use huge pages, or larger-than-default pages, or ARM contiguous page bits, or whatever other features your platform offers to make virtual address translation more efficient. It is unfortunate that Linux usually comes out of the box with all of these post-286 features disabled.


Replies

toast0yesterday at 9:30 PM

AFAIK, FreeBSD has been doing transparent superpages for decades (I think it was implemented in 2002 for x86 [1], and 2014 for arm [2]) and I don't know of any real issues with it? (I'm sure you could build a test case where it thrashes and causes trouble) Not sure why Linux wouldn't do the same??

[1] https://www.usenix.org/legacy/events/osdi02/tech/full_papers...

[2] https://www.bsdcan.org/2014/schedule/attachments/281_2014_ar...

show 1 reply