* Re: [dpdk-stable] [dpdk-dev] [PATCH] eal: fix bug in x86 cmpset
[not found] <1475184293-18298-1-git-send-email-nikhil.rao@intel.com>
@ 2016-09-29 13:05 ` Christian Ehrhardt
2016-09-29 13:16 ` Rao, Nikhil
0 siblings, 1 reply; 3+ messages in thread
From: Christian Ehrhardt @ 2016-09-29 13:05 UTC (permalink / raw)
To: stable; +Cc: dev, Nikhil Rao
The patch misses a fixed: line which it should get I think.
But in general If applied -> stable for this one?
On Thu, Sep 29, 2016 at 11:24 PM, Nikhil Rao <nikhil.rao@intel.com> wrote:
> The original code used movl instead of xchgl, this caused
> rte_atomic64_cmpset to use ebx as the lower dword of the source
> to cmpxchg8b instead of the lower dword of function argument "src".
>
> Reported-by: Job Abraham <job.abraham@intel.com>
> Tested-by: Job Abraham <job.abraham@intel.com>
> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> ---
> lib/librte_eal/common/include/arch/x86/rte_atomic_32.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h
> b/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h
> index 2e04c75..fb3abf1 100644
> --- a/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h
> +++ b/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h
> @@ -81,7 +81,7 @@ rte_atomic64_cmpset(volatile uint64_t *dst, uint64_t
> exp, uint64_t src)
> : "memory" ); /* no-clobber list */
> #else
> asm volatile (
> - "mov %%ebx, %%edi\n"
> + "xchgl %%ebx, %%edi;\n"
> MPLOCKED
> "cmpxchg8b (%[dst]);"
> "setz %[res];"
> --
> 2.7.4
>
>
--
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] eal: fix bug in x86 cmpset
2016-09-29 13:05 ` [dpdk-stable] [dpdk-dev] [PATCH] eal: fix bug in x86 cmpset Christian Ehrhardt
@ 2016-09-29 13:16 ` Rao, Nikhil
2016-09-29 14:21 ` Thomas Monjalon
0 siblings, 1 reply; 3+ messages in thread
From: Rao, Nikhil @ 2016-09-29 13:16 UTC (permalink / raw)
To: Christian Ehrhardt, stable; +Cc: dev
On 9/29/2016 6:35 PM, Christian Ehrhardt wrote:
> The patch misses a fixed: line which it should get I think.
The bug has existed from the day the DPDK was open-sourced, i.e, there wasn't a specific
commit that introduced this feature/bug, hence wasn't sure if it needed the fixes tag.
>
> But in general If applied -> stable for this one?
>
Yes.
>
> On Thu, Sep 29, 2016 at 11:24 PM, Nikhil Rao <nikhil.rao@intel.com <mailto:nikhil.rao@intel.com>> wrote:
>
> The original code used movl instead of xchgl, this caused
> rte_atomic64_cmpset to use ebx as the lower dword of the source
> to cmpxchg8b instead of the lower dword of function argument "src".
>
> Reported-by: Job Abraham <job.abraham@intel.com <mailto:job.abraham@intel.com>>
> Tested-by: Job Abraham <job.abraham@intel.com <mailto:job.abraham@intel.com>>
> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com <mailto:nikhil.rao@intel.com>>
> ---
> lib/librte_eal/common/include/arch/x86/rte_atomic_32.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h b/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h
> index 2e04c75..fb3abf1 100644
> --- a/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h
> +++ b/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h
> @@ -81,7 +81,7 @@ rte_atomic64_cmpset(volatile uint64_t *dst, uint64_t exp, uint64_t src)
> : "memory" ); /* no-clobber list */
> #else
> asm volatile (
> - "mov %%ebx, %%edi\n"
> + "xchgl %%ebx, %%edi;\n"
> MPLOCKED
> "cmpxchg8b (%[dst]);"
> "setz %[res];"
> --
> 2.7.4
>
>
>
>
> --
> Christian Ehrhardt
> Software Engineer, Ubuntu Server
> Canonical Ltd
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] eal: fix bug in x86 cmpset
2016-09-29 13:16 ` Rao, Nikhil
@ 2016-09-29 14:21 ` Thomas Monjalon
0 siblings, 0 replies; 3+ messages in thread
From: Thomas Monjalon @ 2016-09-29 14:21 UTC (permalink / raw)
To: Rao, Nikhil; +Cc: dev, Christian Ehrhardt, stable
2016-09-29 18:46, Rao, Nikhil:
>
> On 9/29/2016 6:35 PM, Christian Ehrhardt wrote:
> > The patch misses a fixed: line which it should get I think.
>
> The bug has existed from the day the DPDK was open-sourced, i.e, there wasn't a specific
> commit that introduced this feature/bug, hence wasn't sure if it needed the fixes tag.
In this case, we use the first commit:
af75078 first public release
It means it can be backported everywhere.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-09-29 14:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1475184293-18298-1-git-send-email-nikhil.rao@intel.com>
2016-09-29 13:05 ` [dpdk-stable] [dpdk-dev] [PATCH] eal: fix bug in x86 cmpset Christian Ehrhardt
2016-09-29 13:16 ` Rao, Nikhil
2016-09-29 14:21 ` Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).