答复: [PATCH] eal/ppc64: add support for rte pause

Message ID 000001d461d2$adc87910$09596b30$@linux.vnet.ibm.com (mailing list archive)
State Not Applicable, archived
Headers
Series 答复: [PATCH] eal/ppc64: add support for rte pause |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK

Commit Message

Chao Zhu Oct. 12, 2018, 2:24 a.m. UTC
  -----邮件原件-----
发件人: Jerin Jacob <jerin.jacob@caviumnetworks.com> 
发送时间: 2018年10月7日 14:19
收件人: Chao Zhu <chaozhu@linux.vnet.ibm.com>
抄送: dev@dpdk.org; thomas@monjalon.net; gowrishankar.m@linux.vnet.ibm.com;
ola.liljedahl@arm.com; Jerin Jacob <jerin.jacob@caviumnetworks.com>
主题: [dpdk-dev] [PATCH] eal/ppc64: add support for rte pause

Add support for rte_pause() implementation for ppc64.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---

The reference implementation for Linux's cpu_relax() for ppc64 is at
https://elixir.bootlin.com/linux/latest/source/arch/powerpc/include/asm/proc
essor.h#L440

---
 lib/librte_eal/common/include/arch/ppc_64/rte_pause.h | 7 +++++++
 1 file changed, 7 insertions(+)
  

Comments

