mbox series

[RFC,00/14] KVM: s390: Huge page splitting and shadowing

Message ID 20180919084802.183381-1-frankja@linux.ibm.com (mailing list archive)
Headers show
Series KVM: s390: Huge page splitting and shadowing | expand

Message

Janosch Frank Sept. 19, 2018, 8:47 a.m. UTC
Let's continue with the hpage updates and introduce splitting as well
as VSIE support. A lot of problems have been fixed since I introduced
these patches the last time. Swapping and loaded migration tests have
been successful.

The locking is now done via the userspace mm pmd lock instead of the
guest_table_lock, which fixed a lot of potential locking problems
between pgtable.c and gmap.c functions.

VSIE handling has been slightly redesigned to handle all combinations
instead of only edge cases.

Split pages are being modified by common pgtable.c functions as much
as possible and got pgste locking before modifications.

There's still a lot of cleanup and documentation to do, but let's put
it out there.

Branch:
git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git hlp_vsie
https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git/log/?h=hlp_vsie

Janosch Frank (14):
  s390/mm: Code cleanups
  s390/mm: Improve locking for huge page backings
  s390/mm: Take locking out of gmap_protect_pte
  s390/mm: split huge pages in GMAP when protecting
  s390/mm: Split huge pages when migrating
  s390/mm: Provide vmaddr to pmd notification
  s390/mm: Add gmap_idte_global
  s390/mm: Make gmap_read_table EDAT1 compatible
  s390/mm: Make gmap_protect_rmap EDAT1 compatible
  s390/mm: Add simple ptep shadow function
  s390/mm: Add gmap shadowing for large pmds
  s390/mm: Add gmap lock classes
  s390/mm: Pull pmd invalid check in gmap_pmd_op_walk
  KVM: s390: Allow the VSIE to be used with huge pages

 Documentation/virtual/kvm/api.txt |   7 +-
 arch/s390/include/asm/gmap.h      |  31 +-
 arch/s390/include/asm/pgtable.h   |   5 +
 arch/s390/kvm/gaccess.c           |  52 ++-
 arch/s390/kvm/kvm-s390.c          |  14 +-
 arch/s390/mm/gmap.c               | 905 ++++++++++++++++++++++++++++----------
 arch/s390/mm/pgtable.c            |  61 ++-
 7 files changed, 806 insertions(+), 269 deletions(-)

Comments

Janosch Frank Oct. 8, 2018, 9:10 a.m. UTC | #1
On 19.09.18 10:47, Janosch Frank wrote:
> Let's continue with the hpage updates and introduce splitting as well
> as VSIE support. A lot of problems have been fixed since I introduced
> these patches the last time. Swapping and loaded migration tests have
> been successful.

Now that vfio-ap has been merged, let's bring this up again.
Ping


> 
> The locking is now done via the userspace mm pmd lock instead of the
> guest_table_lock, which fixed a lot of potential locking problems
> between pgtable.c and gmap.c functions.
> 
> VSIE handling has been slightly redesigned to handle all combinations
> instead of only edge cases.
> 
> Split pages are being modified by common pgtable.c functions as much
> as possible and got pgste locking before modifications.
> 
> There's still a lot of cleanup and documentation to do, but let's put
> it out there.
> 
> Branch:
> git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git hlp_vsie
> https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git/log/?h=hlp_vsie
> 
> Janosch Frank (14):
>   s390/mm: Code cleanups
>   s390/mm: Improve locking for huge page backings
>   s390/mm: Take locking out of gmap_protect_pte
>   s390/mm: split huge pages in GMAP when protecting
>   s390/mm: Split huge pages when migrating
>   s390/mm: Provide vmaddr to pmd notification
>   s390/mm: Add gmap_idte_global
>   s390/mm: Make gmap_read_table EDAT1 compatible
>   s390/mm: Make gmap_protect_rmap EDAT1 compatible
>   s390/mm: Add simple ptep shadow function
>   s390/mm: Add gmap shadowing for large pmds
>   s390/mm: Add gmap lock classes
>   s390/mm: Pull pmd invalid check in gmap_pmd_op_walk
>   KVM: s390: Allow the VSIE to be used with huge pages
> 
>  Documentation/virtual/kvm/api.txt |   7 +-
>  arch/s390/include/asm/gmap.h      |  31 +-
>  arch/s390/include/asm/pgtable.h   |   5 +
>  arch/s390/kvm/gaccess.c           |  52 ++-
>  arch/s390/kvm/kvm-s390.c          |  14 +-
>  arch/s390/mm/gmap.c               | 905 ++++++++++++++++++++++++++++----------
>  arch/s390/mm/pgtable.c            |  61 ++-
>  7 files changed, 806 insertions(+), 269 deletions(-)
>
David Hildenbrand Oct. 8, 2018, 9:13 a.m. UTC | #2
On 08/10/2018 11:10, Janosch Frank wrote:
> On 19.09.18 10:47, Janosch Frank wrote:
>> Let's continue with the hpage updates and introduce splitting as well
>> as VSIE support. A lot of problems have been fixed since I introduced
>> these patches the last time. Swapping and loaded migration tests have
>> been successful.
> 
> Now that vfio-ap has been merged, let's bring this up again.
> Ping

Yes, on my list. Unfortunately quite busy right now - will get better
once KVM forum is over. Definitely planning to look into this.