H A D | percpu.c | 28 * There is special consideration for the first chunk which must handle 30 * are not online yet. In short, the first chunk is structured like so: 45 * The allocator tries to allocate from the fullest chunk first. Each chunk 50 * of the bitmap. The reverse mapping from page to chunk is stored in 54 * Each bit represents a fragment of size PCPU_MIN_ALLOC_SIZE. The chunk 66 * setup the first chunk containing the kernel static percpu area 146 /* the address of the first chunk which starts with the kernel static area */ 158 * The first chunk which always exists. Note that unlike other 165 * Optional reserved chunk 215 pcpu_addr_in_chunk(struct pcpu_chunk * chunk,void * addr) pcpu_addr_in_chunk() argument 242 pcpu_chunk_slot(const struct pcpu_chunk * chunk) pcpu_chunk_slot() argument 275 pcpu_chunk_addr(struct pcpu_chunk * chunk,unsigned int cpu,int page_idx) pcpu_chunk_addr() argument 286 pcpu_index_alloc_map(struct pcpu_chunk * chunk,int index) pcpu_index_alloc_map() argument 365 pcpu_next_md_free_region(struct pcpu_chunk * chunk,int * bit_off,int * bits) pcpu_next_md_free_region() argument 420 pcpu_next_fit_region(struct pcpu_chunk * chunk,int alloc_bits,int align,int * bit_off,int * bits) pcpu_next_fit_region() argument 477 pcpu_for_each_md_free_region(chunk,bit_off,bits) global() argument 483 pcpu_for_each_fit_region(chunk,alloc_bits,align,bit_off,bits) global() argument 526 __pcpu_chunk_move(struct pcpu_chunk * chunk,int slot,bool move_front) __pcpu_chunk_move() argument 537 pcpu_chunk_move(struct pcpu_chunk * chunk,int slot) pcpu_chunk_move() argument 555 pcpu_chunk_relocate(struct pcpu_chunk * chunk,int oslot) pcpu_chunk_relocate() argument 567 pcpu_isolate_chunk(struct pcpu_chunk * chunk) pcpu_isolate_chunk() argument 578 pcpu_reintegrate_chunk(struct pcpu_chunk * chunk) pcpu_reintegrate_chunk() argument 598 pcpu_update_empty_pages(struct pcpu_chunk * chunk,int nr) pcpu_update_empty_pages() argument 712 pcpu_block_update_scan(struct pcpu_chunk * chunk,int bit_off,int bits) pcpu_block_update_scan() argument 745 pcpu_chunk_refresh_hint(struct pcpu_chunk * chunk,bool full_scan) pcpu_chunk_refresh_hint() argument 774 pcpu_block_refresh_hint(struct pcpu_chunk * chunk,int index) pcpu_block_refresh_hint() argument 808 pcpu_block_update_hint_alloc(struct pcpu_chunk * chunk,int bit_off,int bits) pcpu_block_update_hint_alloc() argument 963 pcpu_block_update_hint_free(struct pcpu_chunk * chunk,int bit_off,int bits) pcpu_block_update_hint_free() argument 1073 pcpu_is_populated(struct pcpu_chunk * chunk,int bit_off,int bits,int * next_off) pcpu_is_populated() argument 1110 pcpu_find_block_fit(struct pcpu_chunk * chunk,int alloc_bits,size_t align,bool pop_only) pcpu_find_block_fit() argument 1216 pcpu_alloc_area(struct pcpu_chunk * chunk,int alloc_bits,size_t align,int start) pcpu_alloc_area() argument 1276 pcpu_free_area(struct pcpu_chunk * chunk,int off) pcpu_free_area() argument 1319 pcpu_init_md_blocks(struct pcpu_chunk * chunk) pcpu_init_md_blocks() argument 1348 struct pcpu_chunk *chunk; pcpu_alloc_first_chunk() local 1440 struct pcpu_chunk *chunk; pcpu_alloc_chunk() local 1497 pcpu_free_chunk(struct pcpu_chunk * chunk) pcpu_free_chunk() argument 1520 pcpu_chunk_populated(struct pcpu_chunk * chunk,int page_start,int page_end) pcpu_chunk_populated() argument 1544 pcpu_chunk_depopulated(struct pcpu_chunk * chunk,int page_start,int page_end) pcpu_chunk_depopulated() argument 1643 pcpu_memcg_post_alloc_hook(struct obj_cgroup * objcg,struct pcpu_chunk * chunk,int off,size_t size) pcpu_memcg_post_alloc_hook() argument 1662 pcpu_memcg_free_hook(struct pcpu_chunk * chunk,int off,size_t size) pcpu_memcg_free_hook() argument 1692 pcpu_memcg_post_alloc_hook(struct obj_cgroup * objcg,struct pcpu_chunk * chunk,int off,size_t size) pcpu_memcg_post_alloc_hook() argument 1697 pcpu_memcg_free_hook(struct pcpu_chunk * chunk,int off,size_t size) pcpu_memcg_free_hook() argument 1703 pcpu_alloc_tag_alloc_hook(struct pcpu_chunk * chunk,int off,size_t size) pcpu_alloc_tag_alloc_hook() argument 1712 pcpu_alloc_tag_free_hook(struct pcpu_chunk * chunk,int off,size_t size) pcpu_alloc_tag_free_hook() argument 1718 pcpu_alloc_tag_alloc_hook(struct pcpu_chunk * chunk,int off,size_t size) pcpu_alloc_tag_alloc_hook() argument 1723 pcpu_alloc_tag_free_hook(struct pcpu_chunk * chunk,int off,size_t size) pcpu_alloc_tag_free_hook() argument 1751 struct pcpu_chunk *chunk, *next; pcpu_alloc_noprof() local 1957 struct pcpu_chunk *chunk, *next; pcpu_balance_free() local 2011 struct pcpu_chunk *chunk; pcpu_balance_populated() local 2102 struct pcpu_chunk *chunk; pcpu_reclaim_populated() local 2231 struct pcpu_chunk *chunk; free_percpu() local [all...] |