From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH RFC dontapply 5/5] kvm_para: guest side for eoi avoidance Date: Tue, 08 May 2012 17:26:55 +0200 Message-ID: <4FA93B3F.3000906@redhat.com> References: <5e1399d9e743668a87f31d8f2b83cad862c60728.1334833141.git.mst@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: x86@kernel.org, kvm@vger.kernel.org, Ingo Molnar , "H. Peter Anvin" , Avi Kivity , Marcelo Tosatti , gleb@redhat.com, Linus Torvalds , linux-kernel@vger.kernel.org To: "Michael S. Tsirkin" Return-path: Received: from mail-pz0-f46.google.com ([209.85.210.46]:48036 "EHLO mail-pz0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754384Ab2EHP1F (ORCPT ); Tue, 8 May 2012 11:27:05 -0400 In-Reply-To: <5e1399d9e743668a87f31d8f2b83cad862c60728.1334833141.git.mst@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Il 23/04/2012 16:04, Michael S. Tsirkin ha scritto: > +/* Our own copy of __test_and_clear_bit to make sure > + * it is done with a single instruction */ Is this for microoptimization or correctness? If the latter, it does not ensure anything without a "lock" prefix. Paolo > +static inline int kvm_test_and_clear_bit(int nr, volatile u16* addr) > +{ > + int oldbit; > + > + asm volatile("btr %2,%1\n\t" > + "sbb %0,%0" > + : "=r" (oldbit), BITOP_ADDR_CONSTRAINT(*addr) : "Ir" (nr)); > + return oldbit;