mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: "Roman Kagan" <rkagan@virtuozzo.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Vitaly Kuznetsov" <vkuznets@redhat.com>,
	kvm@vger.kernel.org, "Radim Krčmář" <rkrcmar@redhat.com>,
	linux-kernel@vger.kernel.org,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	"Haiyang Zhang" <haiyangz@microsoft.com>,
	"Stephen Hemminger" <sthemmin@microsoft.com>,
	x86@kernel.org,
	"Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com>
Subject: Re: [PATCH v2 3/4] x86/kvm/hyper-v: direct mode for synthetic timers
Date: Tue, 27 Nov 2018 14:54:21 +0100	[thread overview]
Message-ID: <9d0e9796-b71e-9437-8cd4-a898fd503871@redhat.com> (raw)
In-Reply-To: <20181127083706.GB16047@rkaganb.sw.ru>

On 27/11/18 09:37, Roman Kagan wrote:
> On Mon, Nov 26, 2018 at 05:44:24PM +0100, Paolo Bonzini wrote:
>> On 26/11/18 16:47, Vitaly Kuznetsov wrote:
>>> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
>>> index 5cd5647120f2..b21b5ceb8d26 100644
>>> --- a/arch/x86/kvm/x86.c
>>> +++ b/arch/x86/kvm/x86.c
>>> @@ -2997,6 +2997,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
>>>  	case KVM_CAP_HYPERV_TLBFLUSH:
>>>  	case KVM_CAP_HYPERV_SEND_IPI:
>>>  	case KVM_CAP_HYPERV_ENLIGHTENED_VMCS:
>>> +	case KVM_CAP_HYPERV_STIMER_DIRECT:
>>>  	case KVM_CAP_PCI_SEGMENT:
>>>  	case KVM_CAP_DEBUGREGS:
>>>  	case KVM_CAP_X86_ROBUST_SINGLESTEP:
>>> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
>>> index 2b7a652c9fa4..b8da14cee8e5 100644
>>> --- a/include/uapi/linux/kvm.h
>>> +++ b/include/uapi/linux/kvm.h
>>> @@ -975,6 +975,7 @@ struct kvm_ppc_resize_hpt {
>>>  #define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
>>>  #define KVM_CAP_EXCEPTION_PAYLOAD 164
>>>  #define KVM_CAP_ARM_VM_IPA_SIZE 165
>>> +#define KVM_CAP_HYPERV_STIMER_DIRECT 166
>>
>> I wonder if all these capabilities shouldn't be replaced by a single
>> KVM_GET_HYPERV_SUPPORTED_CPUID ioctl, or something like that.
> 
> Hmm, why?  Are we running short of cap numbers?
> 
> Capabilities are a well-established and unambiguous negotiation
> mechanism, why invent another one?  Besides, not all features map
> conveniently onto cpuid bits, e.g. currently we have two versions of
> SynIC support, which differ in the way the userspace deals with it, but
> not in the cpuid bits we expose in the guest.  IMO such an ioctl would
> bring more complexity rather than less.

Yes, in that case (for bugfixes basically) you'd have to use
capabilities.  But if the feature is completely hidden to userspace
except for the CPUID bit, it seems like a ioctl would be more consistent
with the rest of the KVM API.

Paolo

  reply	other threads:[~2018-11-27 13:54 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-26 15:47 [PATCH v2 0/4] x86/kvm/hyper-v: Implement Direct Mode " Vitaly Kuznetsov
2018-11-26 15:47 ` [PATCH v2 1/4] x86/hyper-v: move synic/stimer control structures definitions to hyperv-tlfs.h Vitaly Kuznetsov
2018-11-26 17:00   ` Michael Kelley
2018-11-26 20:04   ` Roman Kagan
2018-11-27 13:10     ` Vitaly Kuznetsov
2018-11-27 15:52       ` Michael Kelley
2018-11-27 16:32         ` Vitaly Kuznetsov
2018-11-27 18:48       ` Roman Kagan
2018-11-28  1:49         ` Nadav Amit
2018-11-28 10:37           ` Vitaly Kuznetsov
2018-11-28 13:07             ` Thomas Gleixner
2018-11-28 17:55               ` Nadav Amit
2018-11-29 11:36                 ` Vitaly Kuznetsov
2018-11-29 19:22                   ` Thomas Gleixner
2018-11-29  7:52               ` Roman Kagan
2018-11-28  8:40         ` Paolo Bonzini
2018-11-26 15:47 ` [PATCH v2 2/4] x86/kvm/hyper-v: use stimer config definition from hyperv-tlfs.h Vitaly Kuznetsov
2018-11-26 15:47 ` [PATCH v2 3/4] x86/kvm/hyper-v: direct mode for synthetic timers Vitaly Kuznetsov
2018-11-26 16:44   ` Paolo Bonzini
2018-11-26 17:14     ` Vitaly Kuznetsov
2018-11-27  8:37     ` Roman Kagan
2018-11-27 13:54       ` Paolo Bonzini [this message]
2018-11-27 19:05         ` Roman Kagan
2018-11-28  8:43           ` Paolo Bonzini
2018-11-27  8:21   ` Roman Kagan
2018-12-03 17:12   ` Roman Kagan
2018-12-04 12:36     ` Vitaly Kuznetsov
2018-12-10 12:06   ` Roman Kagan
2018-12-10 12:54     ` Vitaly Kuznetsov
2018-12-10 13:21       ` Roman Kagan
2018-12-10 14:53         ` Vitaly Kuznetsov
2018-11-26 15:47 ` [PATCH v2 4/4] x86/kvm/hyper-v: avoid open-coding stimer_mark_pending() in kvm_hv_notify_acked_sint() Vitaly Kuznetsov
2018-11-26 16:45   ` Paolo Bonzini
2018-11-27  8:49   ` Roman Kagan
2018-11-26 16:45 ` [PATCH v2 0/4] x86/kvm/hyper-v: Implement Direct Mode for synthetic timers Paolo Bonzini

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=9d0e9796-b71e-9437-8cd4-a898fd503871@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=Michael.H.Kelley@microsoft.com \
    --cc=haiyangz@microsoft.com \
    --cc=kvm@vger.kernel.org \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rkagan@virtuozzo.com \
    --cc=rkrcmar@redhat.com \
    --cc=sthemmin@microsoft.com \
    --cc=vkuznets@redhat.com \
    --cc=x86@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®