From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Subject: Re: [PATCH v2 1/5] KVM: add kvm_has_request wrapper Date: Wed, 12 Aug 2015 21:57:23 +0200 Message-ID: <55CBA523.3010007@de.ibm.com> References: <1438792381-19453-1-git-send-email-rkrcmar@redhat.com> <1438792381-19453-2-git-send-email-rkrcmar@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kvm@vger.kernel.org, Paolo Bonzini To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , linux-kernel@vger.kernel.org Return-path: In-Reply-To: <1438792381-19453-2-git-send-email-rkrcmar@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Am 05.08.2015 um 18:32 schrieb Radim Kr=C4=8Dm=C3=A1=C5=99: > We want to have requests abstracted from bit operations. >=20 > Signed-off-by: Radim Kr=C4=8Dm=C3=A1=C5=99 > --- kvm_check_request is now somewhat a misnomer (what is the difference be= tween test and check?) but still=20 Acked-by: Christian Borntraeger for the new interface. maybe we can rename kvm_check_request in a separ= ate patch somewhen. > arch/x86/kvm/vmx.c | 2 +- > include/linux/kvm_host.h | 7 ++++++- > 2 files changed, 7 insertions(+), 2 deletions(-) >=20 > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 217f66343dc8..17514fe7d2cb 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -5879,7 +5879,7 @@ static int handle_invalid_guest_state(struct kv= m_vcpu *vcpu) > if (intr_window_requested && vmx_interrupt_allowed(vcpu)) > return handle_interrupt_window(&vmx->vcpu); >=20 > - if (test_bit(KVM_REQ_EVENT, &vcpu->requests)) > + if (kvm_has_request(KVM_REQ_EVENT, vcpu)) > return 1; >=20 > err =3D emulate_instruction(vcpu, EMULTYPE_NO_REEXECUTE); > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index 27ccdf91a465..52e388367a26 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -1089,9 +1089,14 @@ static inline void kvm_make_request(int req, s= truct kvm_vcpu *vcpu) > set_bit(req, &vcpu->requests); > } >=20 > +static inline bool kvm_has_request(int req, struct kvm_vcpu *vcpu) > +{ > + return test_bit(req, &vcpu->requests); > +} > + > static inline bool kvm_check_request(int req, struct kvm_vcpu *vcpu) > { > - if (test_bit(req, &vcpu->requests)) { > + if (kvm_has_request(req, vcpu)) { > clear_bit(req, &vcpu->requests); > return true; > } else { >=20