[dpdk-dev] [PATCH v4 1/2] net/ixgbe: add SSE4.1 support to vPMD's minimum requirement

Ananyev, Konstantin konstantin.ananyev at intel.com
Tue Jun 13 19:22:06 CEST 2017



> -----Original Message-----
> From: Richardson, Bruce
> Sent: Tuesday, June 13, 2017 5:31 PM
> To: Zhang, Qi Z <qi.z.zhang at intel.com>; Ananyev, Konstantin <konstantin.ananyev at intel.com>; Yigit, Ferruh <ferruh.yigit at intel.com>
> Cc: dev at dpdk.org; Lu, Wenzhuo <wenzhuo.lu at intel.com>; Zhang, Helin <helin.zhang at intel.com>; Zhang, Qi Z <qi.z.zhang at intel.com>
> Subject: RE: [dpdk-dev] [PATCH v4 1/2] net/ixgbe: add SSE4.1 support to vPMD's minimum requirement
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Qi Zhang
> > Sent: Tuesday, June 13, 2017 9:58 AM
> > To: Ananyev, Konstantin <konstantin.ananyev at intel.com>; Yigit, Ferruh
> > <ferruh.yigit at intel.com>
> > Cc: dev at dpdk.org; Lu, Wenzhuo <wenzhuo.lu at intel.com>; Zhang, Helin
> > <helin.zhang at intel.com>; Zhang, Qi Z <qi.z.zhang at intel.com>
> > Subject: [dpdk-dev] [PATCH v4 1/2] net/ixgbe: add SSE4.1 support to vPMD's
> > minimum requirement
> >
> > x86 vPMD will be disabled if currently platform does not support SSE4.1.
> > This is the prework to enable vPMD ptype offload where SSE4.1
> > instrunctions will be involved.
> >
> > Signed-off-by: Qi Zhang <qi.z.zhang at intel.com>
> > ---
> >  drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> > b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> > index a7bc199..fbbd872 100644
> > --- a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> > +++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> > @@ -652,5 +652,9 @@ ixgbe_txq_vec_setup(struct ixgbe_tx_queue *txq)  int
> > __attribute__((cold))  ixgbe_rx_vec_dev_conf_condition_check(struct
> > rte_eth_dev *dev)  {
> > +	/* need SSE4.1 support */
> > +	if (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_SSE4_1))
> > +		return -1;
> > +
> >  	return ixgbe_rx_vec_dev_conf_condition_check_default(dev);
> >  }
> 
> Quite a few things for DPDK on x86 and x86_64 depend on SSE4.x now. I think we should just up the minimum supported x86 CPU
> architecture for DPDK to require SSE4.2 and be done with it. SSE4.2 has been around for almost a decade now
> (https://en.wikipedia.org/wiki/SSE4#SSE4.2), and so I would consider it unlikely that anyone wants to use DPDK on a machine which does
> not have that instruction set supported.
> 
> Doing so would mean we remove all conditional compilation settings for our x86 vector drivers to add -msse flags, and can replace these
> runtime checks in each driver with a single check in EAL init to ensure the CPU supports SSE4.2. Possibly other cleanup could be done as
> well.
> 
> Thoughts? any objections?

+1 to bump min supported HW to sse4.2
Konstantin


More information about the dev mailing list