| Function report | 
| Source Code: mm\z3fold.c | Create Date:2022-07-28 16:29:52 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:rns _locked_ z3fold page header or NULL
Proto:static inline struct z3fold_header *__z3fold_alloc(struct z3fold_pool *pool, size_t size, bool can_sleep)
Type:struct z3fold_header
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct z3fold_pool * | pool | |
| size_t | size | |
| bool | can_sleep | 
| 881 | struct z3fold_header * zhdr = NULL | 
| 886 | lookup : | 
| 888 | unbuddied = get_cpu_ptr(unbuddied) | 
| 895 | If Not zhdr Then Continue | 
| 904 | spin_unlock( & lock) | 
| 905 | zhdr = NULL | 
| 906 | put_cpu_ptr(unbuddied) | 
| 907 | If can_sleep Then cond_resched() | 
| 909 | Go to lookup | 
| 912 | cpu = -1 | 
| 913 | spin_unlock( & lock) | 
| 915 | page = virt_to_page(kaddr) returns a valid pointer if and only if* virt_addr_valid(kaddr) returns true.(zhdr) | 
| 933 | Break | 
| 935 | put_cpu_ptr(unbuddied) | 
| 937 | If Not zhdr Then | 
| 941 | for_each_online_cpu(cpu) | 
| 944 | unbuddied = per_cpu_ptr(unbuddied, cpu) | 
| 951 | If Not zhdr || Not Try to lock a z3fold page Then | 
| 957 | cpu = -1 | 
| 958 | spin_unlock( & lock) | 
| 960 | page = virt_to_page(kaddr) returns a valid pointer if and only if* virt_addr_valid(kaddr) returns true.(zhdr) | 
| 970 | Break | 
| 974 | Return zhdr | 
| Name | Describe | 
|---|---|
| compact_single_buddy | |
| z3fold_alloc | z3fold_alloc() - allocates a region of a given size*@pool: z3fold pool from which to allocate*@size: size in bytes of the desired allocation*@gfp: gfp flags used if the pool needs to grow*@handle: handle of the new allocation* This function will attempt | 
| 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 |