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 |