History log of /dpdk/drivers/net/intel/ice/ice_rxtx_vec_sse.c (Results 1 – 9 of 9)
Revision Date Author Comments
# 61dcf278 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/intel: create common mbuf initializer

Across a number of drivers, the same code is used for initializing the
"mbuf_initializer" value inside the rx queue structure for use with the
vector driver

net/intel: create common mbuf initializer

Across a number of drivers, the same code is used for initializing the
"mbuf_initializer" value inside the rx queue structure for use with the
vector drivers. Since the rx queue structures are (currently) different
across the drivers, we cannot just move a single copy of the function to
a common location. Instead, we create a dedicated function which just
creates the mbuf initializer for a particular port.

In creating this function, we can shorten it vs the original versions by
initializing the mbuf fields as they are defined, rather than
afterwards. We can also remove the use of the barrier and temporary
uintptr_t variable, because the mbuf has been reworked so that
rearm_data is a proper single-element array in a union.

Across ixgbe, i40e, iavf and i40e, we can call this function to
initialize the rxq data, replacing the "*_rxq_vec_setup_default"
functions. Only the i40e was slightly different, having an extra
assignment in it, to set the "sse" flag (even in case of neon and
altivec paths). This assignment was just duplicated to the calling sites
for simplicity and to keep existing behaviour.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...


# 7e230d56 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/ice: use vector SW ring for all vector paths

The AVX-512 code path used a smaller SW ring structure only containing
the mbuf pointer, but no other fields. The other fields are only used in
the s

net/ice: use vector SW ring for all vector paths

The AVX-512 code path used a smaller SW ring structure only containing
the mbuf pointer, but no other fields. The other fields are only used in
the scalar code path, so update all vector driver code paths to use the
smaller, faster structure.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...


# 552979df 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/intel: create common Tx queue mbuf cleanup

The function to loop over the Tx queue and clean up all the mbufs on
it, e.g. for queue shutdown, is not device specific and so can move into
the commo

net/intel: create common Tx queue mbuf cleanup

The function to loop over the Tx queue and clean up all the mbufs on
it, e.g. for queue shutdown, is not device specific and so can move into
the common/intel headers. Only complication is ensuring that the
correct ring format, either minimal vector or full structure, is used.
Ice driver currently uses two functions and a function pointer to help
with this - though actually one of those functions uses a further check
inside it - so we can simplify this down to just one common function,
with a flag set in the appropriate place. This avoids checking for
AVX-512-specific functions, which were the only function using the
smaller struct in this driver.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...


# c038157a 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/intel: merge ice and i40e Tx queue struct

The queue structures of i40e and ice drivers are virtually identical, so
merge them into a common struct. This should allow easier function
merging in f

net/intel: merge ice and i40e Tx queue struct

The queue structures of i40e and ice drivers are virtually identical, so
merge them into a common struct. This should allow easier function
merging in future using that common struct.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...


# 4d0f54d9 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/intel: add prefix for driver-specific structs

In preparation for merging the Tx structs for multiple drivers into a
single struct, rename the driver-specific pointers in each struct to
have a pr

net/intel: add prefix for driver-specific structs

In preparation for merging the Tx structs for multiple drivers into a
single struct, rename the driver-specific pointers in each struct to
have a prefix on it, to avoid name conflicts.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...


# bb8a37a9 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/intel: create common Tx mbuf ring replenish

Move the short function used to place mbufs on the SW Tx ring to common
code to avoid duplication.

Signed-off-by: Bruce Richardson <bruce.richardson@

net/intel: create common Tx mbuf ring replenish

Move the short function used to place mbufs on the SW Tx ring to common
code to avoid duplication.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...


# 5cc9919f 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/intel: provide common Tx entry structures

The Tx entry structures, both vector and scalar, are common across Intel
drivers, so provide a single definition to be used everywhere.

Signed-off-by:

net/intel: provide common Tx entry structures

The Tx entry structures, both vector and scalar, are common across Intel
drivers, so provide a single definition to be used everywhere.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...


# 82fbc4a4 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/intel: create common packet reassembly

The code for reassembling a single, multi-mbuf packet from multiple
buffers received from the NIC is duplicated across many drivers. Rather
than having mul

net/intel: create common packet reassembly

The code for reassembling a single, multi-mbuf packet from multiple
buffers received from the NIC is duplicated across many drivers. Rather
than having multiple copies of this function, we can create an
"intel/common" directory to hold such functions and consolidate
multiple functions down to a single one for easier maintenance.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...


# c1d14583 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/intel: move Intel drivers to a subdirectory

Consolidate all Intel HW NIC drivers into a drivers/net/intel directory.
This matches the layout used for drivers in the kernel, and potentially
enabl

net/intel: move Intel drivers to a subdirectory

Consolidate all Intel HW NIC drivers into a drivers/net/intel directory.
This matches the layout used for drivers in the kernel, and potentially
enables easier sharing among drivers.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...