| /linux-6.15/kernel/bpf/ |
| H A D | cpumask.c | 26 cpumask_t cpumask; member 61 if (!cpumask) in bpf_cpumask_create() 64 memset(cpumask, 0, sizeof(*cpumask)); in bpf_cpumask_create() 67 return cpumask; in bpf_cpumask_create() 86 return cpumask; in bpf_cpumask_acquire() 121 __bpf_kfunc u32 bpf_cpumask_first(const struct cpumask *cpumask) in bpf_cpumask_first() argument 170 cpumask_set_cpu(cpu, (struct cpumask *)cpumask); in bpf_cpumask_set_cpu() 183 cpumask_clear_cpu(cpu, (struct cpumask *)cpumask); in bpf_cpumask_clear_cpu() 200 return cpumask_test_cpu(cpu, (struct cpumask *)cpumask); in bpf_cpumask_test_cpu() 244 cpumask_setall((struct cpumask *)cpumask); in bpf_cpumask_setall() [all …]
|
| /linux-6.15/tools/testing/selftests/bpf/progs/ |
| H A D | cpumask_common.h | 34 u32 bpf_cpumask_first(const struct cpumask *cpumask) __ksym __weak; 35 u32 bpf_cpumask_first_zero(const struct cpumask *cpumask) __ksym __weak; 40 bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __ksym __weak; 57 bool bpf_cpumask_empty(const struct cpumask *cpumask) __ksym __weak; 58 bool bpf_cpumask_full(const struct cpumask *cpumask) __ksym __weak; 63 u32 bpf_cpumask_weight(const struct cpumask *cpumask) __ksym __weak; 69 static inline const struct cpumask *cast(struct bpf_cpumask *cpumask) in cast() argument 71 return (const struct cpumask *)cpumask; in cast() 79 if (!cpumask) { in create_cpumask() 90 return cpumask; in create_cpumask() [all …]
|
| H A D | cpumask_success.c | 146 cpumask = create_cpumask(); in BPF_PROG() 147 if (!cpumask) in BPF_PROG() 162 cpumask = create_cpumask(); in BPF_PROG() 163 if (!cpumask) in BPF_PROG() 192 if (!cpumask) in BPF_PROG() 221 if (!cpumask) in BPF_PROG() 292 if (!cpumask) in BPF_PROG() 464 if (!cpumask) in BPF_PROG() 480 if (!cpumask) in BPF_PROG() 494 cpumask = bpf_kptr_xchg(&v->cpumask, NULL); in BPF_PROG() [all …]
|
| H A D | cpumask_failure.c | 38 struct bpf_cpumask *cpumask; in BPF_PROG() local 40 cpumask = create_cpumask(); in BPF_PROG() 41 __sink(cpumask); in BPF_PROG() 51 struct bpf_cpumask *cpumask; in BPF_PROG() local 53 cpumask = create_cpumask(); in BPF_PROG() 56 bpf_cpumask_release(cpumask); in BPF_PROG() 66 struct bpf_cpumask *cpumask; in BPF_PROG() local 70 __sink(cpumask); in BPF_PROG() 92 cpumask = create_cpumask(); in BPF_PROG() 93 if (!cpumask) in BPF_PROG() [all …]
|
| /linux-6.15/include/linux/ |
| H A D | cpumask.h | 585 bool cpumask_test_cpu(int cpu, const struct cpumask *cpumask) in cpumask_test_cpu() argument 600 bool cpumask_test_and_set_cpu(int cpu, struct cpumask *cpumask) in cpumask_test_and_set_cpu() argument 615 bool cpumask_test_and_clear_cpu(int cpu, struct cpumask *cpumask) in cpumask_test_and_clear_cpu() argument 651 bool cpumask_and(struct cpumask *dstp, const struct cpumask *src1p, in cpumask_and() 665 void cpumask_or(struct cpumask *dstp, const struct cpumask *src1p, in cpumask_or() 679 void cpumask_xor(struct cpumask *dstp, const struct cpumask *src1p, in cpumask_xor() 695 bool cpumask_andnot(struct cpumask *dstp, const struct cpumask *src1p, in cpumask_andnot() 710 bool cpumask_equal(const struct cpumask *src1p, const struct cpumask *src2p) in cpumask_equal() 726 bool cpumask_or_equal(const struct cpumask *src1p, const struct cpumask *src2p, in cpumask_or_equal() 756 bool cpumask_subset(const struct cpumask *src1p, const struct cpumask *src2p) in cpumask_subset() [all …]
|
| H A D | pm_opp.h | 194 int dev_pm_opp_set_sharing_cpus(struct device *cpu_dev, const struct cpumask *cpumask); 195 int dev_pm_opp_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpumask); 197 void dev_pm_opp_cpumask_remove_table(const struct cpumask *cpumask); 439 static inline int dev_pm_opp_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpumask) in dev_pm_opp_get_sharing_cpus() argument 448 static inline void dev_pm_opp_cpumask_remove_table(const struct cpumask *cpumask) in dev_pm_opp_cpumask_remove_table() argument 480 int dev_pm_opp_of_cpumask_add_table(const struct cpumask *cpumask); 481 void dev_pm_opp_of_cpumask_remove_table(const struct cpumask *cpumask); 482 int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpumask); 520 static inline int dev_pm_opp_of_cpumask_add_table(const struct cpumask *cpumask) in dev_pm_opp_of_cpumask_add_table() argument 525 static inline void dev_pm_opp_of_cpumask_remove_table(const struct cpumask *cpumask) in dev_pm_opp_of_cpumask_remove_table() argument [all …]
|
| H A D | stop_machine.h | 38 void stop_machine_yield(const struct cpumask *cpumask); 114 int stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus); 125 int stop_machine_cpuslocked(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus); 144 const struct cpumask *cpus); 148 const struct cpumask *cpus) in stop_machine_cpuslocked() 159 stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus) in stop_machine() 166 const struct cpumask *cpus) in stop_machine_from_inactive_cpu()
|
| H A D | nmi.h | 25 extern struct cpumask watchdog_cpumask; 168 static inline bool trigger_cpumask_backtrace(struct cpumask *mask) in trigger_cpumask_backtrace() 195 static inline bool trigger_cpumask_backtrace(struct cpumask *mask) in trigger_cpumask_backtrace() 222 void nmi_backtrace_stall_snap(const struct cpumask *btp); 223 void nmi_backtrace_stall_check(const struct cpumask *btp); 225 static inline void nmi_backtrace_stall_snap(const struct cpumask *btp) {} in nmi_backtrace_stall_snap() 226 static inline void nmi_backtrace_stall_check(const struct cpumask *btp) {} in nmi_backtrace_stall_check()
|
| /linux-6.15/Documentation/bpf/ |
| H A D | cpumasks.rst | 6 BPF cpumask kfuncs 21 2. BPF cpumask objects 32 to a ``struct cpumask *``. 102 if (!cpumask) 158 kptr = v->cpumask; 177 2.2 ``struct cpumask`` 180 ``struct cpumask`` is the object that actually contains the cpumask bitmap 188 cpumask will instead take a ``struct cpumask *``. 190 3. cpumask kfuncs 376 4. Adding BPF cpumask kfuncs [all …]
|
| /linux-6.15/tools/sched_ext/include/scx/ |
| H A D | common.bpf.h | 78 void scx_bpf_put_cpumask(const struct cpumask *cpumask) __ksym __weak; 83 void scx_bpf_put_idle_cpumask(const struct cpumask *cpumask) __ksym; 339 u32 bpf_cpumask_first(const struct cpumask *cpumask) __ksym; 340 u32 bpf_cpumask_first_zero(const struct cpumask *cpumask) __ksym; 343 bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __ksym; 354 bool bpf_cpumask_equal(const struct cpumask *src1, const struct cpumask *src2) __ksym; 356 bool bpf_cpumask_subset(const struct cpumask *src1, const struct cpumask *src2) __ksym; 357 bool bpf_cpumask_empty(const struct cpumask *cpumask) __ksym; 358 bool bpf_cpumask_full(const struct cpumask *cpumask) __ksym; 360 u32 bpf_cpumask_any_distribute(const struct cpumask *cpumask) __ksym; [all …]
|
| /linux-6.15/Documentation/translations/zh_CN/core-api/ |
| H A D | padata.rst | 57 cpumask_var_t cpumask); 60 行cpumask描述了哪些处理器将被用来并行执行提交给这个实例的作业,串行cpumask 61 定义了哪些处理器被允许用作串行化回调处理器。 cpumask指定了要使用的新cpumask。 65 和serial_cpumask,任何一个cpumask都可以通过在文件中回显(echo)一个bitmask 70 读取其中一个文件会显示用户提供的cpumask,它可能与“可用”的cpumask不同。 72 Padata内部维护着两对cpumask,用户提供的cpumask和“可用的”cpumask(每一对由一个 73 并行和一个串行cpumask组成)。用户提供的cpumasks在实例分配时默认为所有可能的CPU, 76 供一个包含离线CPU的cpumask是合法的。一旦用户提供的cpumask中的一个离线CPU上线, 104 在其他地方正在搞乱实例的CPU掩码,而当cb_cpu不在串行cpumask中、并行或串行cpumasks
|
| /linux-6.15/drivers/opp/ |
| H A D | cpu.c | 108 void _dev_pm_opp_cpumask_remove_table(const struct cpumask *cpumask, in _dev_pm_opp_cpumask_remove_table() argument 114 WARN_ON(cpumask_empty(cpumask)); in _dev_pm_opp_cpumask_remove_table() 116 for_each_cpu(cpu, cpumask) { in _dev_pm_opp_cpumask_remove_table() 139 void dev_pm_opp_cpumask_remove_table(const struct cpumask *cpumask) in dev_pm_opp_cpumask_remove_table() argument 141 _dev_pm_opp_cpumask_remove_table(cpumask, -1); in dev_pm_opp_cpumask_remove_table() 156 const struct cpumask *cpumask) in dev_pm_opp_set_sharing_cpus() argument 167 for_each_cpu(cpu, cpumask) { in dev_pm_opp_set_sharing_cpus() 205 int dev_pm_opp_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpumask) in dev_pm_opp_get_sharing_cpus() argument 220 cpumask_clear(cpumask); in dev_pm_opp_get_sharing_cpus() 225 cpumask_set_cpu(opp_dev->dev->id, cpumask); in dev_pm_opp_get_sharing_cpus() [all …]
|
| /linux-6.15/kernel/ |
| H A D | padata.c | 459 cpumask_copy(attrs->cpumask, pinst->cpumask.pcpu); in padata_setup_cpumasks() 628 cpumask_and(pd->cpumask.pcpu, pinst->cpumask.pcpu, cpu_online_mask); in padata_alloc_pd() 629 cpumask_and(pd->cpumask.cbcpu, pinst->cpumask.cbcpu, cpu_online_mask); in padata_alloc_pd() 642 free_cpumask_var(pd->cpumask.pcpu); in padata_alloc_pd() 717 const struct cpumask *cpumask) in padata_validate_cpumask() argument 768 cpumask_var_t cpumask) in padata_set_cpumask() argument 779 parallel_mask = cpumask; in padata_set_cpumask() 783 serial_mask = cpumask; in padata_set_cpumask() 908 struct cpumask *cpumask; in show_cpumask() local 913 cpumask = pinst->cpumask.cbcpu; in show_cpumask() [all …]
|
| H A D | stop_machine.c | 175 const struct cpumask *active_cpus; 197 notrace void __weak stop_machine_yield(const struct cpumask *cpumask) in stop_machine_yield() argument 208 const struct cpumask *cpumask; in multi_cpu_stop() local 219 cpumask = cpu_online_mask; in multi_cpu_stop() 222 cpumask = msdata->active_cpus; in multi_cpu_stop() 229 stop_machine_yield(cpumask); in multi_cpu_stop() 392 static bool queue_stop_cpus_work(const struct cpumask *cpumask, in queue_stop_cpus_work() argument 408 for_each_cpu(cpu, cpumask) { in queue_stop_cpus_work() 424 static int __stop_cpus(const struct cpumask *cpumask, in __stop_cpus() argument 464 static int stop_cpus(const struct cpumask *cpumask, cpu_stop_fn_t fn, void *arg) in stop_cpus() argument [all …]
|
| /linux-6.15/drivers/powercap/ |
| H A D | idle_inject.c | 89 unsigned long cpumask[]; member 230 cpumask_pr_args(to_cpumask(ii_dev->cpumask))); in idle_inject_start() 260 cpumask_pr_args(to_cpumask(ii_dev->cpumask))); in idle_inject_stop() 279 for_each_cpu(cpu, to_cpumask(ii_dev->cpumask)) { in idle_inject_stop() 331 struct idle_inject_device *idle_inject_register_full(struct cpumask *cpumask, in idle_inject_register_full() argument 341 cpumask_copy(to_cpumask(ii_dev->cpumask), cpumask); in idle_inject_register_full() 346 for_each_cpu(cpu, to_cpumask(ii_dev->cpumask)) { in idle_inject_register_full() 359 for_each_cpu(cpu_rb, to_cpumask(ii_dev->cpumask)) { in idle_inject_register_full() 382 struct idle_inject_device *idle_inject_register(struct cpumask *cpumask) in idle_inject_register() argument 384 return idle_inject_register_full(cpumask, NULL); in idle_inject_register() [all …]
|
| /linux-6.15/drivers/cpuidle/ |
| H A D | cpuidle-big_little.c | 144 struct cpumask *cpumask; in bl_idle_driver_init() local 147 cpumask = kzalloc(cpumask_size(), GFP_KERNEL); in bl_idle_driver_init() 148 if (!cpumask) in bl_idle_driver_init() 153 cpumask_set_cpu(cpu, cpumask); in bl_idle_driver_init() 155 drv->cpumask = cpumask; in bl_idle_driver_init() 227 kfree(bl_idle_big_driver.cpumask); in bl_idle_init() 229 kfree(bl_idle_little_driver.cpumask); in bl_idle_init()
|
| H A D | dt_idle_states.c | 97 const cpumask_t *cpumask) in idle_state_valid() argument 110 for (cpu = cpumask_next(cpumask_first(cpumask), cpumask); in idle_state_valid() 111 cpu < nr_cpu_ids; cpu = cpumask_next(cpu, cpumask)) { in idle_state_valid() 156 const cpumask_t *cpumask; in dt_init_idle_driver() local 167 cpumask = drv->cpumask ? : cpu_possible_mask; in dt_init_idle_driver() 168 cpu_node = of_cpu_device_node_get(cpumask_first(cpumask)); in dt_init_idle_driver() 186 if (!idle_state_valid(state_node, i, cpumask)) { in dt_init_idle_driver()
|
| H A D | driver.c | 53 for_each_cpu(cpu, drv->cpumask) { in __cpuidle_unset_driver() 73 for_each_cpu(cpu, drv->cpumask) { in __cpuidle_set_driver() 81 for_each_cpu(cpu, drv->cpumask) in __cpuidle_set_driver() 164 if (!drv->cpumask) in __cpuidle_driver_init() 165 drv->cpumask = (struct cpumask *)cpu_possible_mask; in __cpuidle_driver_init() 233 on_each_cpu_mask(drv->cpumask, cpuidle_setup_broadcast_timer, in __cpuidle_register_driver() 252 on_each_cpu_mask(drv->cpumask, cpuidle_setup_broadcast_timer, in __cpuidle_unregister_driver() 371 if (!drv->cpumask) { in cpuidle_driver_state_disabled() 376 for_each_cpu(cpu, drv->cpumask) { in cpuidle_driver_state_disabled()
|
| /linux-6.15/arch/arc/kernel/ |
| H A D | smp.c | 42 static int __init arc_get_cpu_map(const char *name, struct cpumask *cpumask) in arc_get_cpu_map() argument 51 if (cpulist_parse(buf, cpumask)) in arc_get_cpu_map() 63 struct cpumask cpumask; in arc_init_cpu_possible() local 65 if (arc_get_cpu_map("possible-cpus", &cpumask)) { in arc_init_cpu_possible() 69 cpumask_setall(&cpumask); in arc_init_cpu_possible() 72 if (!cpumask_test_cpu(0, &cpumask)) in arc_init_cpu_possible() 75 init_cpu_possible(&cpumask); in arc_init_cpu_possible() 283 static void ipi_send_msg(const struct cpumask *callmap, enum ipi_msg_type msg) in ipi_send_msg() 298 struct cpumask targets; in smp_send_stop() 309 void arch_send_call_function_ipi_mask(const struct cpumask *mask) in arch_send_call_function_ipi_mask()
|
| /linux-6.15/include/trace/events/ |
| H A D | ipi.h | 21 TP_PROTO(const struct cpumask *mask, const char *reason), 62 TP_PROTO(const struct cpumask *cpumask, unsigned long callsite, void *callback), 64 TP_ARGS(cpumask, callsite, callback), 67 __cpumask(cpumask) 73 __assign_cpumask(cpumask, cpumask_bits(cpumask)); 79 __get_cpumask(cpumask), __entry->callsite, __entry->callback)
|
| /linux-6.15/rust/helpers/ |
| H A D | cpumask.c | 5 void rust_helper_cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp) in rust_helper_cpumask_set_cpu() 10 void rust_helper_cpumask_clear_cpu(int cpu, struct cpumask *dstp) in rust_helper_cpumask_clear_cpu() 15 void rust_helper_cpumask_setall(struct cpumask *dstp) in rust_helper_cpumask_setall() 20 unsigned int rust_helper_cpumask_weight(struct cpumask *srcp) in rust_helper_cpumask_weight() 25 void rust_helper_cpumask_copy(struct cpumask *dstp, const struct cpumask *srcp) in rust_helper_cpumask_copy()
|
| /linux-6.15/arch/x86/kernel/apic/ |
| H A D | x2apic_cluster.c | 22 static DEFINE_PER_CPU_READ_MOSTLY(struct cpumask *, cluster_masks); 39 __x2apic_send_IPI_mask(const struct cpumask *mask, int vector, int apic_dest) in __x2apic_send_IPI_mask() 42 struct cpumask *tmpmsk; in __x2apic_send_IPI_mask() 58 struct cpumask *cmsk = per_cpu(cluster_masks, cpu); in __x2apic_send_IPI_mask() 75 static void x2apic_send_IPI_mask(const struct cpumask *mask, int vector) in x2apic_send_IPI_mask() 81 x2apic_send_IPI_mask_allbutself(const struct cpumask *mask, int vector) in x2apic_send_IPI_mask_allbutself() 93 struct cpumask *cmsk = this_cpu_read(cluster_masks); in init_x2apic_ldr() 105 static void prefill_clustermask(struct cpumask *cmsk, unsigned int cpu, u32 cluster) in prefill_clustermask() 110 struct cpumask **cpu_cmsk = &per_cpu(cluster_masks, cpu_i); in prefill_clustermask() 126 struct cpumask *cmsk = NULL; in alloc_clustermask() [all …]
|
| /linux-6.15/kernel/sched/ |
| H A D | ext_idle.c | 74 struct cpumask *idle_cpus = idle_cpumask(node)->cpu; in scx_idle_test_and_clear_cpu() 83 const struct cpumask *smt = cpu_smt_mask(cpu); in scx_idle_test_and_clear_cpu() 84 struct cpumask *idle_smts = idle_cpumask(node)->smt; in scx_idle_test_and_clear_cpu() 232 static struct cpumask *llc_span(s32 cpu) in llc_span() 266 static struct cpumask *numa_span(s32 cpu) in numa_span() 429 const struct cpumask *llc_cpus = NULL; in scx_select_cpu_dfl() 430 const struct cpumask *numa_cpus = NULL; in scx_select_cpu_dfl() 623 struct cpumask *idle_cpus = idle_cpumask(node)->cpu; in update_builtin_idle() 629 const struct cpumask *smt = cpu_smt_mask(cpu); in update_builtin_idle() 630 struct cpumask *idle_smts = idle_cpumask(node)->smt; in update_builtin_idle() [all …]
|
| /linux-6.15/lib/ |
| H A D | group_cpus.c | 14 static void grp_spread_init_one(struct cpumask *irqmsk, struct cpumask *nmsk, in grp_spread_init_one() 17 const struct cpumask *siblmsk; in grp_spread_init_one() 86 const struct cpumask *mask, nodemask_t *nodemsk) in get_nodes_in_cpumask() 132 const struct cpumask *cpu_mask, in alloc_nodes_groups() 134 struct cpumask *nmsk, in alloc_nodes_groups() 251 const struct cpumask *cpu_mask, in __group_cpus_evenly() 252 struct cpumask *nmsk, struct cpumask *masks) in __group_cpus_evenly() 347 struct cpumask *group_cpus_evenly(unsigned int numgrps) in group_cpus_evenly() 353 struct cpumask *masks = NULL; in group_cpus_evenly() 427 struct cpumask *group_cpus_evenly(unsigned int numgrps) in group_cpus_evenly() [all …]
|
| /linux-6.15/drivers/md/ |
| H A D | dm-ps-io-affinity.c | 16 cpumask_var_t cpumask; member 36 free_cpumask_var(pi->cpumask); in ioa_free_path() 66 if (!zalloc_cpumask_var(&pi->cpumask, GFP_KERNEL)) { in ioa_add_path() 72 ret = cpumask_parse(argv[0], pi->cpumask); in ioa_add_path() 79 for_each_cpu(cpu, pi->cpumask) { in ioa_add_path() 105 free_cpumask_var(pi->cpumask); in ioa_add_path() 171 DMEMIT("%*pb ", cpumask_pr_args(pi->cpumask)); in ioa_status() 201 const struct cpumask *cpumask; in ioa_select_path() local 219 cpumask = cpumask_of_node(node); in ioa_select_path() 220 for_each_cpu(i, cpumask) { in ioa_select_path()
|