Function report |
Source Code:kernel\cgroup\cpuset.c |
Create Date:2022-07-28 11:16:25 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:pdate_parent_subparts_cpumask - update subparts_cpus mask of parent cpuset*@cpuset: The cpuset that requests change in partition root state*@cmd: Partition root state change command*@newmask: Optional new cpumask for partcmd_update*@tmp: Temporary addmask
Proto:static int update_parent_subparts_cpumask(struct cpuset *cpuset, int cmd, struct cpumask *newmask, struct tmpmasks *tmp)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct cpuset * | cpuset | |
| int | cmd | |
| struct cpumask * | newmask | |
| struct tmpmasks * | tmp |
| 1124 | bool part_error = false |
| 1126 | percpu_rwsem_assert_held( & cpuset_rwsem) |
| 1159 | If cmd == Enable partition root Then |
| 1162 | Else if cmd == Disable partition root Then |
| 1165 | Else if newmask Then |
| 1174 | deleting = pumask_and - *dstp = *src1p & *src2p*@dstp: the cpumask result*@src1p: the first input*@src2p: the second input* If *@dstp is empty, returns 0, else returns 1 |
| 1178 | adding = pumask_andnot - *dstp = *src1p & ~*src2p*@dstp: the cpumask result*@src1p: the first input*@src2p: the second input* If *@dstp is empty, returns 0, else returns 1 |
| 1197 | Else |
| 1213 | If cmd == Update parent's subparts_cpus Then |
| 1214 | prev_prs = partition root state |
| 1221 | Case partition root state == PRS_ENABLED |
| 1222 | If part_error Then partition root state = PRS_ERROR |
| 1224 | Break |
| 1225 | Case partition root state == PRS_ERROR |
| 1226 | If Not part_error Then partition root state = PRS_ENABLED |
| 1228 | Break |
| 1233 | part_error = prev_prs == PRS_ERROR |
| 1236 | If Not part_error && partition root state == PRS_ERROR Then Return 0 |
| 1239 | If partition root state == PRS_ERROR Then |
| 1243 | adding = false |
| 1256 | spin_lock_irq( & callback_lock) |
| 1257 | If adding Then |
| 1263 | If deleting Then |
| 1274 | number of CPUs in subparts_cpus = pumask_weight - Count of bits in *srcp*@srcp: the cpumask to count bits (< nr_cpu_ids) in. |
| 1275 | spin_unlock_irq( & callback_lock) |
| 1277 | Return cmd == Update parent's subparts_cpus |
| Name | Describe |
|---|---|
| update_cpumasks_hier | pdate_cpumasks_hier - Update effective cpumasks and tasks in the subtree*@cs: the cpuset to consider*@tmp: temp variables for calculating effective_cpus & partition setup* When congifured cpumask is changed, the effective cpumasks of this cpuset |
| update_cpumask | pdate_cpumask - update the cpus_allowed mask of a cpuset and all tasks in it*@cs: the cpuset to consider*@trialcs: trial cpuset*@buf: buffer of cpu numbers written to this cpuset |
| update_prstate | pdate_prstate - update partititon_root_state* Call with cpuset_mutex held. |
| cpuset_hotplug_update_tasks | puset_hotplug_update_tasks - update tasks in a cpuset for hotunplug*@cs: cpuset in interest*@tmp: the tmpmasks structure pointer* Compare @cs's cpu and mem masks against top_cpuset and if some have gone* offline, update @cs accordingly |
| 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 |