On Fri, 6 Jul 2018 16:52:50 +0200 David Hildenbrand <david@xxxxxxxxxx> wrote: > On 06.07.2018 15:55, Janosch Frank wrote: > > So, after the userfaultfd fix postcopy does work now, but vSIE in > > combination with paging can still result in crashing g3s. Therefore > > we split up the series and only integrate non-vSIE support for now. > > > > Just for the fun of it, did you try unlocking THP on a 4k guest with > the KVM huge page capability set? Should be fairly easy. > > My assumption is that it should be a pretty good sanity check if all > notifiers/invalidations are working :) After ripping out all of the safeguards, the guest boots and is successfully running memtester on 4g of its memory. The guest itself has 6gb: 3fdeff00000-3ff6ff00000 rw-p 00000000 00:00 0 Size: 6291456 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 6291456 kB Pss: 6291456 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 6291456 kB Referenced: 6291456 kB Anonymous: 6291456 kB LazyFree: 0 kB AnonHugePages: 6266880 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 6291456 kB VmFlags: rd wr mr mw me dc ac dd hg mg > > > 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 > > > > v5: > > * Removed pmd splitting and userspace protection > > * Split up bigger patches > > * Cleanups > > > > V4: > > * Split up vSIE patches > > * Added hpage module parameter disabling vSIE when set. > > * Added HPAGE capability that has to be enabled for huge > > guests > > > > V3: > > * Moved splitting to the front. > > * Cleanups > > > > V2: > > * Incorporated changes from David's cleanup > > * Now flushing with IDTE_NODAT for protection transfers. > > * Added RRBE huge page handling for g2 -> g3 skey emulation > > * Added documentation for capability > > * Renamed GMAP_ENTRY_* constants > > * Added SEGMENT hardware bits constants > > * Improved some patch descriptions > > * General small improvements > > * Introduced pte_from_pmd function > > > > Dominik Dingel (2): > > s390/mm: clear huge page storage keys on enable_skey > > s390/mm: hugetlb pages within a gmap can not be freed > > > > Janosch Frank (9): > > s390/mm: make gmap_protect_range more modular > > s390/mm: Abstract gmap notify bit setting > > s390/mm: Introduce gmap_pmdp_xchg > > s390/mm: Add gmap pmd linking > > s390/mm: add gmap pmd invalidation notification > > s390/mm: Add gmap pmd invalidation and clearing > > s390/mm: Add huge page dirty sync support > > s390/mm: Add huge pmd storage key handling > > s390/mm: Enable gmap huge pmd support > > > > Documentation/virtual/kvm/api.txt | 16 ++ > > arch/s390/include/asm/gmap.h | 10 + > > arch/s390/include/asm/mmu.h | 2 + > > arch/s390/include/asm/mmu_context.h | 1 + > > arch/s390/include/asm/pgtable.h | 11 +- > > arch/s390/kvm/kvm-s390.c | 61 ++++- > > arch/s390/mm/gmap.c | 457 > > ++++++++++++++++++++++++++++++++++-- > > arch/s390/mm/pageattr.c | 6 +- > > arch/s390/mm/pgtable.c | 102 ++++++-- > > include/uapi/linux/kvm.h | 1 + 10 files changed, 614 > > insertions(+), 53 deletions(-) > >