All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: Paul Mackerras <paulus@samba.org>, kvm-ppc@vger.kernel.org
Cc: kvm@vger.kernel.org, Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Subject: Re: [PATCH 2/5] KVM: PPC: Book3S HV: Fix an issue where guest is paused on receiving HMI
Date: Thu, 20 Nov 2014 17:32:57 +0000	[thread overview]
Message-ID: <546E25C9.1050006@suse.de> (raw)
In-Reply-To: <1414990320-6378-3-git-send-email-paulus@samba.org>



On 03.11.14 05:51, Paul Mackerras wrote:
> From: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
> 
> 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@linux.vnet.ibm.com>
> Signed-off-by: Paul Mackerras <paulus@samba.org>

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


Alex

WARNING: multiple messages have this Message-ID (diff)
From: Alexander Graf <agraf@suse.de>
To: Paul Mackerras <paulus@samba.org>, kvm-ppc@vger.kernel.org
Cc: kvm@vger.kernel.org, Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Subject: Re: [PATCH 2/5] KVM: PPC: Book3S HV: Fix an issue where guest is paused on receiving HMI
Date: Thu, 20 Nov 2014 18:32:57 +0100	[thread overview]
Message-ID: <546E25C9.1050006@suse.de> (raw)
In-Reply-To: <1414990320-6378-3-git-send-email-paulus@samba.org>



On 03.11.14 05:51, Paul Mackerras wrote:
> From: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
> 
> 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@linux.vnet.ibm.com>
> Signed-off-by: Paul Mackerras <paulus@samba.org>

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


Alex

  reply	other threads:[~2014-11-20 17:32 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-03  4:51 [PATCH 0/5] Some fixes for HV KVM on PPC Paul Mackerras
2014-11-03  4:51 ` Paul Mackerras
2014-11-03  4:51 ` [PATCH 1/5] KVM: PPC: Book3S HV: Fix computation of tlbie operand Paul Mackerras
2014-11-03  4:51   ` Paul Mackerras
2014-11-03  5:59   ` Aneesh Kumar K.V
2014-11-03  6:11     ` Aneesh Kumar K.V
2014-11-03  6:29     ` Aneesh Kumar K.V
2014-11-03  6:41       ` Aneesh Kumar K.V
2014-11-03  4:51 ` [PATCH 2/5] KVM: PPC: Book3S HV: Fix an issue where guest is paused on receiving HMI Paul Mackerras
2014-11-03  4:51   ` Paul Mackerras
2014-11-20 17:32   ` Alexander Graf [this message]
2014-11-20 17:32     ` Alexander Graf
2014-11-03  4:51 ` [PATCH 3/5] KVM: PPC: Book3S HV: Fix KSM memory corruption Paul Mackerras
2014-11-03  4:51   ` Paul Mackerras
2014-11-03  4:51 ` [PATCH 4/5] KVM: PPC: Book3S HV: Fix inaccuracies in ICP emulation for H_IPI Paul Mackerras
2014-11-03  4:51   ` Paul Mackerras
2014-11-03  4:52 ` [PATCH 5/5] KVM: PPC: Book3S HV: Check wait conditions before sleeping in kvmppc_vcore_blocked Paul Mackerras
2014-11-03  4:52   ` Paul Mackerras
2014-11-20 17:36   ` Alexander Graf
2014-11-20 17:36     ` Alexander Graf
2014-11-20 19:31     ` Suresh E. Warrier
2014-11-20 19:31       ` Suresh E. Warrier
2014-11-23  0:41       ` Alexander Graf
2014-11-23  0:41         ` Alexander Graf
2014-11-20 17:36 ` [PATCH 0/5] Some fixes for HV KVM on PPC Alexander Graf
2014-11-20 17:36   ` Alexander Graf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=546E25C9.1050006@suse.de \
    --to=agraf@suse.de \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=mahesh@linux.vnet.ibm.com \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.