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 |