From: tip-bot for Vitaly Kuznetsov <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: sthemmin@microsoft.com, mmorsy@redhat.com,
Michael.H.Kelley@microsoft.com, pbonzini@redhat.com,
mingo@kernel.org, kys@microsoft.com, vkuznets@redhat.com,
cavery@redhat.com, linux-kernel@vger.kernel.org, luto@kernel.org,
hpa@zytor.com, rkrcmar@redhat.com, haiyangz@microsoft.com,
tglx@linutronix.de, rkagan@virtuozzo.com
Subject: [tip:x86/hyperv] x86/irq: Count Hyper-V reenlightenment interrupts
Date: Tue, 30 Jan 2018 15:02:27 -0800 [thread overview]
Message-ID: <tip-51d4e5daa32808df4d50db511d167fde19fa114e@git.kernel.org> (raw)
In-Reply-To: <20180124132337.30138-6-vkuznets@redhat.com>
Commit-ID: 51d4e5daa32808df4d50db511d167fde19fa114e
Gitweb: https://git.kernel.org/tip/51d4e5daa32808df4d50db511d167fde19fa114e
Author: Vitaly Kuznetsov <vkuznets@redhat.com>
AuthorDate: Wed, 24 Jan 2018 14:23:35 +0100
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Tue, 30 Jan 2018 23:55:33 +0100
x86/irq: Count Hyper-V reenlightenment interrupts
Hyper-V reenlightenment interrupts arrive when the VM is migrated, While
they are not interesting in general it's important when L2 nested guests
are running.
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: kvm@vger.kernel.org
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: "Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com>
Cc: Roman Kagan <rkagan@virtuozzo.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: devel@linuxdriverproject.org
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Cathy Avery <cavery@redhat.com>
Cc: Mohammed Gamal <mmorsy@redhat.com>
Link: https://lkml.kernel.org/r/20180124132337.30138-6-vkuznets@redhat.com
---
arch/x86/hyperv/hv_init.c | 2 ++
arch/x86/include/asm/hardirq.h | 3 +++
arch/x86/kernel/irq.c | 9 +++++++++
3 files changed, 14 insertions(+)
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index e4377e2..a3adece 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -147,6 +147,8 @@ __visible void __irq_entry hyperv_reenlightenment_intr(struct pt_regs *regs)
{
entering_ack_irq();
+ inc_irq_stat(irq_hv_reenlightenment_count);
+
schedule_delayed_work(&hv_reenlightenment_work, HZ/10);
exiting_irq();
diff --git a/arch/x86/include/asm/hardirq.h b/arch/x86/include/asm/hardirq.h
index 51cc979..7c341a7 100644
--- a/arch/x86/include/asm/hardirq.h
+++ b/arch/x86/include/asm/hardirq.h
@@ -38,6 +38,9 @@ typedef struct {
#if IS_ENABLED(CONFIG_HYPERV) || defined(CONFIG_XEN)
unsigned int irq_hv_callback_count;
#endif
+#if IS_ENABLED(CONFIG_HYPERV)
+ unsigned int irq_hv_reenlightenment_count;
+#endif
} ____cacheline_aligned irq_cpustat_t;
DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 68e1867..45fb4d2 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -142,6 +142,15 @@ int arch_show_interrupts(struct seq_file *p, int prec)
seq_puts(p, " Hypervisor callback interrupts\n");
}
#endif
+#if IS_ENABLED(CONFIG_HYPERV)
+ if (test_bit(HYPERV_REENLIGHTENMENT_VECTOR, system_vectors)) {
+ seq_printf(p, "%*s: ", prec, "HRE");
+ for_each_online_cpu(j)
+ seq_printf(p, "%10u ",
+ irq_stats(j)->irq_hv_reenlightenment_count);
+ seq_puts(p, " Hyper-V reenlightenment interrupts\n");
+ }
+#endif
seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read(&irq_err_count));
#if defined(CONFIG_X86_IO_APIC)
seq_printf(p, "%*s: %10u\n", prec, "MIS", atomic_read(&irq_mis_count));
next prev parent reply other threads:[~2018-01-30 23:03 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-24 13:23 [PATCH v4 0/7] x86/kvm/hyperv: stable clocksource for L2 guests when running nested KVM on Hyper-V Vitaly Kuznetsov
2018-01-24 13:23 ` Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 1/7] x86/hyper-v: check for required priviliges in hyperv_init() Vitaly Kuznetsov
2018-01-24 13:23 ` Vitaly Kuznetsov
2018-01-30 23:00 ` [tip:x86/hyperv] x86/hyperv: Check " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 2/7] x86/hyper-v: add a function to read both TSC and TSC page value simulateneously Vitaly Kuznetsov
2018-01-24 13:23 ` Vitaly Kuznetsov
2018-01-30 23:01 ` [tip:x86/hyperv] x86/hyperv: Add " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 3/7] x86/hyper-v: reenlightenment notifications support Vitaly Kuznetsov
2018-01-24 13:23 ` Vitaly Kuznetsov
2018-01-30 23:01 ` [tip:x86/hyperv] x86/hyperv: Reenlightenment " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 4/7] x86/hyper-v: redirect reenlightment notifications on CPU offlining Vitaly Kuznetsov
2018-01-24 13:23 ` Vitaly Kuznetsov
2018-01-30 23:02 ` [tip:x86/hyperv] x86/hyperv: Redirect " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 5/7] x86/irq: Count Hyper-V reenlightenment interrupts Vitaly Kuznetsov
2018-01-24 13:23 ` Vitaly Kuznetsov
2018-01-24 14:58 ` Radim Krčmář
2018-01-24 14:58 ` Radim Krčmář
2018-01-29 21:48 ` Thomas Gleixner
2018-01-29 21:48 ` Thomas Gleixner
2018-01-30 14:02 ` Radim Krčmář
2018-01-30 14:02 ` Radim Krčmář
2018-01-30 14:35 ` Thomas Gleixner
2018-01-30 23:48 ` Thomas Gleixner
2018-01-30 23:48 ` Thomas Gleixner
2018-01-30 23:02 ` tip-bot for Vitaly Kuznetsov [this message]
2018-01-24 13:23 ` [PATCH v4 6/7] x86/kvm: pass stable clocksource to guests when running nested on Hyper-V Vitaly Kuznetsov
2018-01-24 13:23 ` Vitaly Kuznetsov
2018-01-30 23:02 ` [tip:x86/hyperv] x86/kvm: Pass " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 7/7] x86/kvm: support Hyper-V reenlightenment Vitaly Kuznetsov
2018-01-24 13:23 ` Vitaly Kuznetsov
2018-01-30 23:03 ` [tip:x86/hyperv] x86/kvm: Support " tip-bot for Vitaly Kuznetsov
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=tip-51d4e5daa32808df4d50db511d167fde19fa114e@git.kernel.org \
--to=tipbot@zytor.com \
--cc=Michael.H.Kelley@microsoft.com \
--cc=cavery@redhat.com \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@kernel.org \
--cc=mmorsy@redhat.com \
--cc=pbonzini@redhat.com \
--cc=rkagan@virtuozzo.com \
--cc=rkrcmar@redhat.com \
--cc=sthemmin@microsoft.com \
--cc=tglx@linutronix.de \
--cc=vkuznets@redhat.com \
/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.