[lkml]   [2017]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH -mm -v4 3/5] mm, swap: VMA based swap readahead
On Mon, Aug 07, 2017 at 01:40:36PM +0800, Huang, Ying wrote:
> From: Huang Ying <>
> The swap readahead is an important mechanism to reduce the swap in
> latency. Although pure sequential memory access pattern isn't very
> popular for anonymous memory, the space locality is still considered
> valid.
> In the original swap readahead implementation, the consecutive blocks
> in swap device are readahead based on the global space locality
> estimation. But the consecutive blocks in swap device just reflect
> the order of page reclaiming, don't necessarily reflect the access
> pattern in virtual memory. And the different tasks in the system may
> have different access patterns, which makes the global space locality
> estimation incorrect.
> In this patch, when page fault occurs, the virtual pages near the
> fault address will be readahead instead of the swap slots near the
> fault swap slot in swap device. This avoid to readahead the unrelated
> swap slots. At the same time, the swap readahead is changed to work
> on per-VMA from globally. So that the different access patterns of
> the different VMAs could be distinguished, and the different readahead
> policy could be applied accordingly. The original core readahead
> detection and scaling algorithm is reused, because it is an effect
> algorithm to detect the space locality.


Every zram users like low-end android device has used 0 page-cluster
to disable swap readahead because it has no seek cost and works as
synchronous IO operation so if we do readahead multiple pages,
swap falut latency would be (4K * readahead window size). IOW,
readahead is meaningful only if it doesn't bother faulted page's

However, this patch introduces additional knob /sys/kernel/mm/swap/
vma_ra_max_order as well as page-cluster. It means existing users
has used disabled swap readahead doesn't work until they should be
aware of new knob and modification of their script/code to disable
vma_ra_max_order as well as page-cluster.

I say it's a *regression* and wanted to fix it but Huang's opinion
is that it's not a functional regression so userspace should be fixed
by themselves.
Please look into detail of discussion in

The discussion is never productive so it's time to follow maintainer's
opinion. Could you share your opinion?


 \ /
  Last update: 2017-09-13 03:41    [W:0.073 / U:3.016 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site