Re: [PATCH 2/5] KVM: PPC: Book3S HV: Fix an issue where guest is paused on receiving HMI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 03.11.14 05:51, Paul Mackerras wrote:
> From: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx>
> 
> When we get an HMI (hypervisor maintenance interrupt) while in a
> guest, we see that guest enters into paused state.  The reason is, in
> kvmppc_handle_exit_hv it falls through default path and returns to
> host instead of resuming guest.  This causes guest to enter into
> paused state.  HMI is a hypervisor only interrupt and it is safe to
> resume the guest since the host has handled it already.  This patch
> adds a switch case to resume the guest.
> 
> Without this patch we see guest entering into paused state with following
> console messages:
> 
> [ 3003.329351] Severe Hypervisor Maintenance interrupt [Recovered]
> [ 3003.329356]  Error detail: Timer facility experienced an error
> [ 3003.329359] 	HMER: 0840000000000000
> [ 3003.329360] 	TFMR: 4a12000980a84000
> [ 3003.329366] vcpu c0000007c35094c0 (40):
> [ 3003.329368] pc  = c0000000000c2ba0  msr = 8000000000009032  trap = e60
> [ 3003.329370] r 0 = c00000000021ddc0  r16 = 0000000000000046
> [ 3003.329372] r 1 = c00000007a02bbd0  r17 = 00003ffff27d5d98
> [ 3003.329375] r 2 = c0000000010980b8  r18 = 00001fffffc9a0b0
> [ 3003.329377] r 3 = c00000000142d6b8  r19 = c00000000142d6b8
> [ 3003.329379] r 4 = 0000000000000002  r20 = 0000000000000000
> [ 3003.329381] r 5 = c00000000524a110  r21 = 0000000000000000
> [ 3003.329383] r 6 = 0000000000000001  r22 = 0000000000000000
> [ 3003.329386] r 7 = 0000000000000000  r23 = c00000000524a110
> [ 3003.329388] r 8 = 0000000000000000  r24 = 0000000000000001
> [ 3003.329391] r 9 = 0000000000000001  r25 = c00000007c31da38
> [ 3003.329393] r10 = c0000000014280b8  r26 = 0000000000000002
> [ 3003.329395] r11 = 746f6f6c2f68656c  r27 = c00000000524a110
> [ 3003.329397] r12 = 0000000028004484  r28 = c00000007c31da38
> [ 3003.329399] r13 = c00000000fe01400  r29 = 0000000000000002
> [ 3003.329401] r14 = 0000000000000046  r30 = c000000003011e00
> [ 3003.329403] r15 = ffffffffffffffba  r31 = 0000000000000002
> [ 3003.329404] ctr = c00000000041a670  lr  = c000000000272520
> [ 3003.329405] srr0 = c00000000007e8d8 srr1 = 9000000000001002
> [ 3003.329406] sprg0 = 0000000000000000 sprg1 = c00000000fe01400
> [ 3003.329407] sprg2 = c00000000fe01400 sprg3 = 0000000000000005
> [ 3003.329408] cr = 48004482  xer = 2000000000000000  dsisr = 42000000
> [ 3003.329409] dar = 0000010015020048
> [ 3003.329410] fault dar = 0000010015020048 dsisr = 42000000
> [ 3003.329411] SLB (8 entries):
> [ 3003.329412]   ESID = c000000008000000 VSID = 40016e7779000510
> [ 3003.329413]   ESID = d000000008000001 VSID = 400142add1000510
> [ 3003.329414]   ESID = f000000008000004 VSID = 4000eb1a81000510
> [ 3003.329415]   ESID = 00001f000800000b VSID = 40004fda0a000d90
> [ 3003.329416]   ESID = 00003f000800000c VSID = 400039f536000d90
> [ 3003.329417]   ESID = 000000001800000d VSID = 0001251b35150d90
> [ 3003.329417]   ESID = 000001000800000e VSID = 4001e46090000d90
> [ 3003.329418]   ESID = d000080008000019 VSID = 40013d349c000400
> [ 3003.329419] lpcr = c048800001847001 sdr1 = 0000001b19000006 last_inst = ffffffff
> [ 3003.329421] trap=0xe60 | pc=0xc0000000000c2ba0 | msr=0x8000000000009032
> [ 3003.329524] Severe Hypervisor Maintenance interrupt [Recovered]
> [ 3003.329526]  Error detail: Timer facility experienced an error
> [ 3003.329527] 	HMER: 0840000000000000
> [ 3003.329527] 	TFMR: 4a12000980a94000
> [ 3006.359786] Severe Hypervisor Maintenance interrupt [Recovered]
> [ 3006.359792]  Error detail: Timer facility experienced an error
> [ 3006.359795] 	HMER: 0840000000000000
> [ 3006.359797] 	TFMR: 4a12000980a84000
> 
>  Id    Name                           State
> ----------------------------------------------------
>  2     guest2                         running
>  3     guest3                         paused
>  4     guest4                         running
> 
> Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>

Do we need this for PR running on bare metal as well?


Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux