| Function report | 
| Source Code: mm\z3fold.c | Create Date:2022-07-28 16:30:13 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:z3fold_free() - frees the allocation associated with the given handle*@pool: pool in which the allocation resided*@handle: handle associated with the allocation returned by z3fold_alloc()* In the case that the z3fold page in which the allocation resides
Proto:static void z3fold_free(struct z3fold_pool *pool, unsigned long handle)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct z3fold_pool * | pool | |
| unsigned long | handle | 
| 1229 | page = virt_to_page(kaddr) returns a valid pointer if and only if* virt_addr_valid(kaddr) returns true.(zhdr) | 
| 1230 | page_claimed = st_and_set_bit - Set a bit and return its old value*@nr: Bit to set*@addr: Address to count from* This is an atomic fully-ordered operation (implied full memory barrier). | 
| 1238 | If Not page_claimed Then | 
| 1246 | Return | 
| 1250 | bud = (handle & BUDDY_MASK) < zhdr->first_num is possible in encode_handle* but that doesn't matter. because the masking will result in the* correct buddy number. | 
| 1254 | first_chunks = 0 | 
| 1255 | Break | 
| 1257 | middle_chunks = 0 | 
| 1258 | Break | 
| 1260 | last_chunks = 0 | 
| 1261 | Break | 
| 1262 | Default | 
| 1270 | If Not page_claimed Then free_handle(handle) | 
| 1273 | atomic64_dec( & pages_nr) | 
| 1274 | Return | 
| 1276 | If page_claimed Then | 
| 1278 | Unlock a z3fold page | 
| 1279 | Return | 
| 1283 | put_z3fold_header(zhdr) | 
| 1285 | Return | 
| 1287 | If cpu < 0 || Not cpu_online(cpu) Then | 
| 1300 | put_z3fold_header(zhdr) | 
| Name | Describe | 
|---|---|
| z3fold_zpool_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 |