Jakub Kicinski wrote: > On Wed, 13 Nov 2024 16:24:23 +0100 Alexander Lobakin wrote: > > Part III does the following: > > * does some cleanups with marking read-only bpf_prog and xdp_buff > > arguments const for some generic functions; > > * allows attaching already registered XDP memory model to Rxq info; > > * allows mixing pages from several Page Pools within one XDP frame; > > * optimizes &xdp_frame structure and removes no-more-used field; > > * adds generic functions to build skbs from xdp_buffs (regular and > > XSk) and attach frags to xdp_buffs (regular and XSk); > > * adds helper to optimize XSk xmit in drivers; > > * extends libeth Rx to support XDP requirements (headroom etc.) on Rx; > > * adds libeth_xdp -- libeth module with common XDP and XSk routines. > > This clearly could be multiple series, please don't go over the limit. Targeting different subsystems and thus reviewers. The XDP, page_pool and AF_XDP changes might move faster on their own. If pulling those out into separate series, that also allows splitting up the last patch. That weighs in at 3481 LoC, out of 4400 for the series. The first 3 patches are not essential to IDFP XDP + AF_XDP either. The IDPF feature does not have to not depend on them. Does not matter for upstream, but for the purpose of backporting this to distro kernels, it helps if the driver feature minimizes dependency on core kernel API changes. If patch 19 can be made to work without some of the changes in 1..18, that makes it more robust from that PoV.