> -----Original Message----- > From: Power, Ciara <[email protected]> > Sent: Tuesday, October 13, 2020 7:05 PM > To: [email protected] > Cc: [email protected]; [email protected]; [email protected]; > [email protected]; Richardson, Bruce <[email protected]>; > Ananyev, Konstantin <[email protected]>; Power, Ciara > <[email protected]>; Maxime Coquelin <[email protected]>; Xia, > Chenbo <[email protected]>; Wang, Zhihong <[email protected]> > Subject: [PATCH v5 12/17] net/virtio: add checks for max SIMD bitwidth > > When choosing a vector path to take, an extra condition must be > satisfied to ensure the max SIMD bitwidth allows for the CPU enabled > path. > > Cc: Maxime Coquelin <[email protected]> > Cc: Chenbo Xia <[email protected]> > Cc: Zhihong Wang <[email protected]> > > Signed-off-by: Ciara Power <[email protected]> > > --- > v4: Updated enum name. > v3: Moved max SIMD bitwidth check to configure function with other vec > support checks. > --- > drivers/net/virtio/virtio_ethdev.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/virtio/virtio_ethdev.c > b/drivers/net/virtio/virtio_ethdev.c > index 0236c756dc..70955e5cc0 100644 > --- a/drivers/net/virtio/virtio_ethdev.c > +++ b/drivers/net/virtio/virtio_ethdev.c > @@ -2313,7 +2313,8 @@ virtio_dev_configure(struct rte_eth_dev *dev) > if ((hw->use_vec_rx || hw->use_vec_tx) && > (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512F) || > !vtpci_with_feature(hw, VIRTIO_F_IN_ORDER) || > - !vtpci_with_feature(hw, VIRTIO_F_VERSION_1))) { > + !vtpci_with_feature(hw, VIRTIO_F_VERSION_1) || > + rte_get_max_simd_bitwidth() < RTE_SIMD_512)) { > PMD_DRV_LOG(INFO, > "disabled packed ring vectorized path for > requirements not met"); > hw->use_vec_rx = 0; > @@ -2366,6 +2367,12 @@ virtio_dev_configure(struct rte_eth_dev *dev) > "disabled split ring vectorized rx for > offloading enabled"); > hw->use_vec_rx = 0; > } > + > + if (rte_get_max_simd_bitwidth() < RTE_SIMD_128) { > + PMD_DRV_LOG(INFO, > + "disabled split ring vectorized rx, max > SIMD > bitwidth too low"); > + hw->use_vec_rx = 0; > + } > } > } > > -- > 2.22.0
Reviewed-by: Chenbo Xia <[email protected]>

