On Mon, Sep 2, 2024 at 5:09 AM Yunsheng Lin <linyunsheng@xxxxxxxxxx> wrote: > > Inspired by [1], move the page fragment allocator from page_alloc > into its own c file and header file, as we are about to make more > change for it to replace another page_frag implementation in > sock.c > > As this patchset is going to replace 'struct page_frag' with > 'struct page_frag_cache' in sched.h, including page_frag_cache.h > in sched.h has a compiler error caused by interdependence between > mm_types.h and mm.h for asm-offsets.c, see [2]. So avoid the compiler > error by moving 'struct page_frag_cache' to mm_types_task.h as > suggested by Alexander, see [3]. > > 1. https://lore.kernel.org/all/20230411160902.4134381-3-dhowells@xxxxxxxxxx/ > 2. https://lore.kernel.org/all/15623dac-9358-4597-b3ee-3694a5956920@xxxxxxxxx/ > 3. https://lore.kernel.org/all/CAKgT0UdH1yD=LSCXFJ=YM_aiA4OomD-2wXykO42bizaWMt_HOA@xxxxxxxxxxxxxx/ > CC: David Howells <dhowells@xxxxxxxxxx> > CC: Alexander Duyck <alexander.duyck@xxxxxxxxx> > Signed-off-by: Yunsheng Lin <linyunsheng@xxxxxxxxxx> > Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > include/linux/gfp.h | 22 --- > include/linux/mm_types.h | 18 --- > include/linux/mm_types_task.h | 18 +++ > include/linux/page_frag_cache.h | 31 ++++ > include/linux/skbuff.h | 1 + > mm/Makefile | 1 + > mm/page_alloc.c | 136 ---------------- > mm/page_frag_cache.c | 145 ++++++++++++++++++ > .../selftests/mm/page_frag/page_frag_test.c | 2 +- > 9 files changed, 197 insertions(+), 177 deletions(-) > create mode 100644 include/linux/page_frag_cache.h > create mode 100644 mm/page_frag_cache.c > Looks good to me. Reviewed-by: Alexander Duyck <alexanderduyck@xxxxxx>