Re: [PATCH v2 2/4] mm: change to return bool for isolate_lru_page()

From: SeongJae Park
Date: Tue Feb 14 2023 - 14:32:18 EST


On Tue, 14 Feb 2023 21:59:30 +0800 Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx> wrote:

> The isolate_lru_page() can only return 0 or -EBUSY, and most users did
> not care about the negative error of isolate_lru_page(), except one user
> in add_page_for_migration(). So we can convert the isolate_lru_page() to
> return a boolean value, which can help to make the code more clear when
> checking the return value of isolate_lru_page().
>
> Also convert all users' logic of checking the isolation state.
>
> No functional changes intended.
>
> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
> ---
> mm/folio-compat.c | 12 +++---------
> mm/internal.h | 2 +-
> mm/khugepaged.c | 2 +-
> mm/memcontrol.c | 4 ++--
> mm/memory-failure.c | 4 ++--
> mm/memory_hotplug.c | 2 +-
> mm/migrate.c | 9 ++++++---
> mm/migrate_device.c | 2 +-
> 8 files changed, 17 insertions(+), 20 deletions(-)
>
[...]
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index a1e8c3e9ab08..17ed80707518 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -1668,7 +1668,7 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
> * LRU and non-lru movable pages.
> */
> if (PageLRU(page))
> - ret = isolate_lru_page(page);
> + ret = !isolate_lru_page(page);

This may change return value of this function. That is, this function will
return 1 instead of -EBUSY after this change. It's not a real issue as no
caller of this function takes care of the return value, though.


Thanks,
SJ

> else
> ret = isolate_movable_page(page, ISOLATE_UNEVICTABLE);
> if (!ret) { /* Success */
[...]