Re: [PATCH v2 4/5] KVM: s390: refactor and split some gmap helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/20/25 8:26 PM, Claudio Imbrenda wrote:
Refactor some gmap functions; move the implementation into a separate
file with only helper functions. The new helper functions work on vm
addresses, leaving all gmap logic in the gmap functions, which mostly
become just wrappers.

The whole gmap handling is going to be moved inside KVM soon, but the
helper functions need to touch core mm functions, and thus need to
stay in the core of kernel.

Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
---
  MAINTAINERS                          |   2 +
  arch/s390/include/asm/gmap_helpers.h |  18 ++
  arch/s390/kvm/diag.c                 |  11 +-
  arch/s390/kvm/kvm-s390.c             |   5 +-
  arch/s390/mm/Makefile                |   2 +
  arch/s390/mm/gmap.c                  |  46 ++---
  arch/s390/mm/gmap_helpers.c          | 259 +++++++++++++++++++++++++++
  7 files changed, 302 insertions(+), 41 deletions(-)
  create mode 100644 arch/s390/include/asm/gmap_helpers.h
  create mode 100644 arch/s390/mm/gmap_helpers.c

[...]

diff --git a/arch/s390/mm/Makefile b/arch/s390/mm/Makefile
index 9726b91fe7e4..bd0401cc7ca5 100644
--- a/arch/s390/mm/Makefile
+++ b/arch/s390/mm/Makefile
@@ -12,3 +12,5 @@ obj-$(CONFIG_HUGETLB_PAGE)	+= hugetlbpage.o
  obj-$(CONFIG_PTDUMP)		+= dump_pagetables.o
  obj-$(CONFIG_PGSTE)		+= gmap.o
  obj-$(CONFIG_PFAULT)		+= pfault.o
+
+obj-$(subst m,y,$(CONFIG_KVM))	+= gmap_helpers.o

So gmap.o depends on PGSTE but gmap_helpers.o depends on KVM.
Yes, PGSTE is Y if KVM is set, but this looks really strange.


@Heiko:
Can we move away from CONFIG_PGSTE and start using CONFIG_KVM instead?
Well, maybe this goes away with Claudio's rework anyway.




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux