mm: add cond_resched() in swapin_walk_pmd_entry()
authorKefeng Wang <wangkefeng.wang@huawei.com>
Mon, 5 Dec 2022 14:03:27 +0000 (22:03 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 12 Dec 2022 02:12:21 +0000 (18:12 -0800)
commitde2e5171433126d340573cb7d0d4fcac084ab2a0
tree853a2c011413ff9a83d08bf53b6a8a3198a16387
parent8614d6c5eda005ad72b37afeaae2879d7c101b18
mm: add cond_resched() in swapin_walk_pmd_entry()

When handling MADV_WILLNEED in madvise(), a soflockup may occurr in
swapin_walk_pmd_entry() if swapping in lots of memory on a slow device.
Add a cond_resched() to avoid the possible softlockup.

Link: https://lkml.kernel.org/r/20221205140327.72304-1-wangkefeng.wang@huawei.com
Fixes: 1998cc048901 ("mm: make madvise(MADV_WILLNEED) support swap file prefetch")
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: Shaohua Li <shli@fusionio.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/madvise.c