Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755682AbbFBFtx (ORCPT ); Tue, 2 Jun 2015 01:49:53 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:49700 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752305AbbFBFto (ORCPT ); Tue, 2 Jun 2015 01:49:44 -0400 X-AuditID: cbfee68f-f793b6d000005f66-ca-556d43e9ffa2 Date: Tue, 02 Jun 2015 05:49:29 +0000 (GMT) From: Sarbojit Ganguly Subject: Re: Re: [RFC] arm: Add for atomic half word exchange To: Arnd Bergmann , "linux-arm-kernel@lists.infradead.org" , Sarbojit Ganguly , SUNEEL KUMAR SURIMANI , "vikram.m@samsung.com" Cc: "tglx@linutronix.de" , "mingo@redhat.com" , "hpa@zytor.com" , "peterz@infradead.org" , "Waiman.Long@hp.com" , "raghavendra.kt@linux.vnet.ibm.com" , "oleg@redhat.com" , "linux-kernel@vger.kernel.org" , SHARAN ALLUR , "torvalds@linux-foundation.org" Reply-to: ganguly.s@samsung.com MIME-version: 1.0 X-MTR: 20150602054013098@ganguly.s Msgkey: 20150602054013098@ganguly.s X-EPLocale: en_US.windows-1252 X-Priority: 3 X-EPWebmail-Msg-Type: personal X-EPWebmail-Reply-Demand: 0 X-EPApproval-Locale: X-EPHeader: ML X-MLAttribute: X-RootMTR: 20150602054013098@ganguly.s X-ParentMTR: X-ArchiveUser: X-CPGSPASS: Y X-ConfirmMail: N,general Content-type: text/plain; charset=windows-1252 MIME-version: 1.0 Message-id: <1357570181.391771433224164775.JavaMail.weblogic@epmlwas06d> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGIsWRmVeSWpSXmKPExsWyRsSkVvelc26oQeMWRYvLu+awOTB6fN4k F8AYxWWTkpqTWZZapG+XwJWxc/MitoIZQhVXGxqYGxhvCHYxcnAICahI9E2K6GLk5JAQMJF4 dWU2G4QtJnHh3nogmwuoZCmjRNvhJiaYosN/e1ghEnMYJRZv/sUKkmABGjRvZxtYN5uAvsTp /S/BGoQFbCXu3F7JBNIgItDMJLFjVSMLiMMs8ItZ4uiaD8wgVUIC8hLtL7aDdfAKCEqcnPmE BWKdksSG3ltsIKfyCihLfNiYBhGWk1gy9TLURbwSM9qfssDEp31dwwxhS0ucn7WBEeadxd8f Q8X5JY7d3gHVKyAx9cxBqBp1icPHzkO9zyexZuFbFpj6XaeWM8Psatj4mx3ClpDY2vIE7Hlm AUWJKd0P2SFsA4kji+awonuFV8BD4t/NmWC/SwjM5JB4euEV0wRGpVlI6mYhmTULySxkNQsY WVYxiqYWJBcUJ6UXGesVJ+YWl+al6yXn525iBCaH0/+e9e9gvHvA+hCjAAejEg8vw6ecUCHW xLLiytxDjKbAiJrILCWanA9MQXkl8YbGZkYWpiamxkbmlmZK4rwLpX4GCwmkJ5akZqemFqQW xReV5qQWH2Jk4uCUamAMtHvjt3md53drnZs7+vulcrbLinGs4SgQsNrq86p0A6PTL/b+w7l5 PH7ZVw6emx/2fXq9clzW2xj7pDz2PyYagaaV4vr3449+4iwIZT7GmJukp9P67fv63uqFnr+4 WiwevJqXWd+8feEu6SVXZPkknb+XFQvprVt4UKlWcvbrJMXkOQ5HC5VYijMSDbWYi4oTAXiC 414JAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOKsWRmVeSWpSXmKPExsVy+t/tPt2XzrmhBp23JC0u75rD5sDo8XmT XABjVJpNRmpiSmqRQmpecn5KZl66rZJ3cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+ArltmDtBQ JYWyxJxSoFBAYnGxkr6dTVF+aUmqQkZ+cYmtUrShuZGekYGeqZGeoWmslaGBgZEpUE1CWsbO zYvYCmYIVVxtaGBuYLwh2MXIwSEkoCLRNymii5GTQ0LAROLw3x5WCFtM4sK99WxdjFxAJXMY JRZv/gWWYAGqn7ezjQ3EZhPQlzi9/yUTiC0sYCtx5/ZKJpAGEYFmJokdqxpZQBxmgV/MEkfX fGAGqRISkJdof7EdrINXQFDi5MwnLBDrlCQ29N5iA7mIV0BZ4sPGNIiwnMSSqZeZIGxeiRnt T1lg4tO+rmGGsKUlzs/awAhz9eLvj6Hi/BLHbu+A6hWQmHrmIFSNusThY+fZIGw+iTUL37LA 1O86tZwZZlfDxt/sELaExNaWJ2DPMwsoSkzpfsgOYRtIHFk0hxXdK7wCHhL/bs5kmcAoOwtJ ahaS9llI2pHVLGBkWcUomlqQXFCclF5holecmFtcmpeul5yfu4kRnIieLdnB2HDB+hCjAAej Eg8v46ecUCHWxLLiytxDjBIczEoivIqmuaFCvCmJlVWpRfnxRaU5qcWHGE2B0TaRWUo0OR+Y JPNK4g2NTcxNjU0tDAzNzc2UxHn/n8sNERJITyxJzU5NLUgtgulj4uCUamD0b5aYcsXmoU2g w7M9VRGxfc+mmWU6TeB4/qD2B6PnpndFZVZlRje/Pq+Ncog1WT1DTHFy2IU/PK8KW11nRCWV 9kr6NsoVn/p6k/vAsZnJptt1X96aLDrhe1bVlpKJ9j4zpiyzzV/+1lt2wbWqw38SIn7+2HjI aNF9pUvnfnkXNpiKPlqSfM9DiaU4I9FQi7moOBEAOBg5floDAAA= DLP-Filter: Pass X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id t525nvBh017644 Content-Length: 1808 Lines: 50 I made the CONFIG_ARCH_MULTI_V6=y and CONFIG_CPU_V6K=y CONFIG_CPU_32v6=y CONFIG_CPU_32v6K=y and compiled 4.0.4 with the patch. Result is a compilation success. Regards, Sarbojit ------- Original Message ------- Sender : Arnd Bergmann Date : May 19, 2015 18:51 (GMT+09:00) Title : Re: [RFC] arm: Add for atomic half word exchange On Tuesday 19 May 2015 09:39:33 Sarbojit Ganguly wrote: > Since 16 bit half word exchange was not there and MCS based qspinlock by Waiman's xchg_tail() requires an atomic exchange on a half word, > here is a small modification to __xchg() code. We have discussed a similar patch before, see https://lkml.org/lkml/2015/2/25/390 > #if __LINUX_ARM_ARCH__ >= 6 > @@ -50,6 +52,23 @@ > : "r" (x), "r" (ptr) > : "memory", "cc"); > break; > + /* > + * halfword exclusive exchange > + * This is new implementation as qspinlock > + * wants 16 bit atomic CAS. > + */ > + case 2: > + asm volatile("@ __xchg2\n" > + "1: ldrexh %0, [%3]\n" > + " strexh %1, %2, [%3]\n" > + " teq %1, #0\n" > + " bne 1b" > + : "=&r" (ret), "=&r" (tmp) > + : "r" (x), "r" (ptr) > + : "memory", "cc"); > + break; > case 4: > asm volatile("@ __xchg4\n" > "1: ldrex %0, [%3]\n" Please try to find a way to make this compile when CONFIG_CPU_V6 is set. Arnd????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?