Skip to content
  • Linus Torvalds's avatar
    Merge tag 'stable/for-linus-3.14-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 84621c9b
    Linus Torvalds authored
    Pull Xen updates from Konrad Rzeszutek Wilk:
     "Two major features that Xen community is excited about:
    
      The first is event channel scalability by David Vrabel - we switch
      over from an two-level per-cpu bitmap of events (IRQs) - to an FIFO
      queue with priorities.  This lets us be able to handle more events,
      have lower latency, and better scalability.  Good stuff.
    
      The other is PVH by Mukesh Rathor.  In short, PV is a mode where the
      kernel lets the hypervisor program page-tables, segments, etc.  With
      EPT/NPT capabilities in current processors, the overhead of doing this
      in an HVM (Hardware Virtual Machine) container is much lower than the
      hypervisor doing it for us.
    
      In short we let a PV guest run without doing page-table, segment,
      syscall, etc updates through the hypervisor - instead it is all done
      within the guest container.  It is a "hybrid" PV - hence the 'PVH'
      name - a PV guest within an HVM container.
    
      The major benefits are less code to deal with - for example we only
      use one function from the the pv_mmu_ops (which has 39 function
      calls); faster performance for syscall (no context switches into the
      hypervisor); less traps on various operations; etc.
    
      It is still being baked - the ABI is not yet set in stone.  But it is
      pretty awesome and we are excited about it.
    
      Lastly, there are some changes to ARM code - you should get a simple
      conflict which has been resolved in #linux-next.
    
      In short, this pull has awesome features.
    
      Features:
       - FIFO event channels.  Key advantages: support for over 100,000
         events (2^17), 16 different event priorities, improved fairness in
         event latency through the use of FIFOs.
       - Xen PVH support.  "It’s a fully PV kernel mode, running with
         paravirtualized disk and network, paravirtualized interrupts and
         timers, no emulated devices of any kind (and thus no qemu), no BIOS
         or legacy boot — but instead of requiring PV MMU, it uses the HVM
         hardware extensions to virtualize the pagetables, as well as system
         calls and other privileged operations." (from "The
         Paravirtualization Spectrum, Part 2: From poles to a spectrum")
    
      Bug-fixes:
       - Fixes in balloon driver (refactor and make it work under ARM)
       - Allow xenfb to be used in HVM guests.
       - Allow xen_platform_pci=0 to work properly.
       - Refactors in event channels"
    
    * tag 'stable/for-linus-3.14-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (52 commits)
      xen/pvh: Set X86_CR0_WP and others in CR0 (v2)
      MAINTAINERS: add git repository for Xen
      xen/pvh: Use 'depend' instead of 'select'.
      xen: delete new instances of __cpuinit usage
      xen/fb: allow xenfb initialization for hvm guests
      xen/evtchn_fifo: fix error return code in evtchn_fifo_setup()
      xen-platform: fix error return code in platform_pci_init()
      xen/pvh: remove duplicated include from enlighten.c
      xen/pvh: Fix compile issues with xen_pvh_domain()
      xen: Use dev_is_pci() to check whether it is pci device
      xen/grant-table: Force to use v1 of grants.
      xen/pvh: Support ParaVirtualized Hardware extensions (v3).
      xen/pvh: Piggyback on PVHVM XenBus.
      xen/pvh: Piggyback on PVHVM for grant driver (v4)
      xen/grant: Implement an grant frame array struct (v3).
      xen/grant-table: Refactor gnttab_init
      xen/grants: Remove gnttab_max_grant_frames dependency on gnttab_init.
      xen/pvh: Piggyback on PVHVM for event channels (v2)
      xen/pvh: Update E820 to work with PVH (v2)
      xen/pvh: Secondary VCPU bringup (non-bootup CPUs)
      ...
    84621c9b