Function report |
Source Code:mm\slub.c |
Create Date:2022-07-28 15:47:47 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Try to allocate a partial slab from a specific node.
Proto:static void *get_partial_node(struct kmem_cache *s, struct kmem_cache_node *n, struct kmem_cache_cpu *c, gfp_t flags)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct kmem_cache * | s | |
struct kmem_cache_node * | n | |
struct kmem_cache_cpu * | c | |
gfp_t | flags |
1840 | void * object = NULL |
1841 | available = 0 |
1850 | If Not n || Not nr_partial Then Return NULL |
1857 | If Not pfmemalloc_match(page, flags) Then Continue |
1860 | t = Remove slab from the partial list, freeze it and* return the pointer to the freelist.* Returns a list of objects or NULL if it fails. |
1861 | If Not t Then Break |
1865 | If Not object Then |
1869 | Else |
1870 | put_cpu_partial(s, page, 0) |
1873 | If Not kmem_cache_has_cpu_partial(s) || available > slub_cpu_partial(s) / 2 Then Break |
1878 | spin_unlock( & list_lock) |
1879 | Return object |
Name | Describe |
---|---|
get_any_partial | Get a page from somewhere. Search in increasing NUMA distances. |
get_partial | Get a partial page, lock it and return it. |
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 |