[mm-unstable,0/8] convert hugepage memory failure functions to folios

Message ID 20230112204608.80136-1-sidhartha.kumar@oracle.com
Headers
Series convert hugepage memory failure functions to folios |

Message

Sidhartha Kumar Jan. 12, 2023, 8:46 p.m. UTC
  ============== OVERVIEW ===========================
This series contains a 1:1 straightforward page to folio conversion for
memory failure functions which deal with huge pages. I renamed a few
functions to fit with how other folio operating functions are named.
These include:

hugetlb_clear_page_hwpoison -> folio_clear_hugetlb_hwpoison
free_raw_hwp_pages -> folio_free_raw_hwp
__free_raw_hwp_pages -> __folio_free_raw_hwp
hugetlb_set_page_hwpoison -> folio_set_hugetlb_hwpoison

The goal of this series was to reduce users of the hugetlb specific
page flag macros which take in a page so users are protected by
the compiler to make sure they are operating on a head page.

Sidhartha Kumar (8):
  mm/memory-failure: convert __get_huge_page_for_hwpoison() to folios
  mm/memory-failure: convert try_memory_failure_hugetlb() to folios
  mm/memory-failure: convert hugetlb_clear_page_hwpoison to folios
  mm/memory-failure: convert free_raw_hwp_pages() to folios
  mm/memory-failure: convert raw_hwp_list_head() to folios
  mm/memory-failure: convert __free_raw_hwp_pages() to folios
  mm/memory-failure: convert hugetlb_set_page_hwpoison() to folios
  mm/memory-failure: convert unpoison_memory() to folios

 include/linux/hugetlb.h |   4 +-
 mm/hugetlb.c            |   2 +-
 mm/memory-failure.c     | 116 ++++++++++++++++++++--------------------
 3 files changed, 61 insertions(+), 61 deletions(-)
  

Comments

HORIGUCHI NAOYA(堀口 直也) Jan. 13, 2023, 7:03 a.m. UTC | #1
On Thu, Jan 12, 2023 at 02:46:00PM -0600, Sidhartha Kumar wrote:
> ============== OVERVIEW ===========================
> This series contains a 1:1 straightforward page to folio conversion for
> memory failure functions which deal with huge pages. I renamed a few
> functions to fit with how other folio operating functions are named.
> These include:
> 
> hugetlb_clear_page_hwpoison -> folio_clear_hugetlb_hwpoison
> free_raw_hwp_pages -> folio_free_raw_hwp
> __free_raw_hwp_pages -> __folio_free_raw_hwp
> hugetlb_set_page_hwpoison -> folio_set_hugetlb_hwpoison
> 
> The goal of this series was to reduce users of the hugetlb specific
> page flag macros which take in a page so users are protected by
> the compiler to make sure they are operating on a head page.
> 
> Sidhartha Kumar (8):
>   mm/memory-failure: convert __get_huge_page_for_hwpoison() to folios
>   mm/memory-failure: convert try_memory_failure_hugetlb() to folios
>   mm/memory-failure: convert hugetlb_clear_page_hwpoison to folios
>   mm/memory-failure: convert free_raw_hwp_pages() to folios
>   mm/memory-failure: convert raw_hwp_list_head() to folios
>   mm/memory-failure: convert __free_raw_hwp_pages() to folios
>   mm/memory-failure: convert hugetlb_set_page_hwpoison() to folios
>   mm/memory-failure: convert unpoison_memory() to folios

Hi Sidhartha,

I looked through the patchset and all look fine to me.  And I tested the
patchset with v6.2-rc3 and no new issue is detected (I failed to boot with
latest mm-unstable, but maybe that should not be caused by your patches).

Thank you very much,

Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>

for the whole series.

- Naoya Horiguchi
  
Sidhartha Kumar Jan. 13, 2023, 4:06 p.m. UTC | #2
On 1/13/23 1:03 AM, HORIGUCHI NAOYA(堀口 直也) wrote:
> On Thu, Jan 12, 2023 at 02:46:00PM -0600, Sidhartha Kumar wrote:
>> ============== OVERVIEW ===========================
>> This series contains a 1:1 straightforward page to folio conversion for
>> memory failure functions which deal with huge pages. I renamed a few
>> functions to fit with how other folio operating functions are named.
>> These include:
>>
>> hugetlb_clear_page_hwpoison -> folio_clear_hugetlb_hwpoison
>> free_raw_hwp_pages -> folio_free_raw_hwp
>> __free_raw_hwp_pages -> __folio_free_raw_hwp
>> hugetlb_set_page_hwpoison -> folio_set_hugetlb_hwpoison
>>
>> The goal of this series was to reduce users of the hugetlb specific
>> page flag macros which take in a page so users are protected by
>> the compiler to make sure they are operating on a head page.
>>
>> Sidhartha Kumar (8):
>>    mm/memory-failure: convert __get_huge_page_for_hwpoison() to folios
>>    mm/memory-failure: convert try_memory_failure_hugetlb() to folios
>>    mm/memory-failure: convert hugetlb_clear_page_hwpoison to folios
>>    mm/memory-failure: convert free_raw_hwp_pages() to folios
>>    mm/memory-failure: convert raw_hwp_list_head() to folios
>>    mm/memory-failure: convert __free_raw_hwp_pages() to folios
>>    mm/memory-failure: convert hugetlb_set_page_hwpoison() to folios
>>    mm/memory-failure: convert unpoison_memory() to folios
> 
> Hi Sidhartha,
> 
> I looked through the patchset and all look fine to me.  And I tested the
> patchset with v6.2-rc3 and no new issue is detected (I failed to boot with
> latest mm-unstable, but maybe that should not be caused by your patches).

Thanks for your review and testing.

It looks like the boot failure has been described here: 
https://lore.kernel.org/linux-mm/Y8FnAwWOxLrfoWTN@casper.infradead.org/T/#u 
and is not caused by this patch series.

Thanks,
Sidhartha Kumar
> 
> Thank you very much,
> 
> Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
> 
> for the whole series.
> 
> - Naoya Horiguchi