- Joined
- Dec 19, 2005
- Messages
- 18,539
“Kiryl announced today his patch series based on Torvalds' code from last week for adapting the Linux kernel memory management code to read from the page cache without folio references. He explained with the patch cover letter:
"Small reads of one file from many CPUs all take and drop a reference on the same folio, and its refcount bounces between the CPUs. This series lets filemap_read() and shmem copy from the page cache without taking a reference. It is Linus' RFC, reworked: a folio that such a reader may copy from is freed only after an RCU grace period."
He went on to test the improvements across EXT4, TMPFS, and XFS file-systems and a raw block device. Testing was with 64 threads on an AMD Ryzen Threadripper CPU and testing with and without the default CPU security mitigations. The results are pretty fantastic:
Fabulous improvement. The patches are still treated as a request for comments and some open design elements around the work remains, but hopefully it will be all addressed soon and be in the mainline kernel in the not too distant future. The patches can be found on the Linux kernel mailing list.”
Source: https://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref
"Small reads of one file from many CPUs all take and drop a reference on the same folio, and its refcount bounces between the CPUs. This series lets filemap_read() and shmem copy from the page cache without taking a reference. It is Linus' RFC, reworked: a folio that such a reader may copy from is freed only after an RCU grace period."
He went on to test the improvements across EXT4, TMPFS, and XFS file-systems and a raw block device. Testing was with 64 threads on an AMD Ryzen Threadripper CPU and testing with and without the default CPU security mitigations. The results are pretty fantastic:
Source: https://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref