All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics
@ 2014-08-01 16:48 Neil Horman
       [not found] ` <1406911737-13362-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Neil Horman @ 2014-08-01 16:48 UTC (permalink / raw)
  To: dev-VfR2kkLFssw

ixgbe was failing to build in the default configuration because it required
sse4.2 intrinsics, and the default config doesn't support more than sse3.
Modify the pmd so that only sse3 intrinsics are pulled in and used.

Signed-off-by: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
CC: "Konstantin Ananyev" <konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
CC: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
---
 lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
index 09e19a3..fe39ca2 100644
--- a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
+++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
@@ -38,7 +38,7 @@
 #include "ixgbe_ethdev.h"
 #include "ixgbe_rxtx.h"
 
-#include <nmmintrin.h>
+#include <tmmintrin.h>
 
 #ifndef __INTEL_COMPILER
 #pragma GCC diagnostic ignored "-Wcast-qual"
@@ -338,7 +338,7 @@ ixgbe_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 				pkt_mb1);
 
 		/* C.4 calc avaialbe number of desc */
-		var = _mm_popcnt_u64(_mm_cvtsi128_si64(staterr));
+		var = __builtin_popcountll(_mm_cvtsi128_si64(staterr));
 		nb_pkts_recd += var;
 		if (likely(var != RTE_IXGBE_DESCS_PER_LOOP))
 			break;
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics
       [not found] ` <1406911737-13362-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
@ 2014-08-01 17:39   ` Richardson, Bruce
       [not found]     ` <59AF69C657FD0841A61C55336867B5B0343D47DF-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Richardson, Bruce @ 2014-08-01 17:39 UTC (permalink / raw)
  To: Neil Horman, dev-VfR2kkLFssw

> -----Original Message-----
> From: Neil Horman [mailto:nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org]
> Sent: Friday, August 01, 2014 9:49 AM
> To: dev-VfR2kkLFssw@public.gmane.org
> Cc: Neil Horman; Ananyev, Konstantin; Richardson, Bruce; Thomas Monjalon
> Subject: [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics
> 
> ixgbe was failing to build in the default configuration because it required
> sse4.2 intrinsics, and the default config doesn't support more than sse3.
> Modify the pmd so that only sse3 intrinsics are pulled in and used.
> 
> Signed-off-by: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
> CC: "Konstantin Ananyev" <konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> CC: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
> ---
>  lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> index 09e19a3..fe39ca2 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> @@ -38,7 +38,7 @@
>  #include "ixgbe_ethdev.h"
>  #include "ixgbe_rxtx.h"
> 
> -#include <nmmintrin.h>
> +#include <tmmintrin.h>
> 
>  #ifndef __INTEL_COMPILER
>  #pragma GCC diagnostic ignored "-Wcast-qual"
> @@ -338,7 +338,7 @@ ixgbe_recv_pkts_vec(void *rx_queue, struct rte_mbuf
> **rx_pkts,
>  				pkt_mb1);
> 
>  		/* C.4 calc avaialbe number of desc */
> -		var = _mm_popcnt_u64(_mm_cvtsi128_si64(staterr));
> +		var = __builtin_popcountll(_mm_cvtsi128_si64(staterr));
>  		nb_pkts_recd += var;
>  		if (likely(var != RTE_IXGBE_DESCS_PER_LOOP))
>  			break;
> --
> 1.8.3.1

Acked-by: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics
       [not found]     ` <59AF69C657FD0841A61C55336867B5B0343D47DF-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2014-08-12 23:55       ` Thomas Monjalon
  2014-08-13 10:11         ` Neil Horman
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Monjalon @ 2014-08-12 23:55 UTC (permalink / raw)
  To: Richardson, Bruce, Neil Horman; +Cc: dev-VfR2kkLFssw

> > ixgbe was failing to build in the default configuration because it required
> > sse4.2 intrinsics, and the default config doesn't support more than sse3.
> > Modify the pmd so that only sse3 intrinsics are pulled in and used.
> > 
> > Signed-off-by: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
> > CC: "Konstantin Ananyev" <konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > CC: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
> 
> Acked-by: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Applied for version 1.7.1.

Now, ixgbe_rxtx_vec.c should be usable on all x86_64 CPU,
or am I forgetting something?

Thanks
-- 
Thomas

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics
  2014-08-12 23:55       ` Thomas Monjalon
@ 2014-08-13 10:11         ` Neil Horman
  0 siblings, 0 replies; 4+ messages in thread
From: Neil Horman @ 2014-08-13 10:11 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev-VfR2kkLFssw

On Wed, Aug 13, 2014 at 01:55:45AM +0200, Thomas Monjalon wrote:
> > > ixgbe was failing to build in the default configuration because it required
> > > sse4.2 intrinsics, and the default config doesn't support more than sse3.
> > > Modify the pmd so that only sse3 intrinsics are pulled in and used.
> > > 
> > > Signed-off-by: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
> > > CC: "Konstantin Ananyev" <konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > > CC: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > > CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
> > 
> > Acked-by: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> 
> Applied for version 1.7.1.
> 
> Now, ixgbe_rxtx_vec.c should be usable on all x86_64 CPU,
> or am I forgetting something?
> 
Nope, this will do it.

All thats left now is to settle on the approach for the ACL library
Thanks
Neil

> Thanks
> -- 
> Thomas
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-08-13 10:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-01 16:48 [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics Neil Horman
     [not found] ` <1406911737-13362-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-08-01 17:39   ` Richardson, Bruce
     [not found]     ` <59AF69C657FD0841A61C55336867B5B0343D47DF-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-08-12 23:55       ` Thomas Monjalon
2014-08-13 10:11         ` Neil Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.