[Intel-wired-lan] [PATCH] ice: identify aRFS flows using L3/L4 dissector info

Arland, ArpanaX arpanax.arland at intel.com
Tue Apr 4 18:33:42 UTC 2023


> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of Zaki, Ahmed
> Sent: Wednesday, March 15, 2023 4:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH] ice: identify aRFS flows using L3/L4 dissector info
>
> The flow ID passed to ice_rx_flow_steer() is computed like this:
>
>   flow_id = skb_get_hash(skb) & flow_table->mask;
>
> With smaller aRFS tables (for example, size 256) and higher number of flows, there is a good chance of flow ID collisions where two or more different flows are using the same flow ID. This results in the aRFS destination queue constantly changing for all flows sharing that ID.
>
> Use the full L3/L4 flow dissector info to identify the steered flow instead of the passed flow ID.
>
> Fixes: 28bf26724fdb ("ice: Implement aRFS")
> Signed-off-by: Ahmed Zaki <ahmed.zaki at intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_arfs.c | 44 +++++++++++++++++++++--
>  1 file changed, 41 insertions(+), 3 deletions(-)
>

Tested-by: Arpana Arland <arpanax.arland at intel.com> (A Contingent worker at Intel)



More information about the Intel-wired-lan mailing list