Function report |
Source Code:mm\percpu.c |
Create Date:2022-07-28 14:26:11 |
| Last Modify:2022-05-23 13:52:24 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:pcpu_block_update_hint_alloc - update hint on allocation path*@chunk: chunk of interest*@bit_off: chunk offset*@bits: size of request* Updates metadata for the allocation path. The metadata only has to be
Proto:static void pcpu_block_update_hint_alloc(struct pcpu_chunk *chunk, int bit_off, int bits)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct pcpu_chunk * | chunk | |
| int | bit_off | |
| int | bits |
| 788 | nr_empty_pages = 0 |
| 800 | e_index = pcpu_off_to_block_index(bit_off + bits - 1) |
| 801 | s_off = pcpu_off_to_block_off(bit_off) |
| 802 | e_off = pcpu_off_to_block_off(bit_off + bits - 1) + 1 |
| 804 | s_block = metadata blocks + s_index |
| 805 | e_block = metadata blocks + e_index |
| 813 | If contig hint for block == PCPU_BITMAP_BLOCK_BITS Then nr_empty_pages++ |
| 816 | If s_off == lock position of first free Then lock position of first free = Find the next zero bit in a memory region. |
| 834 | If Not s_off Then size of free space alongthe left side of the block = 0 |
| 837 | Else |
| 843 | Else size of free space alongthe right side of the block = 0 |
| 851 | If contig hint for block == PCPU_BITMAP_BLOCK_BITS Then nr_empty_pages++ |
| 862 | If e_off == PCPU_BITMAP_BLOCK_BITS Then |
| 864 | e_block++ |
| 865 | Else |
| 866 | If e_off > lock relative startingposition of the scan hint Then scan hint for block = 0 |
| 870 | If e_off > lock relative startingposition of the contig hint Then |
| 873 | Else |
| 881 | nr_empty_pages += e_index - s_index - 1 |
| Name | Describe |
|---|---|
| pcpu_alloc_area | 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 |
| pcpu_alloc_first_chunk | pcpu_alloc_first_chunk - creates chunks that serve the first chunk*@tmp_addr: the start of the region served*@map_size: size of the region served* This is responsible for creating the chunks that serve the first chunk |
| 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 |