Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1243257 > unrolled thread

[PATCH v3] arm: Adding support for atomic half word exchange

Started bySarbojit Ganguly <ganguly.s@samsung.com>
First post2015-10-09 13:20 +0200
Last post2015-10-09 14:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v3] arm: Adding support for atomic half word exchange Sarbojit Ganguly <ganguly.s@samsung.com> - 2015-10-09 13:20 +0200
    Re: [PATCH v3] arm: Adding support for atomic half word exchange Russell King - ARM Linux <linux@arm.linux.org.uk> - 2015-10-09 14:30 +0200

#1243257 — [PATCH v3] arm: Adding support for atomic half word exchange

FromSarbojit Ganguly <ganguly.s@samsung.com>
Date2015-10-09 13:20 +0200
Subject[PATCH v3] arm: Adding support for atomic half word exchange
Message-ID<qhDSq-tO-15@gated-at.bofh.it>
SGVsbG8gV2lsbCwNCg0KVGhhbmsgeW91IHNvIG11Y2ggZm9yIHlvdXIgcGF0aWVuY2UuIE15IHNp
bmNlcmUgYXBvbG9naWVzIHdpdGggdGhlIGlzc3VlcyB3aXRoDQpmb3JtYXR0aW5nLiBJIGhhdmUg
dGFrZW4gY2FyZSBvZiB0aGVtIGFuZCBob3BlIG5vdyB0aGluZ3MgYXJlIG9rLg0KDQotIEluY2x1
ZGVkIHBhdGNoZXNBVGFybS5saW51eC5vcmcudWsuDQotIFJlbW92ZWQgdGhlIGNoYW5nZWxvZyBm
cm9tIGNvbW1pdCBtZXNzYWdlLg0KLSBNb3ZlZCB0aGUgcGF0Y2ggdG8gInN1cGVyc2VkZWQiIGlu
IHBhdGNoIHN5c3RlbS4NCi0gQ29ycmVjdGVkIHRoZSB0cnVuY2F0ZWQgU2lnbmVkLW9mZiBsaW5l
Lg0KDQpLZXJuZWxWZXJzaW9uOiA0LjMtcmM0DQoNClNpbmNlIHN1cHBvcnQgZm9yIGhhbGYtd29y
ZCBhdG9taWMgZXhjaGFuZ2Ugd2FzIG5vdCB0aGVyZSBhbmQgUXNwaW5sb2NrIG9uIEFSTQ0KcmVx
dWlyZXMgaXQsIG1vZGlmaWVkIF9feGNoZygpIHRvIGFkZCBzdXBwb3J0IGZvciB0aGF0IGFzIHdl
bGwuIEFSTXY2IGFuZCBsb3dlcg0KZG9lcyBub3Qgc3VwcG9ydCBsZHJleHtiLGh9IHNvLCBhZGRl
ZCBhIGd1YXJkIGNvZGUgdG8gcHJldmVudCBidWlsZCBicmVha3MuDQoNClNpZ25lZC1vZmYtYnk6
IFNhcmJvaml0IEdhbmd1bHkgPGdhbmd1bHkuc0BzYW1zdW5nLmNvbT4NCi0tLQ0KIGFyY2gvYXJt
L2luY2x1ZGUvYXNtL2NtcHhjaGcuaCB8IDEyICsrKysrKysrKysrKw0KIDEgZmlsZSBjaGFuZ2Vk
LCAxMiBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9hcmNoL2FybS9pbmNsdWRlL2FzbS9j
bXB4Y2hnLmggYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9jbXB4Y2hnLmgNCmluZGV4IDkxNmEyNzQu
Ljk3ODgyZjkgMTAwNjQ0DQotLS0gYS9hcmNoL2FybS9pbmNsdWRlL2FzbS9jbXB4Y2hnLmgNCisr
KyBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2NtcHhjaGcuaA0KQEAgLTM5LDYgKzM5LDcgQEAgc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBsb25nIF9feGNoZyh1bnNpZ25lZCBsb25nIHgsIHZvbGF0aWxl
IHZvaWQgKnB0ciwgaW50IHNpemUNCiANCiAJc3dpdGNoIChzaXplKSB7DQogI2lmIF9fTElOVVhf
QVJNX0FSQ0hfXyA+PSA2DQorI2lmbmRlZiBDT05GSUdfQ1BVX1Y2IC8qIE1JTiBBUkNIID49IFY2
SyAqLw0KIAljYXNlIDE6DQogCQlhc20gdm9sYXRpbGUoIkAJX194Y2hnMVxuIg0KIAkJIjE6CWxk
cmV4YgklMCwgWyUzXVxuIg0KQEAgLTQ5LDYgKzUwLDE3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWdu
ZWQgbG9uZyBfX3hjaGcodW5zaWduZWQgbG9uZyB4LCB2b2xhdGlsZSB2b2lkICpwdHIsIGludCBz
aXplDQogCQkJOiAiciIgKHgpLCAiciIgKHB0cikNCiAJCQk6ICJtZW1vcnkiLCAiY2MiKTsNCiAJ
CWJyZWFrOw0KKwljYXNlIDI6DQorCQlhc20gdm9sYXRpbGUoIkAJX194Y2hnMlxuIg0KKwkJIjE6
CWxkcmV4aAklMCwgWyUzXVxuIg0KKwkJIglzdHJleGgJJTEsICUyLCBbJTNdXG4iDQorCQkiCXRl
cQklMSwgIzBcbiINCisJCSIJYm5lCTFiIg0KKwkJCTogIj0mciIgKHJldCksICI9JnIiICh0bXAp
DQorCQkJOiAiciIgKHgpLCAiciIgKHB0cikNCisJCQk6ICJtZW1vcnkiLCAiY2MiKTsNCisJCWJy
ZWFrOw0KKyNlbmRpZg0KIAljYXNlIDQ6DQogCQlhc20gdm9sYXRpbGUoIkAJX194Y2hnNFxuIg0K
IAkJIjE6CWxkcmV4CSUwLCBbJTNdXG4iDQotLSANCjEuOS4xDQoNClNhcmJvaml0DQoNCi0tLS0t
LS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLS0tDQpTZW5kZXIgOiBXaWxsIERlYWNvbjx3aWxsLmRl
YWNvbkBhcm0uY29tPg0KRGF0ZSA6IE9jdCAwOCwgMjAxNSAyMjoyNiAoR01UKzA1OjMwKQ0KVGl0
bGUgOiBSZTogUmU6IFJlOiBSZTogUmU6IFtQQVRDSCB2M10gYXJtOiBBZGRpbmcgc3VwcG9ydCBm
b3IgYXRvbWljIGhhbGYgd29yZCBleGNoYW5nZQ0KDQpPbiBXZWQsIE9jdCAwNywgMjAxNSBhdCAw
MjozNjo0MVBNICswMDAwLCBTYXJib2ppdCBHYW5ndWx5IHdyb3RlOg0KPiBQbGVhc2UgaGF2ZSBh
IGxvb2sgYXQgdGhpcyBwYXRjaCwgcGxlYXNlIGxldCBtZSBrbm93IGlmIGFueSBtb2RpZmljYXRp
b24NCj4gaXMgcmVxdWlyZWQuDQo+IEkgaGF2ZSBhbHNvIHN1Ym1pdHRlZCB0aGUgc2FtZSBpbiB5
b3VyIHBhdGNoIHN5c3RlbS4NCg0KVGhlcmUgYXJlIHNvbWUgcHJvYmxlbXMgd2l0aCB0aGUgdmVy
c2lvbiBpbiB0aGUgcGF0Y2ggc3lzdGVtWzFdOg0KDQogICgxKSBZb3Ugc3RpbGwgaGF2ZSB0aGUg
Y2hhbmdlbG9nIGluIHRoZSBjb21taXQgbWVzc2FnZSAoSSBhc2tlZCB5b3UgdG8NCiAgICAgIHJl
bW92ZSB0aGlzIGxhc3QgdGltZSkuDQoNCiAgKDIpIFRoZSBjb21taXQgbWVzc2FnZSBpc24ndCBs
aW5lLXdyYXBwZXIgYXBwcm9wcmlhdGVseQ0KDQogICgzKSBZb3VyIFNpZ25lZC1vZmYtYnkgbGlu
ZSBpcyB0cnVuY2F0ZWQNCg0KVGhlIHBhdGNoIHN5c3RlbSBkb2VzIGFjdHVhbGx5IHN1cHBvcnQg
Z2l0LCBzbyB5b3UgY2FuIGFkZDoNCg0KICBLZXJuZWxWZXJzaW9uOiA0LjMtcmM0DQoNCm9yIHdo
YXRldmVyIGtlcm5lbCB5b3UgYmFzZWQgeW91ciBwYXRjaCBvbiBzb21ld2hlcmUgYWZ0ZXIgeW91
ciBTb0IgYnV0DQpiZWZvcmUgdGhlIGRpZmYgYW5kIHRoZW4gbWFpbCBpdCB0byBwYXRjaGVzQVRh
cm0ubGludXgub3JnLnVrLiBZb3UNCnByb2JhYmx5IGFsc28gd2FudCB0byBtb3ZlIHRoZSBjdXJy
ZW50IHBhdGNoIHRvICJzdXBlcnNlZGVkIiBzbyBSdXNzZWxsDQpkb2Vzbid0IGVuZCB1cCB3aXRo
IHR3byBjb3BpZXMuDQoNCldpbGwNCg0KWzFdIGh0dHA6Ly93d3cuYXJtLmxpbnV4Lm9yZy51ay9k
ZXZlbG9wZXIvcGF0Y2hlcy92aWV3cGF0Y2gucGhwP2lkPTg0NDIvMQ==


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1243308

