pcpu_free_pages(9)
okay so bestie, this is the pcpu_free_pages(9) page from the Kernel API Manual π
β¨ no cap, itβs giving kernel-internals realness.
πΈ NAME πΈ
pcpu_free_pages β free pages which were allocated for @chunk π«Ά
β¨ SYNOPSIS β¨
void pcpu_free_pages (struct pcpu_chunk *chunk , struct page **pages ,
int page_start , int page_end );
π ARGUMENTS π
okay so hereβs the cast of characters, and yes they all matter:
chunkβ the chunk that those pages were allocated for, periodt.pagesβ the array of pages to be freed, indexed bypcpu_page_idxπpage_startβ page index of the first page to be freed β¨page_endβ page index of the last page to be freed + 1 π«Ά
π¦ DESCRIPTION π¦
literally what it says on the tin: it frees the pages in the range [page_start and page_end) inside pages, for all units. The pages were allocated for chunk. Thatβs the whole vibe check π
π SEE ALSO π
The kernel file is ./mm/percpu-vm.c, and the besties it points you at are:
pcpu_get_pages(9)pcpu_alloc_pages(9)pcpu_pre_unmap_flush(9)pcpu_unmap_pages(9)pcpu_post_unmap_tlb_flush(9)pcpu_map_pages(9)pcpu_post_map_flush(9)pcpu_populate_chunk(9)pcpu_depopulate_chunk(9)pcpu_should_reclaim_chunk(9)
mwah π β source/version: ./mm, date: October 2026 β okay bye bestie, stay iconic π«Άπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms