Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755871AbbFBGWC (ORCPT ); Tue, 2 Jun 2015 02:22:02 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:31786 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752872AbbFBGVx (ORCPT ); Tue, 2 Jun 2015 02:21:53 -0400 X-AuditID: cbfee68e-f79c56d000006efb-33-556d4b7b538c Date: Tue, 02 Jun 2015 06:21:47 +0000 (GMT) From: Sarbojit Ganguly Subject: Re: Re: [RFC] arm: Add for atomic half word exchange To: Raghavendra K T , Sarbojit Ganguly Cc: Arnd Bergmann , "linux-arm-kernel@lists.infradead.org" , SUNEEL KUMAR SURIMANI , VIKRAM MUPPARTHI , "tglx@linutronix.de" , "mingo@redhat.com" , "hpa@zytor.com" , "peterz@infradead.org" , "Waiman.Long@hp.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: 20150602061944697@ganguly.s Msgkey: 20150602061944697@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: 20150602061944697@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: <146879519.394951433226103227.JavaMail.weblogic@epmlwas06d> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGIsWRmVeSWpSXmKPExsWyRsSkRrfaOzfUYHaTjcXlXXPYHBg9Pm+S C2CM4rJJSc3JLEst0rdL4Mo4un87e8E9lYoTj7+wNDA+UO5i5OAQElCR6JsU0cXIySEhYCIx r/EUG4QtJnHh3nogmwuoZCmjxL81O5hgitau/8wMkZjDKLHh0yWwDhagQbMnTGIFsdkE9CVO 738J1iAsYCtx5/ZKMFtEIF3i3ueZYM3MAg2sEh2vHrOAJIQE5CXaX2wHK+IVEJQ4OfMJC8Q2 JYn+xqXMEHFliXmnNkNdISexZOplKJtXYkb7UxaY+LSva5ghbGmJ87M2MMK8s/j7Y6g4v8Sx 2zDfCEhMPXMQqkZdYkLLfFYIm09izcK3LDD1u04tZ4bZ1bDxNzuELSGxteUJWD2zgKLElO6H 7BC2gcSRRXNY0f3CK+AuMXvee1aQ5yUEJnJIzDjRzTKBUWkWkrpZSGbNQjILWc0CRpZVjKKp BckFxUnpRUZ6xYm5xaV56XrJ+bmbGIHJ4fS/Z307GG8esD7EKMDBqMTDy/ApJ1SINbGsuDL3 EKMpMKImMkuJJucDU1BeSbyhsZmRhamJqbGRuaWZkjhvgtTPYCGB9MSS1OzU1ILUovii0pzU 4kOMTBycUg2M6746Ho37eMypoDJ7gcaFsvIp3mucma9sXOrelpr29tn1bZKm9bnfnk/YHpUc b+dzT8hm3rOEl3qTc56rFauuErOQnnzT+sm5l7fKpjht1Hi63nVlT2pVO8fpJTOP2q6/9OdU S3a1wq4Pn6rXdVtE3nTYEfrt1WP98MofqocUVTrL/mmK5ns8U2Ipzkg01GIuKk4EAIo0FVUJ AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOKsWRmVeSWpSXmKPExsVy+t/tPt1q79xQg/X9xhaXd81hc2D0+LxJ LoAxKs0mIzUxJbVIITUvOT8lMy/dVsk7ON453tTMwFDX0NLCXEkhLzE31VbJxSdA1y0zB2io kkJZYk4pUCggsbhYSd/Opii/tCRVISO/uMRWKdrQ3EjPyEDP1EjP0DTWytDAwMgUqCYhLePo /u3sBfdUKk48/sLSwPhAuYuRg0NIQEWib1JEFyMnh4SAicTa9Z+ZIWwxiQv31rN1MXIBlcxh lNjw6RIbSIIFqH72hEmsIDabgL7E6f0vmUBsYQFbiTu3V4LZIgLpEvc+z2QGaWYWaGCV6Hj1 mAUkISQgL9H+YjtYEa+AoMTJmU9YILYpSfQ3LmWGiCtLzDu1mQkiLiexZOplKJtXYkb7UxaY +LSva6AulZY4P2sDI8zVi78/horzSxy7vQOqV0Bi6pmDUDXqEhNa5rNC2HwSaxa+ZYGp33Vq OTPMroaNv9khbAmJrS1PwOqZBRQlpnQ/ZIewDSSOLJrDiu4XXgF3idnz3rNOYJSdhSQ1C0n7 LCTtyGoWMLKsYhRNLUguKE5KrzDSK07MLS7NS9dLzs/dxAhORM8W7WD8d976EKMAB6MSDy/D p5xQIdbEsuLK3EOMEhzMSiK8iqa5oUK8KYmVValF+fFFpTmpxYcYTYHRNpFZSjQ5H5gk80ri DY1NzE2NTS0MDM3NzZTEef+fyw0REkhPLEnNTk0tSC2C6WPi4JRqYLwlHDdr6pzspXM3Ccp6 yqUo2s16IG8+/8jBnSwPN544qLpe3J+5jvX46sz460f/tCkJxdjmz620X3lCZk9edt0dPYUb RppunRHpS4w5H7G8WCPTYL4lpkPsoKKAv6G+4qlVT+a/ze9JcNz7xOy2vOn6vZtZ97iHHmmc MVHymI+3U61tRLLbPyWW4oxEQy3mouJEAIyHIslaAwAA 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 t526M7t5017814 Content-Length: 3491 Lines: 100 Hello Raghavendra, That is exactly I had done albeit from menuconfig. Basically the whole point was to make sure my patch compiles against ARM11 architectures as well. Hence I ensured the .config contains the relevant flags on. Regards, Sarbojit ------- Original Message ------- Sender : Raghavendra K T Date : Jun 02, 2015 15:11 (GMT+09:00) Title : Re: [RFC] arm: Add for atomic half word exchange On 06/02/2015 11:19 AM, Sarbojit Ganguly wrote: > 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 > Hi Sarbojit, I am not familiar about the implication of setting those options unconditionally, But from Kconfig point of view Arnd was expecting something like below IIUC with the patch: (a quick example) ---8<--- diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 9f1f09a..194fc13 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -812,6 +812,8 @@ config ARCH_MULTI_V6 bool "ARMv6 based platforms (ARM11)" select ARCH_MULTI_V6_V7 select CPU_V6K + select CPU_32v6 + select CPU_32v6k config ARCH_MULTI_V7 bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)" > ------- 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 > ????? ??? ?? ?? ?? ----------------------------------------------------------------------+ The Tao lies beyond Yin and Yang. It is silent and still as a pool of water. | It does not seek fame, therefore nobody knows its presence. | It does not seek fortune, for it is complete within itself. | It exists beyond space and time. | ----------------------------------------------------------------------+????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?