On Wed, 12 Jul 2023 20:34:12 +0800 Yunsheng Lin wrote: > >> C sources can include $path/page_pool.h, headers should generally only > >> include $path/page_pool/types.h. > > Does spliting the page_pool.h as above fix the problem about including > a ton of static inline functions from "linux/dma-mapping.h" in skbuff.c? > > As the $path/page_pool/helpers.h which uses dma_get_cache_alignment() > must include the "linux/dma-mapping.h" which has dma_get_cache_alignment() > defining as a static inline function. > and if skbuff.c include $path/page_pool.h or $path/page_pool/helpers.h, > doesn't we still have the same problem? Or do I misunderstand something > here? I should have clarified that "types.h" should also include pure function declarations (and possibly static line wrappers like pure get/set functions which only need locally defined types). The skbuff.h only needs to include $path/page_pool/types.h, right? I know that Olek has a plan to remove the skbuff dependency completely but functionally / for any future dependencies - this should work?