FromRussell King - ARM Linux <linux@arm.linux.org.uk>
Date2015-10-09 14:30 +0200
Message-ID<qhEYa-21U-15@gated-at.bofh.it>
In reply to#1243257
On Fri, Oct 09, 2015 at 11:10:02AM +0000, Sarbojit Ganguly wrote:
> Hello Will,
> 
> Thank you so much for your patience. My sincere apologies with the issues with
> formatting. I have taken care of them and hope now things are ok.
> 
> - Included patchesATarm.linux.org.uk.
> - Removed the changelog from commit message.
> - Moved the patch to "superseded" in patch system.
> - Corrected the truncated Signed-off line.
> 
> KernelVersion: 4.3-rc4
> 
> Since support for half-word atomic exchange was not there and Qspinlock on ARM
> requires it, modified __xchg() to add support for that as well. ARMv6 and lower
> does not support ldrex{b,h} so, added a guard code to prevent build breaks.
> 
> Signed-off-by: Sarbojit Ganguly <ganguly.s@samsung.com>
> ---

The commit message is everything above the "---" line.  It starts
with the subject line, a blank line, and then "Hello Will,".

I'll fix up the commit message this time, but please take note for
future patches.

You're also the first one to send a patch where the body _inside_ the
base64 container has CRLF line endings...

