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 |