函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\cgroup\cpuset.c Create Date:2022-07-27 12:20:09
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:puset_node_allowed - Can we allocate on a memory node?*@node: is this an allowed node?*@gfp_mask: memory allocation flags* If we're in interrupt, yes, we can always allocate. If @node is set in* current's mems_allowed, yes

函数原型:bool __cpuset_node_allowed(int node, gfp_t gfp_mask)

返回类型:bool

参数:

类型参数名称
intnode
gfp_tgfp_mask
3421  如果in_interrupt()则返回:true
3423  如果No static inline type checking - see Subtlety (1) above. (node, mems_allowed)则返回:true
3429  如果此条件成立可能性小(为编译器优化)(tsk_is_oom_victim(当前进程))则返回:true
3431  如果gfp_mask按位与__GFP_HARDWALL则返回:false
3434  如果flags按位与Getting shut down 则返回:true
3438  spin_lock_irqsave( & callback_lock, flags)
3440  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
3441  cs等于arest_hardwall_ancestor() - Returns the nearest mem_exclusive or* mem_hardwall ancestor to the specified cpuset. Call holding* callback_lock. If no ancestor is mem_exclusive or mem_hardwall* (an unusual configuration), then returns the root cpuset.
3442  allowed等于No static inline type checking - see Subtlety (1) above. (node, mems_allowed)
3443  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
3445  spin_unlock_irqrestore( & callback_lock, flags)
3446  返回:allowed