| Function report | 
| Source Code: mm\percpu.c | Create Date:2022-07-28 14:26:29 | 
| Last Modify:2022-05-23 13:52:24 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:pcpu_alloc_area - allocates an area from a pcpu_chunk*@chunk: chunk of interest*@alloc_bits: size of request in allocation units*@align: alignment of area (max PAGE_SIZE)*@start: bit_off to start searching* This function takes in a @start offset to begin
Proto:static int pcpu_alloc_area(struct pcpu_chunk *chunk, int alloc_bits, size_t align, int start)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct pcpu_chunk * | chunk | |
| int | alloc_bits | |
| size_t | align | |
| int | start | 
| 1190 | align_mask = If align Then align - 1 Else 0 | 
| 1194 | lockdep_assert_held( & pcpu_lock) | 
| 1196 | oslot = pcpu_chunk_slot(chunk) | 
| 1212 | bitmap_set( allocation map , bit_off, alloc_bits) | 
| 1216 | bitmap_clear( boundary map , bit_off + 1, alloc_bits - 1) | 
| 1222 | If bit_off == lock position of first free Then lock position of first free = Find the next zero bit in a memory region. | 
| 1232 | Return bit_off * PCPU_MIN_ALLOC_SIZE | 
| Name | Describe | 
|---|---|
| pcpu_alloc | pcpu_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 | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |