#
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 ...
|
#
10da6792 |
| 24-Jan-2025 |
Bruce Richardson <bruce.richardson@intel.com> |
net/i40e: 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
net/i40e: 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 (AVX2, SSE, Neon, Altivec) 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 ...
|
#
7c5d1d4d |
| 24-Jan-2025 |
Bruce Richardson <bruce.richardson@intel.com> |
net/i40e: use common Tx queue mbuf cleanup
Update driver to be similar to the "ice" driver and use the common mbuf ring cleanup code on shutdown of a Tx queue.
Signed-off-by: Bruce Richardson <bruc
net/i40e: use common Tx queue mbuf cleanup
Update driver to be similar to the "ice" driver and use the common mbuf ring cleanup code on shutdown of a Tx queue.
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 ...
|
#
e61679e7 |
| 24-Jan-2025 |
Bruce Richardson <bruce.richardson@intel.com> |
net/intel: align Tx queue struct field names
Across the various Intel drivers, sometimes different names are given to fields in the Tx queue structure which have the same function. Do some renaming
net/intel: align Tx queue struct field names
Across the various Intel drivers, sometimes different names are given to fields in the Tx queue structure which have the same function. Do some renaming in drivers to align things better for future merging.
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 ...
|