On Thu, May 16, 2024 at 09:27:13AM +0100, Simon Horman wrote: > On Wed, May 15, 2024 at 06:02:16PM +0200, Larysa Zaremba wrote: > > ice_pf_dcb_recfg() re-maps queues to vectors with > > ice_vsi_map_rings_to_vectors(), which does not restore the previous > > state for XDP queues. This leads to no AF_XDP traffic after rebuild. > > > > Map XDP queues to vectors in ice_vsi_map_rings_to_vectors(). > > Also, move the code around, so XDP queues are mapped independently only > > through .ndo_bpf(). > > Hi Larysa, > > I take it the last sentence refers to the placement of ice_map_xdp_rings() > in ice_prepare_xdp_rings() after rather than before the > (cfg_type == ICE_XDP_CFG_PART) condition. > > If so, I see that it is a small change. But I do wonder if it is separate > from fixing the issue described in the first paragraph. And thus would > be better as a separate patch. This is not neccessary for the fix to work, but I think this is intergral to making the change properly. I mean, before the change in the rebuild path we map XDP rings to vectors only once and after the change we do this only once, just previously it was in ice_prepare_xdp_rings() and now it is in ice_vsi_map_rings_to_vectors(). > > Also, (I'm raising a separate issue :) breaking out logic into > ice_xdp_ring_from_qid() seems very nice. But I wonder if this ought to be > part of a cleanup-patch for 'iwl' rather than a fixes patch for 'iwl-next'. > I have separated this into a separate function, because 2 lines exceeded 80 characters, which is not in line with our current style for drivers. And I do not think that this small function creates any more additional potentian applying problems for this patch. And the change is small enough to see that the logic stays the same. > OTOH, I do see that breaking out ice_map_xdp_rings() makes sense in the > context of this fix as the same logic is to be called in two places. > > Splitting patches aside, the resulting code looks good to me. > > ... >