Jerin Jacob Oct. 12, 2018, 4:12 a.m. UTC | #1
-----Original Message-----
> Date: Fri, 12 Oct 2018 10:24:16 +0800
> From: Chao Zhu <chaozhu@linux.vnet.ibm.com>
> To: 'Jerin Jacob' <jerin.jacob@caviumnetworks.com>
> CC: dev@dpdk.org, thomas@monjalon.net, gowrishankar.m@linux.vnet.ibm.com,
>  ola.liljedahl@arm.com
> Subject: 答复: [dpdk-dev] [PATCH] eal/ppc64: add support for rte pause
> X-Mailer: Microsoft Outlook 16.0
> 
> 
> -----邮件原件-----
> 发件人: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> 发送时间: 2018年10月7日 14:19
> 收件人: Chao Zhu <chaozhu@linux.vnet.ibm.com>
> 抄送: dev@dpdk.org; thomas@monjalon.net; gowrishankar.m@linux.vnet.ibm.com;
> ola.liljedahl@arm.com; Jerin Jacob <jerin.jacob@caviumnetworks.com>
> 主题: [dpdk-dev] [PATCH] eal/ppc64: add support for rte pause
> 
> Add support for rte_pause() implementation for ppc64.
> 
> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> ---
> 
> The reference implementation for Linux's cpu_relax() for ppc64 is at
> https://elixir.bootlin.com/linux/latest/source/arch/powerpc/include/asm/proc
> essor.h#L440
> 
> ---
>  lib/librte_eal/common/include/arch/ppc_64/rte_pause.h | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
> b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
> index 8bd835764..16e47ce22 100644
> --- a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
> +++ b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
> @@ -9,10 +9,17 @@
>  extern "C" {
>  #endif
> 
> +#include "rte_atomic.h"
> +
>  #include "generic/rte_pause.h"
> 
>  static inline void rte_pause(void)
>  {
> +       /* Set hardware multi-threading low priority */
> +       asm volatile("or 1,1,1");
> +       /* Set hardware multi-threading medium priority */
> +       asm volatile("or 2,2,2");
> +       rte_compiler_barrier();
>  }
> 
>  #ifdef __cplusplus
> --
> 2.19.0
> 
> Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>

Thomas,

Just noticed, due to some reason, The above Acked-by: is not reflected in patchwork.

http://patches.dpdk.org/patch/46195/

Probably because, it was not a "inline" reply which patchwork couldn't parse it.


> 
>
  
Thomas Monjalon Oct. 12, 2018, 6:50 a.m. UTC | #2
12/10/2018 06:12, Jerin Jacob:
> -----Original Message-----
> > Date: Fri, 12 Oct 2018 10:24:16 +0800
> > From: Chao Zhu <chaozhu@linux.vnet.ibm.com>
> > To: 'Jerin Jacob' <jerin.jacob@caviumnetworks.com>
> > CC: dev@dpdk.org, thomas@monjalon.net, gowrishankar.m@linux.vnet.ibm.com,
> >  ola.liljedahl@arm.com
> > Subject: 答复: [dpdk-dev] [PATCH] eal/ppc64: add support for rte pause
> > X-Mailer: Microsoft Outlook 16.0
> > 
> > 
> > -----邮件原件-----
> > 发件人: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > 发送时间: 2018年10月7日 14:19
> > 收件人: Chao Zhu <chaozhu@linux.vnet.ibm.com>
> > 抄送: dev@dpdk.org; thomas@monjalon.net; gowrishankar.m@linux.vnet.ibm.com;
> > ola.liljedahl@arm.com; Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > 主题: [dpdk-dev] [PATCH] eal/ppc64: add support for rte pause
> > 
> > Add support for rte_pause() implementation for ppc64.
> > 
> > Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > ---
> > 
> > The reference implementation for Linux's cpu_relax() for ppc64 is at
> > https://elixir.bootlin.com/linux/latest/source/arch/powerpc/include/asm/proc
> > essor.h#L440
> > 
> > ---
> >  lib/librte_eal/common/include/arch/ppc_64/rte_pause.h | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
> > b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
> > index 8bd835764..16e47ce22 100644
> > --- a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
> > +++ b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
> > @@ -9,10 +9,17 @@
> >  extern "C" {
> >  #endif
> > 
> > +#include "rte_atomic.h"
> > +
> >  #include "generic/rte_pause.h"
> > 
> >  static inline void rte_pause(void)
> >  {
> > +       /* Set hardware multi-threading low priority */
> > +       asm volatile("or 1,1,1");
> > +       /* Set hardware multi-threading medium priority */
> > +       asm volatile("or 2,2,2");
> > +       rte_compiler_barrier();
> >  }
> > 
> >  #ifdef __cplusplus
> > --
> > 2.19.0
> > 
> > Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
> 
> Thomas,
> 
> Just noticed, due to some reason, The above Acked-by: is not reflected in patchwork.
> 
> http://patches.dpdk.org/patch/46195/
> 
> Probably because, it was not a "inline" reply which patchwork couldn't parse it.

Or more probably, there are some special characters in the email or headers
which make patchwork parsing to fail.
  
Thomas Monjalon Oct. 26, 2018, 12:40 p.m. UTC | #3
12/10/2018 08:50, Thomas Monjalon:
> 12/10/2018 06:12, Jerin Jacob:
> > > --
> > > 2.19.0
> > > 
> > > Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
> > 
> > Thomas,
> > 
> > Just noticed, due to some reason, The above Acked-by: is not reflected in patchwork.
> > 
> > http://patches.dpdk.org/patch/46195/
> > 
> > Probably because, it was not a "inline" reply which patchwork couldn't parse it.
> 
> Or more probably, there are some special characters in the email or headers
> which make patchwork parsing to fail.

I know why:
Chao was not quoting original mail and answered below the "git signature"
so it was ignored.
  

Patch

diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
index 8bd835764..16e47ce22 100644
--- a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
+++ b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
@@ -9,10 +9,17 @@ 
 extern "C" {
 #endif

+#include "rte_atomic.h"
+
 #include "generic/rte_pause.h"

 static inline void rte_pause(void)
 {
+	/* Set hardware multi-threading low priority */
+	asm volatile("or 1,1,1");
+	/* Set hardware multi-threading medium priority */
+	asm volatile("or 2,2,2");
+	rte_compiler_barrier();
 }

 #ifdef __cplusplus