函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:pdate_nodemasks_hier - Update effective nodemasks and tasks in the subtree*@cs: the cpuset to consider*@new_mems: a temp variable for calculating new effective_mems* When configured nodemask is changed, the effective nodemasks of this cpuset

函数原型:static void update_nodemasks_hier(struct cpuset *cs, nodemask_t *new_mems)

返回类型:void

参数:

类型参数名称
struct cpuset *cs
nodemask_t *new_mems
1711  _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
1712  cpuset_for_each_descendant_pre - pre-order walk of a cpuset's descendants*@des_cs: loop cursor pointing to the current descendant*@pos_css: used for iteration*@root_cs: target cpuset to walk ancestor of(cp, pos_css, cs)
1713  parent等于parent_cs(cp)
1715  nodes_and( * new_mems, mems_allowed, effective_mems)
1721  如果Cgroup v2 behavior is used when on default hierarchy or the* cgroup_v2_mode flag is set.nodes_empty( * new_mems)则new_mems等于effective_mems
1725  如果nodes_equal( * new_mems, effective_mems)则
1727  继续下一循环
1730  如果非ss_tryget_online - try to obtain a reference on the specified css if online*@css: target css* Obtain a reference on @css if it's online则继续下一循环
1732  _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()
1734  spin_lock_irq( & callback_lock)
1735  effective_mems等于new_mems
1736  spin_unlock_irq( & callback_lock)
1738  WARN_ON(!Cgroup v2 behavior is used when on default hierarchy or the* cgroup_v2_mode flag is set. && !nodes_equal(mems_allowed, effective_mems))
1741  pdate_tasks_nodemask - Update the nodemasks of tasks in the cpuset.*@cs: the cpuset in which each task's mems_allowed mask needs to be changed* Iterate through each task of @cs updating its mems_allowed to the* effective cpuset's
1743  _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
1744  设置一个css引用
1746  _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()
调用者
名称描述
update_nodemaskHandle user request to change the 'mems' memory placement* of a cpuset