Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1368340
| From | Radim Krčmář <rkrcmar@redhat.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PART1 RFC v3 12/12] svm: Manage vcpu load/unload when enable AVIC |
| Date | 2016-03-31 16:20 +0200 |
| Message-ID | <riLC2-6ib-23@gated-at.bofh.it> (permalink) |
| References | <rdVVn-1Lv-3@gated-at.bofh.it> <rdVVp-1Lv-27@gated-at.bofh.it> <rearo-11p-1@gated-at.bofh.it> <riLC2-6ib-25@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
2016-03-31 15:52+0700, Suravee Suthikulpanit:
> On 03/19/2016 04:44 AM, Radim Krčmář wrote:
>>2016-03-18 01:09-0500, Suravee Suthikulpanit:
>>>+ } else {
>>>+ new_entry = READ_ONCE(*entry);
>>>+ /**
>>>+ * This handles the case when vcpu is scheduled out
>>>+ * and has not yet not called blocking. We save the
>>>+ * AVIC running flag so that we can restore later.
>>>+ */
>>
>>is_running must be disabled in between ...blocking and ...unblocking,
>>because we don't want to miss interrupts and block forever.
>>I somehow don't get it from the comment. :)
>
> Not sure if I understand your concern. However, the is_running bit
> setting/clearing should be handled in the avic_set_running below. This part
> only handles othe case when the is_running bit still set when calling
> vcpu_put (and later on loading some other vcpus). This way, when we are
> re-loading this vcpu, we can restore the is_running bit accordingly.
I think that the comment is misleading. The saved is_running flag only
matters after svm_vcpu_blocking, yet the comment says that it handles
the irrelevant case before.
Another minor bug is that was_running isn't initialized to 1, so we need
to halt before is_running gets set.
It would be clearer to toggle a flag in svm_vcpu_(un)blocking and set
is_running = !is_blocking. Doing so will also be immeasurably faster,
because avic_vcpu_load is called far more than svm_vcpu_(un)blocking.
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PART1 RFC v3 00/12] KVM: x86: Introduce SVM AVIC support Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2016-03-18 07:20 +0100
[PART1 RFC v3 11/12] svm: Do not intercept CR8 when enable AVIC Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2016-03-18 07:20 +0100
Re: [PART1 RFC v3 11/12] svm: Do not intercept CR8 when enable AVIC Radim Krčmář <rkrcmar@redhat.com> - 2016-03-18 22:20 +0100
[PART1 RFC v3 03/12] KVM: x86: Introducing kvm_x86_ops VCPU blocking/unblocking hooks Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2016-03-18 07:20 +0100
Re: [PART1 RFC v3 03/12] KVM: x86: Introducing kvm_x86_ops VCPU blocking/unblocking hooks Paolo Bonzini <pbonzini@redhat.com> - 2016-03-18 11:20 +0100
[PART1 RFC v3 05/12] svm: Introduce new AVIC VMCB registers Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2016-03-18 07:20 +0100
[PART1 RFC v3 01/12] KVM: x86: Misc LAPIC changes to expose helper functions Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2016-03-18 07:20 +0100
Re: [PART1 RFC v3 01/12] KVM: x86: Misc LAPIC changes to expose helper functions Paolo Bonzini <pbonzini@redhat.com> - 2016-03-18 12:20 +0100
[PART1 RFC v3 12/12] svm: Manage vcpu load/unload when enable AVIC Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2016-03-18 07:20 +0100
Re: [PART1 RFC v3 12/12] svm: Manage vcpu load/unload when enable AVIC Radim Krčmář <rkrcmar@redhat.com> - 2016-03-18 22:50 +0100
Re: [PART1 RFC v3 12/12] svm: Manage vcpu load/unload when enable AVIC Radim Krčmář <rkrcmar@redhat.com> - 2016-03-31 16:20 +0200
[PART1 RFC v3 06/12] KVM: x86: Detect and Initialize AVIC support Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2016-03-18 07:20 +0100
Re: [PART1 RFC v3 06/12] KVM: x86: Detect and Initialize AVIC support Paolo Bonzini <pbonzini@redhat.com> - 2016-03-18 12:30 +0100
[PART1 RFC v3 10/12] svm: Do not expose x2APIC when enable AVIC Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2016-03-18 07:20 +0100
Re: [PART1 RFC v3 10/12] svm: Do not expose x2APIC when enable AVIC Radim Krčmář <rkrcmar@redhat.com> - 2016-03-18 22:10 +0100
Re: [PART1 RFC v3 10/12] svm: Do not expose x2APIC when enable AVIC Paolo Bonzini <pbonzini@redhat.com> - 2016-03-31 13:30 +0200
csiph-web