From: "Michael S. Tsirkin" <mst@redhat.com>
To: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com,
jasowang@redhat.com, JBeulich@suse.com, hpa@zytor.com
Subject: Re: [PATCH 1/1] X86: Handle Xen emulation of Hyper-V more gracefully
Date: Thu, 18 Apr 2013 17:17:48 +0300 [thread overview]
Message-ID: <20130418141748.GA21146@redhat.com> (raw)
In-Reply-To: <1366299886-6399-1-git-send-email-kys@microsoft.com>
On Thu, Apr 18, 2013 at 08:44:46AM -0700, K. Y. Srinivasan wrote:
> Install the Hyper-V specific interrupt handler only when needed. This would
> permit us to get rid of the Xen check. Note that when the vmbus drivers invokes
> the call to register its handler, we are sure to be running on Hyper-V.
>
> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Looks good to me, this will address the concern. FWIW
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Any chance we can fast-path this patch into 3.9 so that we don't release
a kernel with hyper-v on Xen completely disabled?
> ---
> arch/x86/kernel/cpu/mshyperv.c | 18 +++++-------------
> 1 files changed, 5 insertions(+), 13 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
> index a7d26d8..8f4be53 100644
> --- a/arch/x86/kernel/cpu/mshyperv.c
> +++ b/arch/x86/kernel/cpu/mshyperv.c
> @@ -35,13 +35,6 @@ static bool __init ms_hyperv_platform(void)
> if (!boot_cpu_has(X86_FEATURE_HYPERVISOR))
> return false;
>
> - /*
> - * Xen emulates Hyper-V to support enlightened Windows.
> - * Check to see first if we are on a Xen Hypervisor.
> - */
> - if (xen_cpuid_base())
> - return false;
> -
> cpuid(HYPERV_CPUID_VENDOR_AND_MAX_FUNCTIONS,
> &eax, &hyp_signature[0], &hyp_signature[1], &hyp_signature[2]);
>
> @@ -82,12 +75,6 @@ static void __init ms_hyperv_init_platform(void)
>
> if (ms_hyperv.features & HV_X64_MSR_TIME_REF_COUNT_AVAILABLE)
> clocksource_register_hz(&hyperv_cs, NSEC_PER_SEC/100);
> -#if IS_ENABLED(CONFIG_HYPERV)
> - /*
> - * Setup the IDT for hypervisor callback.
> - */
> - alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, hyperv_callback_vector);
> -#endif
> }
>
> const __refconst struct hypervisor_x86 x86_hyper_ms_hyperv = {
> @@ -103,6 +90,11 @@ static irq_handler_t vmbus_isr;
>
> void hv_register_vmbus_handler(int irq, irq_handler_t handler)
> {
> + /*
> + * Setup the IDT for hypervisor callback.
> + */
> + alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, hyperv_callback_vector);
> +
> vmbus_irq = irq;
> vmbus_isr = handler;
> }
> --
> 1.7.4.1
next prev parent reply other threads:[~2013-04-18 15:16 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-18 15:44 [PATCH 1/1] X86: Handle Xen emulation of Hyper-V more gracefully K. Y. Srinivasan
2013-04-18 14:17 ` Michael S. Tsirkin [this message]
2013-04-18 15:49 ` Please, apply patch both 3.10 and 3.9 " Victor Miasnikov
2013-04-18 17:02 ` [tip:x86/urgent] x86, hyperv: " tip-bot for K. Y. Srinivasan
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=20130418141748.GA21146@redhat.com \
--to=mst@redhat.com \
--cc=JBeulich@suse.com \
--cc=apw@canonical.com \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@linuxfoundation.org \
--cc=hpa@zytor.com \
--cc=jasowang@redhat.com \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=olaf@aepfle.de \
/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.