I've updated the patchset based on feedbacks:

- updated comments (from Andrew),
- moved calling set_hwpoison_free_buddy_page() from mm/migrate.c to 
mm/memory-failure.c,
  which is necessary to check the return code of set_hwpoison_free_buddy_page(),
- lkp bot reported a build error when only 1/2 is applied.

  >    mm/memory-failure.c: In function 'soft_offline_huge_page':
  > >> mm/memory-failure.c:1610:8: error: implicit declaration of function
  > 'set_hwpoison_free_buddy_page'; did you mean 'is_free_buddy_page'?
  > [-Werror=implicit-function-declaration]
  >        if (set_hwpoison_free_buddy_page(page))
  >            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  >            is_free_buddy_page
  >    cc1: some warnings being treated as errors

  set_hwpoison_free_buddy_page() is defined in 2/2, so we can't use it
  in 1/2. Simply doing s/set_hwpoison_free_buddy_page/!TestSetPageHWPoison/
  will fix this.

v1: https://lkml.org/lkml/2018/7/12/968

Thanks,
Naoya Horiguchi
---
Summary:

Naoya Horiguchi (2):
      mm: fix race on soft-offlining free huge pages
      mm: soft-offline: close the race against page allocation

 include/linux/page-flags.h |  5 +++++
 include/linux/swapops.h    | 10 ---------
 mm/hugetlb.c               | 11 +++++-----
 mm/memory-failure.c        | 53 ++++++++++++++++++++++++++++++++++++++--------
 mm/migrate.c               | 11 ----------
 mm/page_alloc.c            | 30 ++++++++++++++++++++++++++
 6 files changed, 84 insertions(+), 36 deletions(-)

Reply via email to