On Mon, Sep 2, 2024 at 5:09 AM Yunsheng Lin linyunsheng@huawei.com 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].
- https://lore.kernel.org/all/20230411160902.4134381-3-dhowells@redhat.com/
- https://lore.kernel.org/all/15623dac-9358-4597-b3ee-3694a5956920@gmail.com/
- https://lore.kernel.org/all/CAKgT0UdH1yD=LSCXFJ=YM_aiA4OomD-2wXykO42bizaWMt_...
CC: David Howells dhowells@redhat.com CC: Alexander Duyck alexander.duyck@gmail.com Signed-off-by: Yunsheng Lin linyunsheng@huawei.com Acked-by: Andrew Morton akpm@linux-foundation.org
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@fb.com