[0/6] remove incorrect code for loading 16B descriptors

Message ID 20240123114053.172189-1-bruce.richardson@intel.com (mailing list archive)
Headers
Series remove incorrect code for loading 16B descriptors |

Message

Bruce Richardson Jan. 23, 2024, 11:40 a.m. UTC
  Inside the AVX2 code paths, there was special case code for loading two
16-byte descriptors simultaneously, if that build-time feature was
enabled. As well as not being enabled by default, these code blocks also
were incorrect as there is no guarantee of the two descriptors being
loaded either atomically or in a defined order. If they were loaded in
an unexpected order the driver logic would break. Therefore we remove
these blocks, and do come cleanup of the following code to remove
indentation.

NOTE: I've split out the removal and subsequent cleanup into separate
patches for ease of review. These can be merged into a single patch on
merge, if so desired.

Bruce Richardson (6):
  net/i40e: remove incorrect 16B descriptor read block
  net/i40e: reduce code indentation
  net/iavf: remove incorrect 16B descriptor read block
  net/ice: remove incorrect 16B descriptor read block
  net/ice: reduce code indent
  net/iavf: reduce code indent

 drivers/net/i40e/i40e_rxtx_vec_avx2.c | 64 ++++++++-------------
 drivers/net/iavf/iavf_rxtx_vec_avx2.c | 80 ++++++++-------------------
 drivers/net/ice/ice_rxtx_vec_avx2.c   | 80 ++++++++-------------------
 3 files changed, 72 insertions(+), 152 deletions(-)

--
2.40.1
  

Comments

Burakov, Anatoly Feb. 22, 2024, 2:57 p.m. UTC | #1
On 1/23/2024 12:40 PM, Bruce Richardson wrote:
> Inside the AVX2 code paths, there was special case code for loading two
> 16-byte descriptors simultaneously, if that build-time feature was
> enabled. As well as not being enabled by default, these code blocks also
> were incorrect as there is no guarantee of the two descriptors being
> loaded either atomically or in a defined order. If they were loaded in
> an unexpected order the driver logic would break. Therefore we remove
> these blocks, and do come cleanup of the following code to remove
> indentation.
> 
> NOTE: I've split out the removal and subsequent cleanup into separate
> patches for ease of review. These can be merged into a single patch on
> merge, if so desired.
> 
> Bruce Richardson (6):
>    net/i40e: remove incorrect 16B descriptor read block
>    net/i40e: reduce code indentation
>    net/iavf: remove incorrect 16B descriptor read block
>    net/ice: remove incorrect 16B descriptor read block
>    net/ice: reduce code indent
>    net/iavf: reduce code indent
> 
>   drivers/net/i40e/i40e_rxtx_vec_avx2.c | 64 ++++++++-------------
>   drivers/net/iavf/iavf_rxtx_vec_avx2.c | 80 ++++++++-------------------
>   drivers/net/ice/ice_rxtx_vec_avx2.c   | 80 ++++++++-------------------
>   3 files changed, 72 insertions(+), 152 deletions(-)
> 
> --
> 2.40.1
> 
Series-Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
  
Bruce Richardson Feb. 29, 2024, 4:06 p.m. UTC | #2
On Thu, Feb 22, 2024 at 03:57:09PM +0100, Burakov, Anatoly wrote:
> On 1/23/2024 12:40 PM, Bruce Richardson wrote:
> > Inside the AVX2 code paths, there was special case code for loading two
> > 16-byte descriptors simultaneously, if that build-time feature was
> > enabled. As well as not being enabled by default, these code blocks also
> > were incorrect as there is no guarantee of the two descriptors being
> > loaded either atomically or in a defined order. If they were loaded in
> > an unexpected order the driver logic would break. Therefore we remove
> > these blocks, and do come cleanup of the following code to remove
> > indentation.
> > 
> > NOTE: I've split out the removal and subsequent cleanup into separate
> > patches for ease of review. These can be merged into a single patch on
> > merge, if so desired.
> > 
> > Bruce Richardson (6):
> >    net/i40e: remove incorrect 16B descriptor read block
> >    net/i40e: reduce code indentation
> >    net/iavf: remove incorrect 16B descriptor read block
> >    net/ice: remove incorrect 16B descriptor read block
> >    net/ice: reduce code indent
> >    net/iavf: reduce code indent
> > 
> >   drivers/net/i40e/i40e_rxtx_vec_avx2.c | 64 ++++++++-------------
> >   drivers/net/iavf/iavf_rxtx_vec_avx2.c | 80 ++++++++-------------------
> >   drivers/net/ice/ice_rxtx_vec_avx2.c   | 80 ++++++++-------------------
> >   3 files changed, 72 insertions(+), 152 deletions(-)
> > 
> > --
> > 2.40.1
> > 
> Series-Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>

Squashed the 6 patches down to 3, and applied to dpdk-next-net-intel

/Bruce