Revision 64165b1affc5bc16231ac971e66aae7d68d57f2c authored by Hugh Dickins on 19 April 2019, 00:50:09 UTC, committed by Linus Torvalds on 19 April 2019, 16:46:04 UTC
The old try_to_unuse() implementation was driven by find_next_to_unuse(), which terminated as soon as all the swap had been freed. Add inuse_pages checks now (alongside signal_pending()) to stop scanning mms and swap_map once finished. The same ought to be done in shmem_unuse() too, but never was before, and needs a different interface: so leave it as is for now. Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1904081258200.1523@eggly.anvils Fixes: b56a2d8af914 ("mm: rid swapoff of quadratic complexity") Signed-off-by: Hugh Dickins <hughd@google.com> Cc: "Alex Xu (Hello71)" <alex_y_xu@yahoo.ca> Cc: Huang Ying <ying.huang@intel.com> Cc: Kelley Nielsen <kelleynnn@gmail.com> Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> Cc: Rik van Riel <riel@surriel.com> Cc: Vineeth Pillai <vpillai@digitalocean.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent dd862de
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 14.4 KB |
Makefile | -rw-r--r-- | 2.2 KB |
core.c | -rw-r--r-- | 24.1 KB |
pwm-ab8500.c | -rw-r--r-- | 3.3 KB |
pwm-atmel-hlcdc.c | -rw-r--r-- | 8.0 KB |
pwm-atmel-tcb.c | -rw-r--r-- | 13.1 KB |
pwm-atmel.c | -rw-r--r-- | 11.0 KB |
pwm-bcm-iproc.c | -rw-r--r-- | 7.5 KB |
pwm-bcm-kona.c | -rw-r--r-- | 9.5 KB |
pwm-bcm2835.c | -rw-r--r-- | 5.0 KB |
pwm-berlin.c | -rw-r--r-- | 7.8 KB |
pwm-brcmstb.c | -rw-r--r-- | 8.3 KB |
pwm-clps711x.c | -rw-r--r-- | 4.1 KB |
pwm-crc.c | -rw-r--r-- | 3.6 KB |
pwm-cros-ec.c | -rw-r--r-- | 5.8 KB |
pwm-ep93xx.c | -rw-r--r-- | 5.8 KB |
pwm-fsl-ftm.c | -rw-r--r-- | 13.2 KB |
pwm-hibvt.c | -rw-r--r-- | 8.0 KB |
pwm-img.c | -rw-r--r-- | 10.7 KB |
pwm-imx1.c | -rw-r--r-- | 4.7 KB |
pwm-imx27.c | -rw-r--r-- | 8.8 KB |
pwm-jz4740.c | -rw-r--r-- | 5.2 KB |
pwm-lp3943.c | -rw-r--r-- | 7.5 KB |
pwm-lpc18xx-sct.c | -rw-r--r-- | 13.5 KB |
pwm-lpc32xx.c | -rw-r--r-- | 4.4 KB |
pwm-lpss-pci.c | -rw-r--r-- | 3.2 KB |
pwm-lpss-platform.c | -rw-r--r-- | 3.1 KB |
pwm-lpss.c | -rw-r--r-- | 7.3 KB |
pwm-lpss.h | -rw-r--r-- | 1.1 KB |
pwm-mediatek.c | -rw-r--r-- | 7.6 KB |
pwm-meson.c | -rw-r--r-- | 14.7 KB |
pwm-mtk-disp.c | -rw-r--r-- | 7.5 KB |
pwm-mxs.c | -rw-r--r-- | 4.4 KB |
pwm-omap-dmtimer.c | -rw-r--r-- | 10.6 KB |
pwm-pca9685.c | -rw-r--r-- | 14.4 KB |
pwm-puv3.c | -rw-r--r-- | 3.4 KB |
pwm-pxa.c | -rw-r--r-- | 5.5 KB |
pwm-rcar.c | -rw-r--r-- | 7.1 KB |
pwm-renesas-tpu.c | -rw-r--r-- | 11.5 KB |
pwm-rockchip.c | -rw-r--r-- | 10.2 KB |
pwm-samsung.c | -rw-r--r-- | 17.1 KB |
pwm-spear.c | -rw-r--r-- | 6.5 KB |
pwm-sti.c | -rw-r--r-- | 16.6 KB |
pwm-stm32-lp.c | -rw-r--r-- | 5.9 KB |
pwm-stm32.c | -rw-r--r-- | 17.6 KB |
pwm-stmpe.c | -rw-r--r-- | 7.2 KB |
pwm-sun4i.c | -rw-r--r-- | 10.1 KB |
pwm-tegra.c | -rw-r--r-- | 7.7 KB |
pwm-tiecap.c | -rw-r--r-- | 8.0 KB |
pwm-tiehrpwm.c | -rw-r--r-- | 15.5 KB |
pwm-tipwmss.c | -rw-r--r-- | 1.6 KB |
pwm-twl-led.c | -rw-r--r-- | 8.6 KB |
pwm-twl.c | -rw-r--r-- | 9.3 KB |
pwm-vt8500.c | -rw-r--r-- | 6.8 KB |
pwm-zx.c | -rw-r--r-- | 6.6 KB |
sysfs.c | -rw-r--r-- | 9.8 KB |
Computing file changes ...