1. 27 7月, 2017 1 次提交
  2. 13 7月, 2017 1 次提交
    • C
      KVM: trigger uevents when creating or destroying a VM · 286de8f6
      Claudio Imbrenda 提交于
      This patch adds a few lines to the KVM common code to fire a
      KOBJ_CHANGE uevent whenever a KVM VM is created or destroyed. The event
      carries five environment variables:
      
      CREATED indicates how many times a new VM has been created. It is
      	useful for example to trigger specific actions when the first
      	VM is started
      COUNT indicates how many VMs are currently active. This can be used for
      	logging or monitoring purposes
      PID has the pid of the KVM process that has been started or stopped.
      	This can be used to perform process-specific tuning.
      STATS_PATH contains the path in debugfs to the directory with all the
      	runtime statistics for this VM. This is useful for performance
      	monitoring and profiling.
      EVENT described the type of event, its value can be either "create" or
      	"destroy"
      
      Specific udev rules can be then set up in userspace to deal with the
      creation or destruction of VMs as needed.
      Signed-off-by: NClaudio Imbrenda <imbrenda@linux.vnet.ibm.com>
      Signed-off-by: NRadim Krčmář <rkrcmar@redhat.com>
      286de8f6
  3. 10 7月, 2017 1 次提交
  4. 07 7月, 2017 4 次提交
  5. 29 6月, 2017 2 次提交
  6. 27 6月, 2017 2 次提交
  7. 23 6月, 2017 2 次提交
    • T
      arm/arm64: KVM: add guest SEA support · 621f48e4
      Tyler Baicar 提交于
      Currently external aborts are unsupported by the guest abort
      handling. Add handling for SEAs so that the host kernel reports
      SEAs which occur in the guest kernel.
      
      When an SEA occurs in the guest kernel, the guest exits and is
      routed to kvm_handle_guest_abort(). Prior to this patch, a print
      message of an unsupported FSC would be printed and nothing else
      would happen. With this patch, the code gets routed to the APEI
      handling of SEAs in the host kernel to report the SEA information.
      Signed-off-by: NTyler Baicar <tbaicar@codeaurora.org>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
      Acked-by: NChristoffer Dall <cdall@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      621f48e4
    • J
      KVM: arm/arm64: Signal SIGBUS when stage2 discovers hwpoison memory · 196f878a
      James Morse 提交于
      Once we enable ARCH_SUPPORTS_MEMORY_FAILURE on arm64, notifications for
      broken memory can call memory_failure() in mm/memory-failure.c to offline
      pages of memory, possibly signalling user space processes and notifying all
      the in-kernel users.
      
      memory_failure() has two modes, early and late. Early is used by
      machine-managers like Qemu to receive a notification when a memory error is
      notified to the host. These can then be relayed to the guest before the
      affected page is accessed. To enable this, the process must set
      PR_MCE_KILL_EARLY in PR_MCE_KILL_SET using the prctl() syscall.
      
      Once the early notification has been handled, nothing stops the
      machine-manager or guest from accessing the affected page. If the
      machine-manager does this the page will fail to be mapped and SIGBUS will
      be sent. This patch adds the equivalent path for when the guest accesses
      the page, sending SIGBUS to the machine-manager.
      
      These two signals can be distinguished by the machine-manager using their
      si_code: BUS_MCEERR_AO for 'action optional' early notifications, and
      BUS_MCEERR_AR for 'action required' synchronous/late notifications.
      
      Do as x86 does, and deliver the SIGBUS when we discover pfn ==
      KVM_PFN_ERR_HWPOISON. Use the hugepage size as si_addr_lsb if this vma was
      allocated as a hugepage. Transparent hugepages will be split by
      memory_failure() before we see them here.
      
      Cc: Punit Agrawal <punit.agrawal@arm.com>
      Signed-off-by: NJames Morse <james.morse@arm.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      196f878a
  8. 20 6月, 2017 1 次提交
    • I
      sched/wait: Rename wait_queue_t => wait_queue_entry_t · ac6424b9
      Ingo Molnar 提交于
      Rename:
      
      	wait_queue_t		=>	wait_queue_entry_t
      
      'wait_queue_t' was always a slight misnomer: its name implies that it's a "queue",
      but in reality it's a queue *entry*. The 'real' queue is the wait queue head,
      which had to carry the name.
      
      Start sorting this out by renaming it to 'wait_queue_entry_t'.
      
      This also allows the real structure name 'struct __wait_queue' to
      lose its double underscore and become 'struct wait_queue_entry',
      which is the more canonical nomenclature for such data types.
      
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      ac6424b9
  9. 15 6月, 2017 26 次提交