Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slub.c Create Date:2022-07-28 15:47:11
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Interrupts must be disabled (for the fallback code to work right)

Proto:static inline bool __cmpxchg_double_slab(struct kmem_cache *s, struct page *page, void *freelist_old, unsigned long counters_old, void *freelist_new, unsigned long counters_new, const char *n)

Type:bool

Parameter:

TypeParameterName
struct kmem_cache *s
struct page *page
void *freelist_old
unsigned longcounters_old
void *freelist_new
unsigned longcounters_new
const char *n
368  VM_BUG_ON(!Some architectures don't define arch_irqs_disabled(), so even if either* definition would be fine we need to use different ones for the time being* to avoid build issues.())
379  Per slab locking using the pagelock
384  slab_unlock(page)
385  Return true
387  slab_unlock(page)
390  cpu_relax()
391  stat(s, Number of times that cmpxchg double did not match )
397  Return false
Caller
NameDescribe
acquire_slabRemove slab from the partial list, freeze it and* return the pointer to the freelist.* Returns a list of objects or NULL if it fails.
deactivate_slabRemove the cpu slab
get_freelistCheck the page->freelist of a page and either transfer the freelist to the* per cpu freelist or deactivate the page.* The page is still frozen if the return value is not NULL.* If this function returns NULL then the page has been unfrozen.