函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\percpu.c Create Date:2022-07-27 15:50:58
Last Modify:2022-05-23 13:52:24 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:pcpu_free_area - frees the corresponding offset*@chunk: chunk of interest*@off: addr offset into chunk* This function determines the size of an allocation to free using* the boundary bitmap and clears the allocation map.

函数原型:static void pcpu_free_area(struct pcpu_chunk *chunk, int off)

返回类型:void

参数:

类型参数名称
struct pcpu_chunk *chunk
intoff
1245  chunk_md等于chunk_md
1248  lockdep_assert_held( & pcpu_lock)
1249  pcpu_stats_area_dealloc(chunk)
1251  oslot等于pcpu_chunk_slot(chunk)
1253  bit_off等于offPCPU_MIN_ALLOC_SIZE
1256  end等于在内存区域中找到下一个设置位
1258  bits等于endbit_off
1259  bitmap_clear( allocation map , bit_off, bits)
1262  free bytes in the chunk 加等于bitsPCPU_MIN_ALLOC_SIZE
1265  lock position of first free 等于两数取小(lock position of first free , bit_off)
1267  pcpu_block_update_hint_free - updates the block hints on the free path*@chunk: chunk of interest*@bit_off: chunk offset*@bits: size of request* Updates metadata for the allocation path. This avoids a blind block
1269  pcpu_chunk_relocate - put chunk in the appropriate chunk slot*@chunk: chunk of interest*@oslot: the previous slot it was on* This function is called after an allocation or free changed @chunk
调用者
名称描述
pcpu_allocpcpu_alloc - the percpu allocator*@size: size of area to allocate in bytes*@align: alignment of area (max PAGE_SIZE)*@reserved: allocate from the reserved chunk if available*@gfp: allocation flags* Allocate percpu area of @size bytes aligned at @align
free_percpu释放内存