public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/15] KVM: s390: Stop using page->index and other things
@ 2025-01-17 19:09 Claudio Imbrenda
  2025-01-17 19:09 ` [PATCH v3 01/15] KVM: Do not restrict the size of KVM-internal memory regions Claudio Imbrenda
                   ` (14 more replies)
  0 siblings, 15 replies; 42+ messages in thread
From: Claudio Imbrenda @ 2025-01-17 19:09 UTC (permalink / raw)
  To: kvm
  Cc: linux-s390, frankja, borntraeger, schlameuss, david, willy, hca,
	svens, agordeev, gor, nrb, nsg, seanjc, seiden

This patchseries starts moving some of the gmap logic into KVM itself,
going towards the final goal of completely removing gmap from the
non-kvm memory management code. Aside from just moving some code from
mm/gmap into kvm, this series also starts using __kvm_faultin_pfn() to
fault-in pages as needed.

But more importantly, this series removes almost all uses of
page->index (and all uses of page->lru) from the s390 KVM code.
The only remaining use is for the vsie pages, but that has already been
taken care of by David in another series.

Unfortunately the mix of hastiness and holidays means that this series
is a little bit all over the place, and not as complete as I would have
liked to.

I'm posting it now so to try to speed up the removal of page->index,
hopefully I will be able to post another short series before the
upcoming merge window closes.


v1->v2:
* moved some code around between patches to improve readability and shuffle
  the order of some patches
* rebase on Sean's patchseries
* add Sean's patch to remove size limitations for internal memslots
* use Sean's new API for internal memslots to place one huge internal
  memslot instead of many 4T ones for UCONTROL guests
* create new kvm/gmap-vsie.c file for VSIE code, instead of dumping
  everything in the existing files, which are already too large
* improve comments and patch descriptions
* minor style and cosmetic fixes

v2->v3
* moved patch 5 back to its place
* moved uv_wiggle_folio() to mm/gmap.c and renamed it to
  kvm_s390_wiggle_split_folio()
* fixed some typos
* added some lockdep asserts
* minor style fixes
* added some comments
* fixed documentation


Claudio Imbrenda (14):
  KVM: s390: wrapper for KVM_BUG
  KVM: s390: fake memslot for ucontrol VMs
  KVM: s390: selftests: fix ucontrol memory region test
  KVM: s390: move pv gmap functions into kvm
  KVM: s390: use __kvm_faultin_pfn()
  KVM: s390: get rid of gmap_fault()
  KVM: s390: get rid of gmap_translate()
  KVM: s390: move some gmap shadowing functions away from mm/gmap.c
  KVM: s390: stop using page->index for non-shadow gmaps
  KVM: s390: stop using lists to keep track of used dat tables
  KVM: s390: move gmap_shadow_pgt_lookup() into kvm
  KVM: s390: remove useless page->index usage
  KVM: s390: move PGSTE softbits
  KVM: s390: remove the last user of page->index

Sean Christopherson (1):
  KVM: Do not restrict the size of KVM-internal memory regions

 Documentation/virt/kvm/api.rst                |   2 +-
 arch/s390/include/asm/gmap.h                  |  18 +-
 arch/s390/include/asm/kvm_host.h              |   2 +
 arch/s390/include/asm/pgtable.h               |  21 +-
 arch/s390/include/asm/uv.h                    |   6 +-
 arch/s390/kernel/uv.c                         | 292 +-------
 arch/s390/kvm/Makefile                        |   2 +-
 arch/s390/kvm/gaccess.c                       |  42 ++
 arch/s390/kvm/gmap-vsie.c                     | 142 ++++
 arch/s390/kvm/gmap.c                          | 206 ++++++
 arch/s390/kvm/gmap.h                          |  39 +
 arch/s390/kvm/intercept.c                     |   5 +-
 arch/s390/kvm/interrupt.c                     |  19 +-
 arch/s390/kvm/kvm-s390.c                      | 219 +++++-
 arch/s390/kvm/kvm-s390.h                      |  19 +
 arch/s390/kvm/pv.c                            |   1 +
 arch/s390/kvm/vsie.c                          |   2 +
 arch/s390/mm/gmap.c                           | 681 ++++--------------
 .../selftests/kvm/s390x/ucontrol_test.c       |   6 +-
 virt/kvm/kvm_main.c                           |  10 +-
 20 files changed, 867 insertions(+), 867 deletions(-)
 create mode 100644 arch/s390/kvm/gmap-vsie.c
 create mode 100644 arch/s390/kvm/gmap.c
 create mode 100644 arch/s390/kvm/gmap.h

