On Tue, May 20, 2025 at 10:32:05AM +0530, Krishna Kumar wrote: > This patch fixes an issue seen in a large-scale deployment under heavy > incoming pkts where the aRFS flow wrongly matches a flow and reprograms the > NIC with wrong settings. That mis-steering causes RX-path latency spikes > and noisy neighbor effects when many connections collide on the same has > (some of our production servers have 20-30K connections).
... > > Signed-off-by: Krishna Kumar <[email protected]> Hi Krishna, As a fix if this should probably have a Fixes tag. And it would be useful to denote the target tree in the subject. E.g. [PATCH iwl-net] ... > --- > drivers/net/ethernet/intel/ice/ice_arfs.c | 45 +++++++++++++++++++++++ > 1 file changed, 45 insertions(+) > > diff --git a/drivers/net/ethernet/intel/ice/ice_arfs.c > b/drivers/net/ethernet/intel/ice/ice_arfs.c > index 2bc5c7f59844..b36bd189bd64 100644 > --- a/drivers/net/ethernet/intel/ice/ice_arfs.c > +++ b/drivers/net/ethernet/intel/ice/ice_arfs.c > @@ -377,6 +377,47 @@ ice_arfs_is_perfect_flow_set(struct ice_hw *hw, __be16 > l3_proto, u8 l4_proto) > return false; > } > > +/** > + * ice_arfs_cmp - Check if aRFS filter matches this flow. > + * @fltr_info: filter info of the saved ARFS entry. > + * @fk: flow dissector keys. > + * n_proto: One of htons(IPv4) or htons(IPv6). > + * ip_proto: One of IPPROTO_TCP or IPPROTO_UDP. nit: A '@' is required to document function parameters. * @nproto: ... * @ip_proto: ... > + * > + * Since this function assumes limited values for n_proto and ip_proto, it > + * is meant to be called only from ice_rx_flow_steer(). Please also document the return value using "Return: " or "Returns: ". Flagged by ./scripts/kernel-doc -Wall -none > + */ ...
