An MGLRU Performance Regression Fix Is On The Way Plus Another Optimization
While MGLRU is a nice performance win for the Linux kernel now available when enabling it for v6.1+ kernel builds, during my testing I did encounter a regression around the SVT-AV1 video encode performance at least and a fix is working its way toward mainline.
In some of my earlier MGLRU testing the performance uplift from enabling the Multi-Gen LRU was great, but in particular for the SVT-AV1 open-source video encoder I encountered some performance regressions with it enabled:
Fortunately, MGLRU lead Yu Zhao at Google has been quick to sort out the issue and there is now a patch currently queued in mm-unstable to address it: mm: support POSIX_FADV_NOREUSE.
Additionally, another patch of interest was also added to mm-unstable today: mm: add vma_has_recency(). With that patch comes a 6~8% performance increase in IOPS for randomly accessing mapped files when under system memory pressure.
Both of these patches and other improvements are anticipated to land for the Linux 6.3 kernel cycle.
In some of my earlier MGLRU testing the performance uplift from enabling the Multi-Gen LRU was great, but in particular for the SVT-AV1 open-source video encoder I encountered some performance regressions with it enabled:
Fortunately, MGLRU lead Yu Zhao at Google has been quick to sort out the issue and there is now a patch currently queued in mm-unstable to address it: mm: support POSIX_FADV_NOREUSE.
For MGLRU, the following change showed a [9-11]% increase in FPS, which makes it on par with the active/inactive LRU.
Additionally, another patch of interest was also added to mm-unstable today: mm: add vma_has_recency(). With that patch comes a 6~8% performance increase in IOPS for randomly accessing mapped files when under system memory pressure.
Both of these patches and other improvements are anticipated to land for the Linux 6.3 kernel cycle.
11 Comments