-- 
2.48.1


^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2025-01-22 16:20 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-17 19:09 [PATCH v3 00/15] KVM: s390: Stop using page->index and other things Claudio Imbrenda
2025-01-17 19:09 ` [PATCH v3 01/15] KVM: Do not restrict the size of KVM-internal memory regions Claudio Imbrenda
2025-01-20 12:06   ` David Hildenbrand
2025-01-17 19:09 ` [PATCH v3 02/15] KVM: s390: wrapper for KVM_BUG Claudio Imbrenda
2025-01-20 12:07   ` David Hildenbrand
2025-01-17 19:09 ` [PATCH v3 03/15] KVM: s390: fake memslot for ucontrol VMs Claudio Imbrenda
2025-01-20 12:09   ` David Hildenbrand
2025-01-20 15:27   ` Christoph Schlameuss
2025-01-21 16:33     ` Claudio Imbrenda
2025-01-21 12:23   ` Janosch Frank
2025-01-17 19:09 ` [PATCH v3 04/15] KVM: s390: selftests: fix ucontrol memory region test Claudio Imbrenda
2025-01-20 12:12   ` David Hildenbrand
2025-01-20 12:25     ` Claudio Imbrenda
2025-01-20 15:40       ` Christoph Schlameuss
2025-01-17 19:09 ` [PATCH v3 05/15] KVM: s390: move pv gmap functions into kvm Claudio Imbrenda
2025-01-21 10:55   ` Christoph Schlameuss
2025-01-21 12:54   ` Janosch Frank
2025-01-17 19:09 ` [PATCH v3 06/15] KVM: s390: use __kvm_faultin_pfn() Claudio Imbrenda
2025-01-21 15:11   ` Christoph Schlameuss
2025-01-17 19:09 ` [PATCH v3 07/15] KVM: s390: get rid of gmap_fault() Claudio Imbrenda
2025-01-22  9:44   ` Christoph Schlameuss
2025-01-17 19:09 ` [PATCH v3 08/15] KVM: s390: get rid of gmap_translate() Claudio Imbrenda
2025-01-22  9:59   ` Christoph Schlameuss
2025-01-17 19:09 ` [PATCH v3 09/15] KVM: s390: move some gmap shadowing functions away from mm/gmap.c Claudio Imbrenda
2025-01-21 13:30   ` Janosch Frank
2025-01-22 12:50   ` Christoph Schlameuss
2025-01-22 15:05     ` Janosch Frank
2025-01-17 19:09 ` [PATCH v3 10/15] KVM: s390: stop using page->index for non-shadow gmaps Claudio Imbrenda
2025-01-21 13:41   ` Janosch Frank
2025-01-17 19:09 ` [PATCH v3 11/15] KVM: s390: stop using lists to keep track of used dat tables Claudio Imbrenda
2025-01-20 15:10   ` Steffen Eiden
2025-01-20 15:29     ` Claudio Imbrenda
2025-01-21 14:09   ` Janosch Frank
2025-01-22 16:13   ` Christoph Schlameuss
2025-01-22 16:19     ` Claudio Imbrenda
2025-01-17 19:09 ` [PATCH v3 12/15] KVM: s390: move gmap_shadow_pgt_lookup() into kvm Claudio Imbrenda
2025-01-21 14:23   ` Janosch Frank
2025-01-17 19:09 ` [PATCH v3 13/15] KVM: s390: remove useless page->index usage Claudio Imbrenda
2025-01-17 19:09 ` [PATCH v3 14/15] KVM: s390: move PGSTE softbits Claudio Imbrenda
2025-01-17 19:09 ` [PATCH v3 15/15] KVM: s390: remove the last user of page->index Claudio Imbrenda
2025-01-21 14:44   ` Janosch Frank
2025-01-21 14:48     ` Claudio Imbrenda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox