• Paolo Bonzini's avatar
    Merge tag 'kvm-s390-next-20140825' of... · a7428c3d
    Paolo Bonzini authored
    Merge tag 'kvm-s390-next-20140825' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
    
    KVM: s390: Fixes and features for 3.18 part 1
    
    1. The usual cleanups: get rid of duplicate code, use defines, factor
       out the sync_reg handling, additional docs for sync_regs, better
       error handling on interrupt injection
    2. We use KVM_REQ_TLB_FLUSH instead of open coding tlb flushes
    3. Additional registers for kvm_run sync regs. This is usually not
       needed in the fast path due to eventfd/irqfd, but kvm stat claims
       that we reduced the overhead of console output by ~50% on my system
    4. A rework of the gmap infrastructure. This is the 2nd step towards
       host large page support (after getting rid of the storage key
       dependency). We introduces two radix trees to store the guest-to-host
       and host-to-guest translations. This gets us rid of most of
       the page-table walks in the gmap code. Only one in __gmap_link is left,
       this one is required to link the shadow page table to the process page
       table. Finally this contains the plumbing to support gmap page tables
       with less than 5 levels.
    a7428c3d
kvm-s390.c 46.1 KB