Skip to content

Change the return value for page isolation functions

Baolin Wang cgroups damon linux-mm lkml 2 versions – Applied

Status from this message: [merged mm-stable] mm-change-to-return-bool-for-isolate_movable_page.patch removed from -mm tree

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest4 patches 11 repliesApplied 4/4
  2. v24 patches 9 repliesSuperseded

Changes in v3 from the cover letter

- Add a new boolean 'isolated' variable for functions that require the negative error value.
- Keep the same return value logic in do_migrate_range(), that means it will return -EBUSY if all pages are failed to be isolated.
- Collect Acked-by and Reviewed-by tags. Thanks David and SeongJae.

Patches in v3 All 4 applied

#Subject and filesSizeRepliesApplied
1/4mm: change to return bool for folio_isolate_lru()mm/damon/paddr.c mm/folio-compat.c mm/gup.c +5 more+19 -131 replyApplied
2/4mm: change to return bool for isolate_lru_page()mm/folio-compat.c mm/internal.h mm/khugepaged.c +5 more+21 -221 replyApplied
3/4mm: hugetlb: change to return bool for isolate_hugetlb()include/linux/hugetlb.h mm/hugetlb.c mm/memory-failure.c +2 more+16 -144 repliesApplied
4/4mm: change to return bool for isolate_movable_page()include/linux/migrate.h mm/compaction.c mm/memory-failure.c +2 more+14 -143 repliesApplied

Reviews trailers per patch

All 4 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchSeongJae ParkDavid HildenbrandMatthew Wilcox (Oracle)Mike Kravetz
SeriesR-b
1/4R-b A-b R-b
2/4A-b R-b
3/4A-b R-b R-b
4/4A-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v3 thread

Cover letter [PATCH v3 0/4] Change the return value for page isolation functions

Now the page isolation functions did not return a boolean to indicate success or not, instead it will return a negative error when failed to isolate a page. So below code used in most places seem a boolean success/failure thing, which can confuse people whether the isolation is successful.

if (folio_isolate_lru(folio))

        continue;

Moreover the page isolation functions only return 0 or -EBUSY, and most users did not care about the negative error except for few users, thus we can convert all page isolation functions to return a boolean value, which can remove the confusion to make code more clear.

No functional changes intended in this patch series.

Changes from v2:
- Add a new boolean 'isolated' variable for functions that require the negative error value.
- Keep the same return value logic in do_migrate_range(), that means it will return -EBUSY if all pages are failed to be isolated.
- Collect Acked-by and Reviewed-by tags. Thanks David and SeongJae.

Changes from v1:
- Convert all isolation functions to return bool.

Baolin Wang (4):
mm: change to return bool for folio_isolate_lru()
mm: change to return bool for isolate_lru_page()
mm: hugetlb: change to return bool for isolate_hugetlb()
mm: change to return bool for isolate_movable_page()

 include/linux/hugetlb.h |  6 +++---
 include/linux/migrate.h |  6 +++---
 mm/compaction.c         |  2 +-
 mm/damon/paddr.c        |  2 +-
 mm/folio-compat.c       |  4 ++--
 mm/gup.c                |  2 +-
 mm/hugetlb.c            | 13 ++++++++-----
 mm/internal.h           |  4 ++--
 mm/khugepaged.c         |  4 ++--
 mm/madvise.c            |  4 ++--
 mm/memcontrol.c         |  4 ++--
 mm/memory-failure.c     | 10 +++++-----
 mm/memory_hotplug.c     |  8 +++++---
 mm/mempolicy.c          |  4 ++--
 mm/migrate.c            | 20 +++++++++++---------
 mm/migrate_device.c     |  2 +-
 mm/vmscan.c             | 10 +++++-----
 17 files changed, 56 insertions(+), 49 deletions(-)
Signature · 1 line
2.27.0