Function report |
Source Code:mm\slab.c |
Create Date:2022-07-28 15:45:22 |
| Last Modify:2022-05-23 17:02:55 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Fallback function if there was no memory available and no objects on a* certain node and fall back is permitted. First we scan all the* available node for available objects. If that fails then we* perform an allocation without specifying a node
Proto:static void *fallback_alloc(struct kmem_cache *cache, gfp_t flags)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct kmem_cache * | cache | |
| gfp_t | flags |
| 3157 | high_zoneidx = gfp_zone(flags) |
| 3158 | void * obj = NULL |
| 3163 | If flags & __GFP_THISNODE Then Return NULL |
| 3166 | retry_cpuset : |
| 3170 | retry : |
| 3176 | nid = zone_to_nid(zone) |
| 3178 | If cpuset_zone_allowed(zone, flags) && get_node(cache, nid) && free_objects Then |
| 3183 | If obj Then Break |
| 3188 | If Not obj Then |
| 3195 | page = Grow (by 1) the number of slabs within a cache. This is called by* kmem_cache_alloc() when there are no active objs left in a cache. |
| 3196 | cache_grow_end(cache, page) |
| 3197 | If page Then |
| 3198 | nid = page_to_nid(page) |
| 3211 | If Value for the false possibility is greater at compile time(!obj && read_mems_allowed_retry(cpuset_mems_cookie)) Then Go to retry_cpuset |
| 3213 | Return obj |
| Name | Describe |
|---|---|
| ____cache_alloc_node | A interface to enable slab creation on nodeid |
| slab_alloc_node |
| 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 |