[PATCH v3] arm: Adding support for atomic half word exchange
Russell King - ARM Linux
linux at arm.linux.org.uk
Fri Oct 9 05:26:02 PDT 2015
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 at 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 at 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.
More information about the linux-arm-kernel
mailing list