From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH] x86: fix variable_test_bit() asmconstraints Date: Fri, 14 Mar 2008 15:17:04 +0000 Message-ID: <47DAA500.76E4.0078.0@novell.com> References: <47DA6E53.76E4.0078.0@novell.com> <47DA90EE.76E4.0078.0@novell.com> <20080314135938.GN4358@implementation.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20080314135938.GN4358@implementation.uk.xensource.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser , Samuel Thibault Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org >>> Samuel Thibault 14.03.08 14:59 >>> >Jan Beulich, le Fri 14 Mar 2008 13:51:26 +0000, a =C3=A9crit : >> >memory-clobber would be needed for the atomic ops, but a dummy memory >> >operand would suffice for non-atomic ops. I used memory clobber = everywhere >>=20 >> Atomic ops imply a barrier (otherwise the compiler can defeat the >> purpose of the atomic operation). The non-atomic ones don't need a >> dummy operand, but one that precisely describes the place in memory >> that changes. > >Mmm, won't that unnecessarily make the compiler put code to compute that >place? Indeed, trying it out makes it obvious that the fake operand has too much of a side effect when the bit offset isn't constant. So I guess Keir's intention of just using a memory clobber here is the best we can get without severely complicating the source. Jan