[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56E68955.5060401@amd.com>
Date: Mon, 14 Mar 2016 16:50:13 +0700
From: Suravee Suthikulpanit <Suravee.Suthikulpanit@....com>
To: Paolo Bonzini <pbonzini@...hat.com>,
Radim Krčmář <rkrcmar@...hat.com>
CC: <joro@...tes.org>, <bp@...en8.de>, <gleb@...nel.org>,
<alex.williamson@...hat.com>, <kvm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <wei@...hat.com>,
<sherry.hurwitz@....com>
Subject: Re: [PART1 RFC v2 06/10] svm: Add interrupt injection via AVIC
Hi,
On 03/09/2016 06:10 PM, Paolo Bonzini wrote:
>>>> +
>>>> >>>+ if (vcpu->mode == IN_GUEST_MODE) {
>>>> >>>+ wrmsrl(SVM_AVIC_DOORBELL,
>>>> >>>+ __default_cpu_present_to_apicid(vcpu->cpu));
>>>> >>>+ } else {
>>>> >>>+ kvm_vcpu_kick(vcpu);
>>>> >>>+ }
>> >
>> >And what about
>> > [...]
>> > else if (!vcpu->...->is_running)
>> > kvm_vcpu_kick(vcpu);
>> >
>> >?
>> >The kick isn't needed unless the VCPU is scheduled out.
>> >Or maybe just
>> > if (vcpu->...->is_running)
>> > wrmsrl()
>> > else
>> > kvm_vcpu_kick();
>> >?
>> >Which doesn't use the information we have on top AVIC, making our logic
>> >a bit simpler.
> Yes, both of this should work. I like the latter.
Ok, I'll modify this to check the is_running bit of the AVIC Physical
APIC ID table entry to determine if we should kick vcpu.
Thanks,
Suravee
Powered by blists - more mailing lists