All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] Rework architected timer and fix UEFI reset
@ 2015-08-30 13:54 ` Christoffer Dall
  0 siblings, 0 replies; 74+ messages in thread
From: Christoffer Dall @ 2015-08-30 13:54 UTC (permalink / raw)
  To: kvmarm, linux-arm-kernel, kvm; +Cc: Christoffer Dall

The architected timer integration with the vgic had some shortcomings in
that certain guests (one being UEFI) weren't fully supported.

In fixing this I also found that we are scheduling the hrtimer for the
virtual timer way too often, with a potential performance overhead.

This series tries to address these problems in proviging level-triggered
semantics for the arch timer and vgic intergration and seeks to clarify
the behavior when setting/clearing the active state on the physical
distributor.

Series based on kvmarm/next and also available at:
https://git.linaro.org/people/christoffer.dall/linux-kvm-arm.git timer-rework

Christoffer Dall (9):
  KVM: Add kvm_arch_vcpu_{un}blocking callbacks
  arm/arm64: KVM: arch_timer: Only schedule soft timer on vcpu_block
  arm/arm64: KVM: vgic: Factor out level irq processing on guest exit
  arm/arm64: Implement GICD_ICFGR as RO for PPIs
  arm/arm64: KVM: Use appropriate define in VGIC reset code
  arm/arm64: KVM: Add mapped interrupts documentation
  arm/arm64: KVM: vgic: Move active state handling to flush_hwstate
  arm/arm64: KVM: Rework the arch timer to use level-triggered semantics
  arm/arm64: KVM: arch timer: Reset CNTV_CTL to 0

 Documentation/virtual/kvm/arm/vgic-mapped-irqs.txt |  59 ++++++
 arch/arm/kvm/arm.c                                 |  21 ++-
 arch/mips/include/asm/kvm_host.h                   |   2 +
 arch/powerpc/include/asm/kvm_host.h                |   2 +
 arch/s390/include/asm/kvm_host.h                   |   2 +
 arch/x86/include/asm/kvm_host.h                    |   3 +
 include/kvm/arm_arch_timer.h                       |   4 +-
 include/kvm/arm_vgic.h                             |   3 -
 include/linux/kvm_host.h                           |   2 +
 virt/kvm/arm/arch_timer.c                          | 160 +++++++++++-----
 virt/kvm/arm/vgic.c                                | 201 +++++++++++----------
 virt/kvm/kvm_main.c                                |   3 +
 12 files changed, 308 insertions(+), 154 deletions(-)
 create mode 100644 Documentation/virtual/kvm/arm/vgic-mapped-irqs.txt

-- 
2.1.2.330.g565301e.dirty


^ permalink raw reply	[flat|nested] 74+ messages in thread

end of thread, other threads:[~2015-09-04 16:09 UTC | newest]

Thread overview: 74+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-30 13:54 [PATCH 0/9] Rework architected timer and fix UEFI reset Christoffer Dall
2015-08-30 13:54 ` Christoffer Dall
2015-08-30 13:54 ` [PATCH 1/9] KVM: Add kvm_arch_vcpu_{un}blocking callbacks Christoffer Dall
2015-08-30 13:54   ` Christoffer Dall
2015-09-03 14:21   ` Marc Zyngier
2015-09-03 14:21     ` Marc Zyngier
2015-09-04 13:50   ` Eric Auger
2015-09-04 13:50     ` Eric Auger
2015-09-04 14:50     ` Christoffer Dall
2015-09-04 14:50       ` Christoffer Dall
2015-08-30 13:54 ` [PATCH 2/9] arm/arm64: KVM: arch_timer: Only schedule soft timer on vcpu_block Christoffer Dall
2015-08-30 13:54   ` Christoffer Dall
2015-09-03 14:43   ` Marc Zyngier
2015-09-03 14:43     ` Marc Zyngier
2015-09-03 14:58     ` Christoffer Dall
2015-09-03 14:58       ` Christoffer Dall
2015-09-03 15:53       ` Marc Zyngier
2015-09-03 15:53         ` Marc Zyngier
2015-09-03 16:09         ` Christoffer Dall
2015-09-03 16:09           ` Christoffer Dall
2015-08-30 13:54 ` [PATCH 3/9] arm/arm64: KVM: vgic: Factor out level irq processing on guest exit Christoffer Dall
2015-08-30 13:54   ` Christoffer Dall
2015-09-03 15:01   ` Marc Zyngier
2015-09-03 15:01     ` Marc Zyngier
2015-08-30 13:54 ` [PATCH 4/9] arm/arm64: Implement GICD_ICFGR as RO for PPIs Christoffer Dall
2015-08-30 13:54   ` Christoffer Dall
2015-09-03 15:03   ` Marc Zyngier
2015-09-03 15:03     ` Marc Zyngier
2015-08-30 13:54 ` [PATCH 5/9] arm/arm64: KVM: Use appropriate define in VGIC reset code Christoffer Dall
2015-08-30 13:54   ` Christoffer Dall
2015-09-03 15:04   ` Marc Zyngier
2015-09-03 15:04     ` Marc Zyngier
2015-09-04 16:08   ` Eric Auger
2015-09-04 16:08     ` Eric Auger
2015-08-30 13:54 ` [PATCH 6/9] arm/arm64: KVM: Add mapped interrupts documentation Christoffer Dall
2015-08-30 13:54   ` Christoffer Dall
2015-09-03 15:23   ` Marc Zyngier
2015-09-03 15:23     ` Marc Zyngier
2015-09-03 15:56     ` Eric Auger
2015-09-03 15:56       ` Eric Auger
2015-09-04 15:54       ` Christoffer Dall
2015-09-04 15:54         ` Christoffer Dall
2015-09-04 15:55     ` Christoffer Dall
2015-09-04 15:55       ` Christoffer Dall
2015-09-04 15:57     ` Christoffer Dall
2015-09-04 15:57       ` Christoffer Dall
2015-09-04 15:59       ` Marc Zyngier
2015-09-04 15:59         ` Marc Zyngier
2015-08-30 13:54 ` [PATCH 7/9] arm/arm64: KVM: vgic: Move active state handling to flush_hwstate Christoffer Dall
2015-08-30 13:54   ` Christoffer Dall
2015-09-03 15:33   ` Marc Zyngier
2015-09-03 15:33     ` Marc Zyngier
2015-08-30 13:54 ` [PATCH 8/9] arm/arm64: KVM: Rework the arch timer to use level-triggered semantics Christoffer Dall
2015-08-30 13:54   ` Christoffer Dall
2015-09-03 17:06   ` Marc Zyngier
2015-09-03 17:06     ` Marc Zyngier
2015-09-03 17:23     ` Christoffer Dall
2015-09-03 17:23       ` Christoffer Dall
2015-09-03 17:29       ` Marc Zyngier
2015-09-03 17:29         ` Marc Zyngier
2015-09-03 22:00         ` Christoffer Dall
2015-09-03 22:00           ` Christoffer Dall
2015-08-30 13:54 ` [PATCH 9/9] arm/arm64: KVM: arch timer: Reset CNTV_CTL to 0 Christoffer Dall
2015-08-30 13:54   ` Christoffer Dall
2015-08-31  8:46   ` Ard Biesheuvel
2015-08-31  8:46     ` Ard Biesheuvel
2015-08-31  8:57     ` Christoffer Dall
2015-08-31  8:57       ` Christoffer Dall
2015-08-31  9:02       ` Ard Biesheuvel
2015-08-31  9:02         ` Ard Biesheuvel
2015-09-03 17:07   ` Marc Zyngier
2015-09-03 17:07     ` Marc Zyngier
2015-09-03 17:10 ` [PATCH 0/9] Rework architected timer and fix UEFI reset Marc Zyngier
2015-09-03 17:10   ` Marc Zyngier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.