On Fri, Nov 10, 2023 at 3:19 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Sun, 5 Nov 2023 18:44:07 -0800 Mina Almasry wrote: > > #include <net/net_debug.h> > > #include <net/dropreason-core.h> > > +#include <net/page_pool/types.h> > > +#include <net/page_pool/helpers.h> > > > /** > > * DOC: skb checksums > > @@ -3402,15 +3404,38 @@ static inline void skb_frag_off_copy(skb_frag_t *fragto, > > fragto->bv_offset = fragfrom->bv_offset; > > } > > > > +/* Returns true if the skb_frag contains a page_pool_iov. */ > > +static inline bool skb_frag_is_page_pool_iov(const skb_frag_t *frag) > > +{ > > + return page_is_page_pool_iov(frag->bv_page); > > +} > > Maybe we can create a new header? For skb + page pool. > > skbuff.h is included by 1/4th of the kernel objects, we should not > be adding dependencies to this header, it really slows down incremental > builds. > My issue here is that all these skb helpers call each other so I end up having to move a lot of the unrelated skb helpers to this new header (maybe that is acceptable but it feels weird). What I could do here is move all the page_pool_page|iov_* helpers to a minimal header, and include only that one from skbuff.h, rather than including all of net/page_pool/helpers.h -- Thanks, Mina