Function report |
Source Code:kernel\workqueue.c |
Create Date:2022-07-28 09:26:14 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:When queueing an unbound work item to a wq, prefer local CPU if allowed* by wq_unbound_cpumask. Otherwise, round robin among the allowed ones to* avoid perturbing sensitive tasks.
Proto:static int wq_select_unbound_cpu(int cpu)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
int | cpu |
1366 | If Value is more likely to compile time(!wq_debug_force_rr_cpu) Then |
1369 | Else if Not printed_dbg_warning Then |
1370 | pr_warn("workqueue: round-robin CPU selection forced, expect performance impact\n") |
1371 | printed_dbg_warning = true |
1374 | If pumask_empty - *srcp == 0*@srcp: the cpumask to that all cpus < nr_cpu_ids are clear. Then Return cpu |
1378 | new_cpu = cpumask_next_and(new_cpu, PL: allowable cpus for unbound wqs and work items , cpu_online_mask) |
1379 | If Value for the false possibility is greater at compile time(new_cpu >= nr_cpu_ids) Then |
1381 | If Value for the false possibility is greater at compile time(new_cpu >= nr_cpu_ids) Then Return cpu |
1384 | __this_cpu_write(CPU where unbound work was last round robin scheduled from this CPU , new_cpu) |
1386 | Return new_cpu |
Name | Describe |
---|---|
__queue_work |
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 |