Re: [PATCH v2] mm: swap: use fixed-size readahead during swapoff

From: Huang\, Ying
Date: Mon Apr 13 2020 - 09:13:41 EST


Andrea Righi <andrea.righi@xxxxxxxxxxxxx> writes:

> The global swap-in readahead policy takes in account the previous access
> patterns, using a scaling heuristic to determine the optimal readahead
> chunk dynamically.
>
> This works pretty well in most cases, but like any heuristic there are
> specific cases when this approach is not ideal, for example the swapoff
> scenario.
>
> During swapoff we just want to load back into memory all the swapped-out
> pages and for this specific use case a fixed-size readahead is more
> efficient.
>
> The specific use case this patch is addressing is to improve swapoff
> performance when a VM has been hibernated, resumed and all memory needs
> to be forced back to RAM by disabling swap (see the test case below).

Why do you need to swapoff after resuming? The swap device isn't used
except hibernation? I guess the process is,

1) add swap device to VM
2) hibernate
3) resume
4) swapoff

Some pages are swapped out in step 2? If os, can we just set
/proc/sys/vm/swappiness to 0 to avoid swapping in step 2?

Best Regards,
Huang, Ying