From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: David Hildenbrand <david@redhat.com>
Cc: linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
kvm@vger.kernel.org, linux-mm@kvack.org,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Janosch Frank <frankja@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Thomas Huth <thuth@redhat.com>,
Matthew Wilcox <willy@infradead.org>, Zi Yan <ziy@nvidia.com>,
Sebastian Mitterle <smitterl@redhat.com>
Subject: Re: [PATCH v1 0/3] s390/uv: handle folios that cannot be split while dirty
Date: Fri, 16 May 2025 19:07:55 +0200 [thread overview]
Message-ID: <20250516190755.32917d48@p-imbrenda> (raw)
In-Reply-To: <20250516123946.1648026-1-david@redhat.com>
On Fri, 16 May 2025 14:39:43 +0200
David Hildenbrand <david@redhat.com> wrote:
> From patch #3:
>
> "
> Currently, starting a PV VM on an iomap-based filesystem with large
> folio support, such as XFS, will not work. We'll be stuck in
> unpack_one()->gmap_make_secure(), because we can't seem to make progress
> splitting the large folio.
>
> The problem is that we require a writable PTE but a writable PTE under such
> filesystems will imply a dirty folio.
>
> So whenever we have a writable PTE, we'll have a dirty folio, and dirty
> iomap folios cannot currently get split, because
> split_folio()->split_huge_page_to_list_to_order()->filemap_release_folio()
> will fail in iomap_release_folio().
>
> So we will not make any progress splitting such large folios.
> "
>
> Let's fix one related problem during unpack first, to then handle such
> folios by triggering writeback before immediately trying to split them
> again.
>
> This makes it work on XFS with large folios again.
>
> Long-term, we should cleanly supporting splitting such folios even
> without writeback, but that's a bit harder to implement and not a quick
> fix.
yet another layer of duck tape
I really dislike the current interaction between secure execution and
I/O, I hope I can get a cleaner solution as soon as possible
meanwhile, let's keep the boat afloat; whole series:
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
David: thanks for fixing this mess!
>
> Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
> Cc: Janosch Frank <frankja@linux.ibm.com>
> Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
> Cc: David Hildenbrand <david@redhat.com>
> Cc: Heiko Carstens <hca@linux.ibm.com>
> Cc: Vasily Gorbik <gor@linux.ibm.com>
> Cc: Alexander Gordeev <agordeev@linux.ibm.com>
> Cc: Sven Schnelle <svens@linux.ibm.com>
> Cc: Thomas Huth <thuth@redhat.com>
> Cc: Matthew Wilcox <willy@infradead.org>
> Cc: Zi Yan <ziy@nvidia.com>
> Cc: Sebastian Mitterle <smitterl@redhat.com>
>
> David Hildenbrand (3):
> s390/uv: don't return 0 from make_hva_secure() if the operation was
> not successful
> s390/uv: always return 0 from s390_wiggle_split_folio() if successful
> s390/uv: improve splitting of large folios that cannot be split while
> dirty
>
> arch/s390/kernel/uv.c | 85 ++++++++++++++++++++++++++++++++++++-------
> 1 file changed, 72 insertions(+), 13 deletions(-)
>
>
> base-commit: 088d13246a4672bc03aec664675138e3f5bff68c
next prev parent reply other threads:[~2025-05-16 17:08 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-16 12:39 [PATCH v1 0/3] s390/uv: handle folios that cannot be split while dirty David Hildenbrand
2025-05-16 12:39 ` [PATCH v1 1/3] s390/uv: don't return 0 from make_hva_secure() if the operation was not successful David Hildenbrand
2025-05-16 14:07 ` David Hildenbrand
2025-05-16 21:08 ` Zi Yan
2025-05-16 21:20 ` David Hildenbrand
2025-05-17 0:02 ` Zi Yan
2025-05-16 12:39 ` [PATCH v1 2/3] s390/uv: always return 0 from s390_wiggle_split_folio() if successful David Hildenbrand
2025-05-17 0:08 ` Zi Yan
2025-05-16 12:39 ` [PATCH v1 3/3] s390/uv: improve splitting of large folios that cannot be split while dirty David Hildenbrand
2025-05-16 17:07 ` Claudio Imbrenda [this message]
2025-05-16 18:55 ` [PATCH v1 0/3] s390/uv: handle " David Hildenbrand
2025-05-16 17:17 ` Claudio Imbrenda
2025-05-16 18:56 ` David Hildenbrand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250516190755.32917d48@p-imbrenda \
--to=imbrenda@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-s390@vger.kernel.org \
--cc=smitterl@redhat.com \
--cc=svens@linux.ibm.com \
--cc=thuth@redhat.com \
--cc=willy@infradead.org \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.