From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 05/17] xen: arm32: resync atomics with (almost) v3.14-rc7 Date: Wed, 26 Mar 2014 14:10:49 +0000 Message-ID: <5332DFE9.6050506@linaro.org> References: <1395841009.12547.11.camel@kazak.uk.xensource.com> <1395841133-2223-5-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1395841133-2223-5-git-send-email-ian.campbell@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: stefano.stabellini@eu.citrix.com, tim@xen.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 03/26/2014 01:38 PM, Ian Campbell wrote: > Almost because I omitting aed3a4e "ARM: 7868/1: arm/arm64: remove > atomic_clear_mask() ..." which I will apply to both arm32 and arm64 > simultaneously in a later patch. > > This pulls in the following Linux patches: > > commit f38d999c4d16fc0fce4270374f15fbb2d8713c09 > Author: Will Deacon > Date: Thu Jul 4 11:43:18 2013 +0100 > > ARM: atomics: prefetch the destination word for write prior to strex > > The cost of changing a cacheline from shared to exclusive state can be > significant, especially when this is triggered by an exclusive store, > since it may result in having to retry the transaction. > > This patch prefixes our atomic access implementations with pldw > instructions (on CPUs which support them) to try and grab the line in > exclusive state from the start. Only the barrier-less functions are > updated, since memory barriers can limit the usefulness of prefetching > data. > > Acked-by: Nicolas Pitre > Signed-off-by: Will Deacon > > commit 4dcc1cf7316a26e112f5c9fcca531ff98ef44700 > Author: Chen Gang > Date: Sat Oct 26 15:07:25 2013 +0100 > > ARM: 7867/1: include: asm: use 'int' instead of 'unsigned long' for 'oldval > > For atomic_cmpxchg(), the type of 'oldval' need be 'int' to match the > type of "*ptr" (used by 'ldrex' instruction) and 'old' (used by 'teq' > instruction). > > Reviewed-by: Will Deacon > Signed-off-by: Chen Gang > Signed-off-by: Will Deacon > Signed-off-by: Russell King > > Signed-off-by: Ian Campbell Acked-by: Julien Grall -- Julien Grall