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 |