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 |