>  arch/arm/include/asm/cmpxchg.h | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/arch/arm/include/asm/cmpxchg.h b/arch/arm/include/asm/cmpxchg.h
> index 916a274..97882f9 100644
> --- a/arch/arm/include/asm/cmpxchg.h
> +++ b/arch/arm/include/asm/cmpxchg.h
> @@ -39,6 +39,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size
>  
>  	switch (size) {
>  #if __LINUX_ARM_ARCH__ >= 6
> +#ifndef CONFIG_CPU_V6 /* MIN ARCH >= V6K */
>  	case 1:
>  		asm volatile("@	__xchg1\n"
>  		"1:	ldrexb	%0, [%3]\n"
> @@ -49,6 +50,17 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size
>  			: "r" (x), "r" (ptr)
>  			: "memory", "cc");
>  		break;
> +	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;
> +#endif
>  	case 4:
>  		asm volatile("@	__xchg4\n"
>  		"1:	ldrex	%0, [%3]\n"
> -- 
> 1.9.1
> 
> Sarbojit
> 
> ------- Original Message -------
> Sender : Will Deacon<will.deacon@arm.com>
> Date : Oct 08, 2015 22:26 (GMT+05:30)
> Title : Re: Re: Re: Re: Re: [PATCH v3] arm: Adding support for atomic half word exchange
> 
> On Wed, Oct 07, 2015 at 02:36:41PM +0000, Sarbojit Ganguly wrote:
> > Please have a look at this patch, please let me know if any modification
> > is required.
> > I have also submitted the same in your patch system.
> 
> There are some problems with the version in the patch system[1]:
> 
>   (1) You still have the changelog in the commit message (I asked you to
>       remove this last time).
> 
>   (2) The commit message isn't line-wrapper appropriately
> 
>   (3) Your Signed-off-by line is truncated
> 
> The patch system does actually support git, so you can add:
> 
>   KernelVersion: 4.3-rc4
> 
> or whatever kernel you based your patch on somewhere after your SoB but
> before the diff and then mail it to patchesATarm.linux.org.uk. You
> probably also want to move the current patch to "superseded" so Russell
> doesn't end up with two copies.
> 
> Will
> 
> [1] http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=8442/1

-- 
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web