Lorenzo Bianconi wrote: > Introduce xdp_update_skb_shared_info routine to update frags array > metadata in skb_shared_info data structure converting to a skb from > a xdp_buff or xdp_frame. > According to the current skb_shared_info architecture in > xdp_frame/xdp_buff and to the xdp multi-buff support, there is > no need to run skb_add_rx_frag() and reset frags array converting the buffer > to a skb since the frag array will be in the same position for xdp_buff/xdp_frame > and for the skb, we just need to update memory metadata. > Introduce XDP_FLAGS_PF_MEMALLOC flag in xdp_buff_flags in order to mark > the xdp_buff or xdp_frame as under memory-pressure if pages of the frags array > are under memory pressure. Doing so we can avoid looping over all fragments in > xdp_update_skb_shared_info routine. The driver is expected to set the > flag constructing the xdp_buffer using xdp_buff_set_frag_pfmemalloc > utility routine. > Rely on xdp_update_skb_shared_info in __xdp_build_skb_from_frame routine > converting the multi-buff xdp_frame to a skb after performing a XDP_REDIRECT. > > Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx>