[PATCH v3 00/10] s390: PG_arch_1+folio cleanups for uv+hugetlb

David Hildenbrand posted 10 patches 1 week, 4 days ago
arch/s390/include/asm/page.h    |   5 +
arch/s390/include/asm/pgtable.h |   8 +-
arch/s390/include/asm/uv.h      |  12 +-
arch/s390/kernel/uv.c           | 207 +++++++++++++++++++++-----------
arch/s390/mm/fault.c            |  14 ++-
arch/s390/mm/gmap.c             |  10 +-
arch/s390/mm/hugetlbpage.c      |   8 +-
7 files changed, 172 insertions(+), 92 deletions(-)
[PATCH v3 00/10] s390: PG_arch_1+folio cleanups for uv+hugetlb
Posted by David Hildenbrand 1 week, 4 days ago
Rebased on 390x/features. Cleanups around PG_arch_1 and folio handling
in UV and hugetlb code.

One "easy" fix upfront. Another issue I spotted is documented in [1].

Once this hits upstream, we can remove HAVE_ARCH_MAKE_PAGE_ACCESSIBLE
from core-mm and s390x, so only the folio variant will remain.

Compile tested, but not runtime tested with UV, I'll appreciate some
testing help from people with UV access and experience.

[1] https://lkml.kernel.org/r/20240404163642.1125529-1-david@redhat.com

v2 -> v3:
* "s390/uv: split large folios in gmap_make_secure()"
 -> Spelling fix
* "s390/hugetlb: convert PG_arch_1 code to work on folio->flags"
 -> Extended patch description

v1 -> v2:
* Rebased on s390x/features:
* "s390/hugetlb: convert PG_arch_1 code to work on folio->flags"
 -> pmd_folio() not available on s390x/features
* "s390/uv: don't call folio_wait_writeback() without a folio reference"
 -> Willy's folio conversion is in s390x/features
* "s390/uv: convert PG_arch_1 users to only work on small folios"
 -> Add comments
* Rearrange code and handle split_folio() return values properly. New
  patches to handle splitting:
 -> "s390/uv: gmap_make_secure() cleanups for further changes"
 -> "s390/uv: split large folios in gmap_make_secure()"
* Added more cleanups:
 -> "s390/uv: make uv_convert_from_secure() a static function"
 -> "s390/uv: convert uv_destroy_owned_page() to uv_destroy_(folio|pte)()"
 -> "s390/uv: convert uv_convert_owned_from_secure() to
     uv_convert_from_secure_(folio|pte)()"
 -> "s390/mm: implement HAVE_ARCH_MAKE_FOLIO_ACCESSIBLE"

Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: Janosch Frank <frankja@linux.ibm.com>
Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Thomas Huth <thuth@redhat.com>

David Hildenbrand (10):
  s390/uv: don't call folio_wait_writeback() without a folio reference
  s390/uv: gmap_make_secure() cleanups for further changes
  s390/uv: split large folios in gmap_make_secure()
  s390/uv: convert PG_arch_1 users to only work on small folios
  s390/uv: update PG_arch_1 comment
  s390/uv: make uv_convert_from_secure() a static function
  s390/uv: convert uv_destroy_owned_page() to uv_destroy_(folio|pte)()
  s390/uv: convert uv_convert_owned_from_secure() to
    uv_convert_from_secure_(folio|pte)()
  s390/uv: implement HAVE_ARCH_MAKE_FOLIO_ACCESSIBLE
  s390/hugetlb: convert PG_arch_1 code to work on folio->flags

 arch/s390/include/asm/page.h    |   5 +
 arch/s390/include/asm/pgtable.h |   8 +-
 arch/s390/include/asm/uv.h      |  12 +-
 arch/s390/kernel/uv.c           | 207 +++++++++++++++++++++-----------
 arch/s390/mm/fault.c            |  14 ++-
 arch/s390/mm/gmap.c             |  10 +-
 arch/s390/mm/hugetlbpage.c      |   8 +-
 7 files changed, 172 insertions(+), 92 deletions(-)

-- 
2.45.0
Re: [PATCH v3 00/10] s390: PG_arch_1+folio cleanups for uv+hugetlb
Posted by Heiko Carstens 1 week, 3 days ago
On Wed, May 08, 2024 at 08:29:45PM +0200, David Hildenbrand wrote:
> Rebased on 390x/features. Cleanups around PG_arch_1 and folio handling
> in UV and hugetlb code.
> 
> One "easy" fix upfront. Another issue I spotted is documented in [1].
> 
> Once this hits upstream, we can remove HAVE_ARCH_MAKE_PAGE_ACCESSIBLE
> from core-mm and s390x, so only the folio variant will remain.
> 
> Compile tested, but not runtime tested with UV, I'll appreciate some
> testing help from people with UV access and experience.
> 
> [1] https://lkml.kernel.org/r/20240404163642.1125529-1-david@redhat.com
> 
> v2 -> v3:
> * "s390/uv: split large folios in gmap_make_secure()"
>  -> Spelling fix
> * "s390/hugetlb: convert PG_arch_1 code to work on folio->flags"
>  -> Extended patch description

Added Claudio's Reviewed-by from v2 to the third patch, and fixed a
typo in the commit message of patch 9.

Applied, thanks!
Re: [PATCH v3 00/10] s390: PG_arch_1+folio cleanups for uv+hugetlb
Posted by David Hildenbrand 1 week, 3 days ago
On 09.05.24 17:04, Heiko Carstens wrote:
> On Wed, May 08, 2024 at 08:29:45PM +0200, David Hildenbrand wrote:
>> Rebased on 390x/features. Cleanups around PG_arch_1 and folio handling
>> in UV and hugetlb code.
>>
>> One "easy" fix upfront. Another issue I spotted is documented in [1].
>>
>> Once this hits upstream, we can remove HAVE_ARCH_MAKE_PAGE_ACCESSIBLE
>> from core-mm and s390x, so only the folio variant will remain.
>>
>> Compile tested, but not runtime tested with UV, I'll appreciate some
>> testing help from people with UV access and experience.
>>
>> [1] https://lkml.kernel.org/r/20240404163642.1125529-1-david@redhat.com
>>
>> v2 -> v3:
>> * "s390/uv: split large folios in gmap_make_secure()"
>>   -> Spelling fix
>> * "s390/hugetlb: convert PG_arch_1 code to work on folio->flags"
>>   -> Extended patch description
> 
> Added Claudio's Reviewed-by from v2 to the third patch, and fixed a
> typo in the commit message of patch 9.

Ah, I missed on RB, thanks!

-- 
Cheers,

David / dhildenb