Function report |
Source Code:mm\slob.c |
Create Date:2022-07-28 15:36:11 |
Last Modify:2022-05-20 09:26:42 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:slob_free: entry point into the slob allocator.
Proto:static void slob_free(void *block, int size)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
void * | block | |
int | size |
390 | If Value for the false possibility is greater at compile time(ZERO_OR_NULL_PTR(block)) Then Return |
394 | sp = virt_to_page(kaddr) returns a valid pointer if and only if* virt_addr_valid(kaddr) returns true.(block) |
395 | units = SLOB_UNITS(size) |
399 | If SLOB + units == SLOB_UNITS(PAGE_SIZE) Then |
410 | If Not slob_page_free: true for pages on free_slob_pages list. Then |
413 | first free object = b |
417 | If size < All partially free slob pages go on these lists. Then slob_list = free_slob_small |
419 | Else if size < SLOB_BREAK2 Then slob_list = free_slob_medium |
421 | Else slob_list = free_slob_large |
423 | set_slob_page_free(sp, slob_list) |
424 | Go to out |
433 | If b < first free object Then |
440 | Else |
441 | prev = first free object |
448 | If Not Returns true if s is the last free block in its page. && b + units == next Then |
454 | If prev + Return the size of a slob block. == b Then |
460 | out : |
Name | Describe |
---|---|
kfree | |
__kmem_cache_free |
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 |