| From foo@baz Thu Nov 9 09:48:01 CET 2017 |
| From: Li Zhong <zhong@linux.vnet.ibm.com> |
| Date: Fri, 11 Nov 2016 12:57:33 +0800 |
| Subject: KVM: PPC: Book 3S: XICS: correct the real mode ICP rejecting counter |
| |
| From: Li Zhong <zhong@linux.vnet.ibm.com> |
| |
| |
| [ Upstream commit 37451bc95dee0e666927d6ffdda302dbbaaae6fa ] |
| |
| Some counters are added in Commit 6e0365b78273 ("KVM: PPC: Book3S HV: |
| Add ICP real mode counters"), to provide some performance statistics to |
| determine whether further optimizing is needed for real mode functions. |
| |
| The n_reject counter counts how many times ICP rejects an irq because of |
| priority in real mode. The redelivery of an lsi that is still asserted |
| after eoi doesn't fall into this category, so the increasement there is |
| removed. |
| |
| Also, it needs to be increased in icp_rm_deliver_irq() if it rejects |
| another one. |
| |
| Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com> |
| Signed-off-by: Paul Mackerras <paulus@ozlabs.org> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/powerpc/kvm/book3s_hv_rm_xics.c | 5 ++--- |
| 1 file changed, 2 insertions(+), 3 deletions(-) |
| |
| --- a/arch/powerpc/kvm/book3s_hv_rm_xics.c |
| +++ b/arch/powerpc/kvm/book3s_hv_rm_xics.c |
| @@ -376,6 +376,7 @@ static void icp_rm_deliver_irq(struct kv |
| */ |
| if (reject && reject != XICS_IPI) { |
| arch_spin_unlock(&ics->lock); |
| + icp->n_reject++; |
| new_irq = reject; |
| goto again; |
| } |
| @@ -707,10 +708,8 @@ int kvmppc_rm_h_eoi(struct kvm_vcpu *vcp |
| state = &ics->irq_state[src]; |
| |
| /* Still asserted, resend it */ |
| - if (state->asserted) { |
| - icp->n_reject++; |
| + if (state->asserted) |
| icp_rm_deliver_irq(xics, icp, irq); |
| - } |
| |
| if (!hlist_empty(&vcpu->kvm->irq_ack_notifier_list)) { |
| icp->rm_action |= XICS_RM_NOTIFY_EOI; |