/Linux-v6.1/drivers/cpufreq/ |
D | intel_pstate.c | 229 int cpu; member 284 int (*get_max)(int cpu); 285 int (*get_max_physical)(int cpu); 286 int (*get_min)(int cpu); 287 int (*get_turbo)(int cpu); 289 int (*get_cpu_scaling)(int cpu); 344 static void intel_pstate_set_itmt_prio(int cpu) in intel_pstate_set_itmt_prio() argument 350 ret = cppc_get_perf_caps(cpu, &cppc_perf); in intel_pstate_set_itmt_prio() 360 cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached)); in intel_pstate_set_itmt_prio() 367 sched_set_itmt_core_prio(cppc_perf.highest_perf, cpu); in intel_pstate_set_itmt_prio() [all …]
|
/Linux-v6.1/arch/arm/boot/dts/ |
D | axm5516-cpus.dtsi | 13 cpu-map { 16 cpu = <&CPU0>; 19 cpu = <&CPU1>; 22 cpu = <&CPU2>; 25 cpu = <&CPU3>; 30 cpu = <&CPU4>; 33 cpu = <&CPU5>; 36 cpu = <&CPU6>; 39 cpu = <&CPU7>; 44 cpu = <&CPU8>; [all …]
|
/Linux-v6.1/include/linux/ |
D | topology.h | 94 static inline int cpu_to_node(int cpu) in cpu_to_node() argument 96 return per_cpu(numa_node, cpu); in cpu_to_node() 108 static inline void set_cpu_numa_node(int cpu, int node) in set_cpu_numa_node() argument 110 per_cpu(numa_node, cpu) = node; in set_cpu_numa_node() 151 static inline int cpu_to_mem(int cpu) in cpu_to_mem() argument 153 return per_cpu(_numa_mem_, cpu); in cpu_to_mem() 158 static inline void set_cpu_numa_mem(int cpu, int node) in set_cpu_numa_mem() argument 160 per_cpu(_numa_mem_, cpu) = node; in set_cpu_numa_mem() 175 static inline int cpu_to_mem(int cpu) in cpu_to_mem() argument 177 return cpu_to_node(cpu); in cpu_to_mem() [all …]
|
/Linux-v6.1/arch/powerpc/kernel/ |
D | smp.c | 283 void smp_muxed_ipi_set_message(int cpu, int msg) in smp_muxed_ipi_set_message() argument 285 struct cpu_messages *info = &per_cpu(ipi_message, cpu); in smp_muxed_ipi_set_message() 295 void smp_muxed_ipi_message_pass(int cpu, int msg) in smp_muxed_ipi_message_pass() argument 297 smp_muxed_ipi_set_message(cpu, msg); in smp_muxed_ipi_message_pass() 303 smp_ops->cause_ipi(cpu); in smp_muxed_ipi_message_pass() 357 static inline void do_message_pass(int cpu, int msg) in do_message_pass() argument 360 smp_ops->message_pass(cpu, msg); in do_message_pass() 363 smp_muxed_ipi_message_pass(cpu, msg); in do_message_pass() 367 void smp_send_reschedule(int cpu) in smp_send_reschedule() argument 370 do_message_pass(cpu, PPC_MSG_RESCHEDULE); in smp_send_reschedule() [all …]
|
D | tau_6xx.c | 55 static void set_thresholds(unsigned long cpu) in set_thresholds() argument 60 mtspr(SPRN_THRM1, THRM1_THRES(tau[cpu].low) | THRM1_V | maybe_tie | THRM1_TID); in set_thresholds() 63 mtspr(SPRN_THRM2, THRM1_THRES(tau[cpu].high) | THRM1_V | maybe_tie); in set_thresholds() 66 static void TAUupdate(int cpu) in TAUupdate() argument 77 if (tau[cpu].low >= step_size) { in TAUupdate() 78 tau[cpu].low -= step_size; in TAUupdate() 79 tau[cpu].high -= (step_size - window_expand); in TAUupdate() 81 tau[cpu].grew = 1; in TAUupdate() 88 if (tau[cpu].high <= 127 - step_size) { in TAUupdate() 89 tau[cpu].low += (step_size - window_expand); in TAUupdate() [all …]
|
D | watchdog.c | 148 int cpu = raw_smp_processor_id(); in wd_lockup_ipi() local 151 pr_emerg("CPU %d Hard LOCKUP\n", cpu); in wd_lockup_ipi() 153 cpu, tb, per_cpu(wd_timer_tb, cpu), in wd_lockup_ipi() 154 tb_to_ns(tb - per_cpu(wd_timer_tb, cpu)) / 1000000); in wd_lockup_ipi() 182 static bool set_cpu_stuck(int cpu) in set_cpu_stuck() argument 184 cpumask_set_cpu(cpu, &wd_smp_cpus_stuck); in set_cpu_stuck() 185 cpumask_clear_cpu(cpu, &wd_smp_cpus_pending); in set_cpu_stuck() 200 static void watchdog_smp_panic(int cpu) in watchdog_smp_panic() argument 213 if (cpumask_test_cpu(cpu, &wd_smp_cpus_pending)) in watchdog_smp_panic() 220 if (c == cpu) in watchdog_smp_panic() [all …]
|
/Linux-v6.1/tools/testing/selftests/cpu-hotplug/ |
D | cpu-on-off-test.sh | 27 if ! ls $SYSFS/devices/system/cpu/cpu* > /dev/null 2>&1; then 28 echo $msg cpu hotplug is not supported >&2 33 online_cpus=`cat $SYSFS/devices/system/cpu/online` 41 present_cpus=`cat $SYSFS/devices/system/cpu/present` 47 offline_cpus=`cat $SYSFS/devices/system/cpu/offline` 63 for cpu in $SYSFS/devices/system/cpu/cpu*; do 64 if [ -f $cpu/online ] && grep -q $state $cpu/online; then 65 echo ${cpu##/*/cpu} 82 grep -q 1 $SYSFS/devices/system/cpu/cpu$1/online 87 grep -q 0 $SYSFS/devices/system/cpu/cpu$1/online [all …]
|
/Linux-v6.1/drivers/base/ |
D | arch_topology.c | 63 int cpu; in topology_set_scale_freq_source() local 74 for_each_cpu(cpu, cpus) { in topology_set_scale_freq_source() 75 sfd = rcu_dereference(*per_cpu_ptr(&sft_data, cpu)); in topology_set_scale_freq_source() 79 rcu_assign_pointer(per_cpu(sft_data, cpu), data); in topology_set_scale_freq_source() 80 cpumask_set_cpu(cpu, &scale_freq_counters_mask); in topology_set_scale_freq_source() 94 int cpu; in topology_clear_scale_freq_source() local 98 for_each_cpu(cpu, cpus) { in topology_clear_scale_freq_source() 99 sfd = rcu_dereference(*per_cpu_ptr(&sft_data, cpu)); in topology_clear_scale_freq_source() 102 rcu_assign_pointer(per_cpu(sft_data, cpu), NULL); in topology_clear_scale_freq_source() 103 cpumask_clear_cpu(cpu, &scale_freq_counters_mask); in topology_clear_scale_freq_source() [all …]
|
D | cacheinfo.c | 25 #define ci_cacheinfo(cpu) (&per_cpu(ci_cpu_cacheinfo, cpu)) argument 26 #define cache_leaves(cpu) (ci_cacheinfo(cpu)->num_leaves) argument 27 #define per_cpu_cacheinfo(cpu) (ci_cacheinfo(cpu)->info_list) argument 28 #define per_cpu_cacheinfo_idx(cpu, idx) \ argument 29 (per_cpu_cacheinfo(cpu) + (idx)) 31 struct cpu_cacheinfo *get_cpu_cacheinfo(unsigned int cpu) in get_cpu_cacheinfo() argument 33 return ci_cacheinfo(cpu); in get_cpu_cacheinfo() 54 bool last_level_cache_is_valid(unsigned int cpu) in last_level_cache_is_valid() argument 58 if (!cache_leaves(cpu)) in last_level_cache_is_valid() 61 llc = per_cpu_cacheinfo_idx(cpu, cache_leaves(cpu) - 1); in last_level_cache_is_valid() [all …]
|
/Linux-v6.1/arch/arc/kernel/ |
D | setup.c | 70 static void read_decode_ccm_bcr(struct cpuinfo_arc *cpu) in read_decode_ccm_bcr() argument 78 cpu->iccm.sz = 4096 << iccm.sz; /* 8K to 512K */ in read_decode_ccm_bcr() 79 cpu->iccm.base_addr = iccm.base << 16; in read_decode_ccm_bcr() 85 cpu->dccm.sz = 2048 << dccm.sz; /* 2K to 256K */ in read_decode_ccm_bcr() 88 cpu->dccm.base_addr = base & ~0xF; in read_decode_ccm_bcr() 97 cpu->iccm.sz = 256 << iccm.sz00; /* 512B to 16M */ in read_decode_ccm_bcr() 99 cpu->iccm.sz <<= iccm.sz01; in read_decode_ccm_bcr() 102 cpu->iccm.base_addr = region & 0xF0000000; in read_decode_ccm_bcr() 107 cpu->dccm.sz = 256 << dccm.sz0; in read_decode_ccm_bcr() 109 cpu->dccm.sz <<= dccm.sz1; in read_decode_ccm_bcr() [all …]
|
/Linux-v6.1/Documentation/translations/zh_CN/scheduler/ |
D | sched-bwc.rst | 24 达“配额”微秒的CPU时间。当cgroup中的线程可运行时,该配额以时间片段的方式被分配到每个cpu 29 它以需求为基础被转移到cpu-local“筒仓”,在每次更新中转移的数量是可调整的,被描述为“片“(时 65 配额、周期和突发是在cpu子系统内通过cgroupfs管理的。 69 :ref:`Documentation/admin-guide/cgroup-v2.rst <cgroup-v2-cpu>`. 71 - cpu.cfs_quota_us:在一个时期内补充的运行时间(微秒)。 72 - cpu.cfs_period_us:一个周期的长度(微秒)。 73 - cpu.stat: 输出节流统计数据[下面进一步解释] 74 - cpu.cfs_burst_us:最大累积运行时间(微秒)。 78 cpu.cfs_period_us=100ms 79 cpu.cfs_quota_us=-1 [all …]
|
/Linux-v6.1/kernel/ |
D | smpboot.c | 30 struct task_struct *idle_thread_get(unsigned int cpu) in idle_thread_get() argument 32 struct task_struct *tsk = per_cpu(idle_threads, cpu); in idle_thread_get() 50 static __always_inline void idle_init(unsigned int cpu) in idle_init() argument 52 struct task_struct *tsk = per_cpu(idle_threads, cpu); in idle_init() 55 tsk = fork_idle(cpu); in idle_init() 57 pr_err("SMP: fork_idle() failed for CPU %u\n", cpu); in idle_init() 59 per_cpu(idle_threads, cpu) = tsk; in idle_init() 68 unsigned int cpu, boot_cpu; in idle_threads_init() local 72 for_each_possible_cpu(cpu) { in idle_threads_init() 73 if (cpu != boot_cpu) in idle_threads_init() [all …]
|
/Linux-v6.1/arch/microblaze/kernel/cpu/ |
D | cpuinfo-static.c | 23 void __init set_cpuinfo_static(struct cpuinfo *ci, struct device_node *cpu) in set_cpuinfo_static() argument 28 (fcpu(cpu, "xlnx,use-barrel") ? PVR0_USE_BARREL_MASK : 0) | in set_cpuinfo_static() 29 (fcpu(cpu, "xlnx,use-msr-instr") ? PVR2_USE_MSR_INSTR : 0) | in set_cpuinfo_static() 30 (fcpu(cpu, "xlnx,use-pcmp-instr") ? PVR2_USE_PCMP_INSTR : 0) | in set_cpuinfo_static() 31 (fcpu(cpu, "xlnx,use-div") ? PVR0_USE_DIV_MASK : 0); in set_cpuinfo_static() 43 ci->use_mult = fcpu(cpu, "xlnx,use-hw-mul"); in set_cpuinfo_static() 51 ci->use_fpu = fcpu(cpu, "xlnx,use-fpu"); in set_cpuinfo_static() 59 (fcpu(cpu, "xlnx,unaligned-exceptions") ? in set_cpuinfo_static() 61 (fcpu(cpu, "xlnx,ill-opcode-exception") ? in set_cpuinfo_static() 63 (fcpu(cpu, "xlnx,iopb-bus-exception") ? in set_cpuinfo_static() [all …]
|
/Linux-v6.1/arch/x86/xen/ |
D | smp_pv.c | 62 int cpu; in cpu_bringup() local 73 cpu = smp_processor_id(); in cpu_bringup() 74 smp_store_cpu_info(cpu); in cpu_bringup() 75 cpu_data(cpu).x86_max_cores = 1; in cpu_bringup() 76 set_cpu_sibling_map(cpu); in cpu_bringup() 82 notify_cpu_starting(cpu); in cpu_bringup() 84 set_cpu_online(cpu, true); in cpu_bringup() 86 cpu_set_state_online(cpu); /* Implies full memory barrier. */ in cpu_bringup() 98 void xen_smp_intr_free_pv(unsigned int cpu) in xen_smp_intr_free_pv() argument 100 if (per_cpu(xen_irq_work, cpu).irq >= 0) { in xen_smp_intr_free_pv() [all …]
|
D | smp.c | 33 void xen_smp_intr_free(unsigned int cpu) in xen_smp_intr_free() argument 35 if (per_cpu(xen_resched_irq, cpu).irq >= 0) { in xen_smp_intr_free() 36 unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu).irq, NULL); in xen_smp_intr_free() 37 per_cpu(xen_resched_irq, cpu).irq = -1; in xen_smp_intr_free() 38 kfree(per_cpu(xen_resched_irq, cpu).name); in xen_smp_intr_free() 39 per_cpu(xen_resched_irq, cpu).name = NULL; in xen_smp_intr_free() 41 if (per_cpu(xen_callfunc_irq, cpu).irq >= 0) { in xen_smp_intr_free() 42 unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu).irq, NULL); in xen_smp_intr_free() 43 per_cpu(xen_callfunc_irq, cpu).irq = -1; in xen_smp_intr_free() 44 kfree(per_cpu(xen_callfunc_irq, cpu).name); in xen_smp_intr_free() [all …]
|
/Linux-v6.1/arch/powerpc/include/asm/ |
D | smp.h | 33 extern int cpu_to_chip_id(int cpu); 43 void (*message_pass)(int cpu, int msg); 45 void (*cause_ipi)(int cpu); 47 int (*cause_nmi_ipi)(int cpu); 66 extern int smp_send_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us); 67 extern int smp_send_safe_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us); 77 void generic_cpu_die(unsigned int cpu); 78 void generic_set_cpu_dead(unsigned int cpu); 79 void generic_set_cpu_up(unsigned int cpu); 80 int generic_check_cpu_restart(unsigned int cpu); [all …]
|
/Linux-v6.1/arch/arm/mach-tegra/ |
D | platsmp.c | 36 static void tegra_secondary_init(unsigned int cpu) in tegra_secondary_init() argument 38 cpumask_set_cpu(cpu, &tegra_cpu_init_mask); in tegra_secondary_init() 42 static int tegra20_boot_secondary(unsigned int cpu, struct task_struct *idle) in tegra20_boot_secondary() argument 44 cpu = cpu_logical_map(cpu); in tegra20_boot_secondary() 54 tegra_put_cpu_in_reset(cpu); in tegra20_boot_secondary() 62 flowctrl_write_cpu_halt(cpu, 0); in tegra20_boot_secondary() 64 tegra_enable_cpu_clock(cpu); in tegra20_boot_secondary() 65 flowctrl_write_cpu_csr(cpu, 0); /* Clear flow controller CSR. */ in tegra20_boot_secondary() 66 tegra_cpu_out_of_reset(cpu); in tegra20_boot_secondary() 70 static int tegra30_boot_secondary(unsigned int cpu, struct task_struct *idle) in tegra30_boot_secondary() argument [all …]
|
/Linux-v6.1/arch/arm/mach-meson/ |
D | platsmp.c | 38 static struct reset_control *meson_smp_get_core_reset(int cpu) in meson_smp_get_core_reset() argument 40 struct device_node *np = of_get_cpu_node(cpu, 0); in meson_smp_get_core_reset() 45 static void meson_smp_set_cpu_ctrl(int cpu, bool on_off) in meson_smp_set_cpu_ctrl() argument 50 val |= BIT(cpu); in meson_smp_set_cpu_ctrl() 52 val &= ~BIT(cpu); in meson_smp_set_cpu_ctrl() 116 static void meson_smp_begin_secondary_boot(unsigned int cpu) in meson_smp_begin_secondary_boot() argument 125 sram_base + MESON_SMP_SRAM_CPU_CTRL_ADDR_REG(cpu)); in meson_smp_begin_secondary_boot() 131 scu_cpu_power_enable(scu_base, cpu); in meson_smp_begin_secondary_boot() 134 static int meson_smp_finalize_secondary_boot(unsigned int cpu) in meson_smp_finalize_secondary_boot() argument 139 while (readl(sram_base + MESON_SMP_SRAM_CPU_CTRL_ADDR_REG(cpu))) { in meson_smp_finalize_secondary_boot() [all …]
|
/Linux-v6.1/arch/x86/include/asm/ |
D | topology.h | 48 extern int __cpu_to_node(int cpu); 51 extern int early_cpu_to_node(int cpu); 56 static inline int early_cpu_to_node(int cpu) in early_cpu_to_node() argument 58 return early_per_cpu(x86_cpu_to_node_map, cpu); in early_cpu_to_node() 94 static inline int early_cpu_to_node(int cpu) in early_cpu_to_node() argument 105 extern const struct cpumask *cpu_coregroup_mask(int cpu); 106 extern const struct cpumask *cpu_clustergroup_mask(int cpu); 108 #define topology_logical_package_id(cpu) (cpu_data(cpu).logical_proc_id) argument 109 #define topology_physical_package_id(cpu) (cpu_data(cpu).phys_proc_id) argument 110 #define topology_logical_die_id(cpu) (cpu_data(cpu).logical_die_id) argument [all …]
|
/Linux-v6.1/arch/arm/mach-bcm/ |
D | platsmp-brcmstb.c | 59 static int per_cpu_sw_state_rd(u32 cpu) in per_cpu_sw_state_rd() argument 61 sync_cache_r(SHIFT_PERCPU_PTR(&per_cpu_sw_state, per_cpu_offset(cpu))); in per_cpu_sw_state_rd() 62 return per_cpu(per_cpu_sw_state, cpu); in per_cpu_sw_state_rd() 65 static void per_cpu_sw_state_wr(u32 cpu, int val) in per_cpu_sw_state_wr() argument 68 per_cpu(per_cpu_sw_state, cpu) = val; in per_cpu_sw_state_wr() 69 sync_cache_w(SHIFT_PERCPU_PTR(&per_cpu_sw_state, per_cpu_offset(cpu))); in per_cpu_sw_state_wr() 72 static inline void per_cpu_sw_state_wr(u32 cpu, int val) { } in per_cpu_sw_state_wr() argument 75 static void __iomem *pwr_ctrl_get_base(u32 cpu) in pwr_ctrl_get_base() argument 78 base += (cpu_logical_map(cpu) * 4); in pwr_ctrl_get_base() 82 static u32 pwr_ctrl_rd(u32 cpu) in pwr_ctrl_rd() argument [all …]
|
/Linux-v6.1/arch/arm64/kernel/ |
D | smp.c | 84 static void ipi_setup(int cpu); 87 static void ipi_teardown(int cpu); 88 static int op_cpu_kill(unsigned int cpu); 90 static inline int op_cpu_kill(unsigned int cpu) in op_cpu_kill() argument 101 static int boot_secondary(unsigned int cpu, struct task_struct *idle) in boot_secondary() argument 103 const struct cpu_operations *ops = get_cpu_ops(cpu); in boot_secondary() 106 return ops->cpu_boot(cpu); in boot_secondary() 113 int __cpu_up(unsigned int cpu, struct task_struct *idle) in __cpu_up() argument 126 ret = boot_secondary(cpu, idle); in __cpu_up() 128 pr_err("CPU%u: failed to boot: %d\n", cpu, ret); in __cpu_up() [all …]
|
/Linux-v6.1/arch/loongarch/kernel/ |
D | smp.c | 82 unsigned int cpu, i; in show_ipi_list() local 86 for_each_online_cpu(cpu) in show_ipi_list() 87 seq_printf(p, "%10u ", per_cpu(irq_stat, cpu).ipi_irqs[i]); in show_ipi_list() 93 static void csr_mail_send(uint64_t data, int cpu, int mailbox) in csr_mail_send() argument 100 val |= (cpu << IOCSR_MBUF_SEND_CPU_SHIFT); in csr_mail_send() 107 val |= (cpu << IOCSR_MBUF_SEND_CPU_SHIFT); in csr_mail_send() 112 static u32 ipi_read_clear(int cpu) in ipi_read_clear() argument 125 static void ipi_write_action(int cpu, u32 action) in ipi_write_action() argument 133 val |= (cpu << IOCSR_IPI_SEND_CPU_SHIFT); in ipi_write_action() 139 void loongson_send_ipi_single(int cpu, unsigned int action) in loongson_send_ipi_single() argument [all …]
|
/Linux-v6.1/drivers/xen/ |
D | cpu_hotplug.c | 12 static void enable_hotplug_cpu(int cpu) in enable_hotplug_cpu() argument 14 if (!cpu_present(cpu)) in enable_hotplug_cpu() 15 xen_arch_register_cpu(cpu); in enable_hotplug_cpu() 17 set_cpu_present(cpu, true); in enable_hotplug_cpu() 20 static void disable_hotplug_cpu(int cpu) in disable_hotplug_cpu() argument 22 if (!cpu_is_hotpluggable(cpu)) in disable_hotplug_cpu() 25 if (cpu_online(cpu)) in disable_hotplug_cpu() 26 device_offline(get_cpu_device(cpu)); in disable_hotplug_cpu() 27 if (!cpu_online(cpu) && cpu_present(cpu)) { in disable_hotplug_cpu() 28 xen_arch_unregister_cpu(cpu); in disable_hotplug_cpu() [all …]
|
/Linux-v6.1/arch/s390/include/asm/ |
D | topology.h | 9 struct cpu; 29 #define topology_physical_package_id(cpu) (cpu_topology[cpu].socket_id) argument 30 #define topology_thread_id(cpu) (cpu_topology[cpu].thread_id) argument 31 #define topology_sibling_cpumask(cpu) (&cpu_topology[cpu].thread_mask) argument 32 #define topology_core_id(cpu) (cpu_topology[cpu].core_id) argument 33 #define topology_core_cpumask(cpu) (&cpu_topology[cpu].core_mask) argument 34 #define topology_book_id(cpu) (cpu_topology[cpu].book_id) argument 35 #define topology_book_cpumask(cpu) (&cpu_topology[cpu].book_mask) argument 36 #define topology_drawer_id(cpu) (cpu_topology[cpu].drawer_id) argument 37 #define topology_drawer_cpumask(cpu) (&cpu_topology[cpu].drawer_mask) argument [all …]
|
/Linux-v6.1/tools/power/cpupower/utils/ |
D | cpufreq-info.c | 58 unsigned int cpu, nr_cpus; in proc_cpufreq_output() local 67 for (cpu = 0; cpu < nr_cpus; cpu++) { in proc_cpufreq_output() 68 policy = cpufreq_get_policy(cpu); in proc_cpufreq_output() 72 if (cpufreq_get_hardware_limits(cpu, &min, &max)) { in proc_cpufreq_output() 79 cpu , policy->min, max ? min_pctg : 0, policy->max, in proc_cpufreq_output() 126 static int get_boost_mode_x86(unsigned int cpu) in get_boost_mode_x86() argument 132 ret = cpufreq_has_boost_support(cpu, &support, &active, &b_states); in get_boost_mode_x86() 135 " on CPU %d -- are you root?\n"), cpu); in get_boost_mode_x86() 155 ret = decode_pstates(cpu, b_states, pstates, &pstate_no); in get_boost_mode_x86() 181 intel_turbo_ratio = msr_intel_get_turbo_ratio(cpu); in get_boost_mode_x86() [all …]
|