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

net/intel: remove unneeded vector flags and cleanup code

With all drivers using the common Tx structure updated so that their
vector paths all use the simplified Tx mbuf ring format, it's no longer

net/intel: remove unneeded vector flags and cleanup code

With all drivers using the common Tx structure updated so that their
vector paths all use the simplified Tx mbuf ring format, it's no longer
necessary to have a separate flag for the ring format and for use of a
vector driver.

Remove the former flag and base all decisions off the vector flag. With
that done, we go from having only two paths to consider for releasing
all mbufs in the ring, not three. That allows further simplification of
the "ci_txq_release_all_mbufs" function.

The separate function to free buffers from the vector driver not using
the simplified ring format can similarly be removed as no longer
necessary.

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 ...


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

net/iavf: use common Tx queue mbuf cleanup

Adjust iavf driver to also use the common mbuf freeing functions on Tx
queue release/cleanup. The implementation is complicated a little by the
need to int

net/iavf: use common Tx queue mbuf cleanup

Adjust iavf driver to also use the common mbuf freeing functions on Tx
queue release/cleanup. The implementation is complicated a little by the
need to integrate the additional "has_ctx" parameter for the iavf code,
but changes in other drivers are minimal - just a constant "false"
parameter.

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 ...


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

net/intel: pack Tx queue structure

Move some fields about to better pack the Tx queue structure and make
sure all data used by the vector codepaths is on the first cacheline of
the structure. Checki

net/intel: pack Tx queue structure

Move some fields about to better pack the Tx queue structure and make
sure all data used by the vector codepaths is on the first cacheline of
the structure. Checking with "pahole" on 64-bit build, only one 6-byte
hole is left in the structure - on second cacheline - after this patch.

As part of the reordering, move the p/h/wthresh values to the
ixgbe-specific part of the union. That is the only driver which actually
uses those values. i40e and ice drivers just record the values for later
return, so we can drop them from the Tx queue structure for those
drivers and just report the defaults in all cases.

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 ...


# 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 ...


# 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 ...