|
|
Subscribe / Log in / New account

The folio pull-request pushback

The folio pull-request pushback

Posted Sep 17, 2021 9:31 UTC (Fri) by arnd (subscriber, #8866)
In reply to: The folio pull-request pushback by dvdeug
Parent article: The folio pull-request pushback

I did some measurements a while ago, using linux-5.4 at the time to see the effect of additional
memory usage of the different page sizes. I tried running linux-5.14-rc1 folio as well, and
put the results in a graph:

https://docs.google.com/spreadsheets/d/1Y-eeXEHr8Tud2ul4i...

I did this on a 16-Core Arm machine that supports 4KB, 16KB and 64KB pages, giving 4GB to a virtual
machine, and pinning down part of that memory before building a fixed kernel source tree.

Since the compiler uses mostly contiguous anonymous memory, the effect of the page size is not as strong as when considering only the page cache that wastes more memory, but you can definitely see that the 64KB kernel needs around double the RAM compared to a 4KB kernel, and it also suffers more when it does start paging. The 4KB kernel seems to work much better when it's already deep into swap, while the 64KB kernel gets unusable pretty much instantly as soon as it runs out of free pages.

The 16KB page kernel works better than expected -- not only is it almost as fast as the 64KB version when it has enough RAM available, it also copes with out-of-memory conditions aslmost as well as the 4KB version.

The folio-enabled kernel also seems to have a problem with running into swap, but I don't know if that's a result of something different in the folio patches, or a difference between the old 5.4 kernel and the new 5.14-rc1 version. If I find the time to run another test with 5.14-rc1 without the folio patches, I'll add the data to the graph.


to post comments


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