/linux-6.14.4/arch/mips/sgi-ip27/ |
D | ip27-nmi.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include "ip27-common.h" 35 if (nmi_addr->call_addr) in install_cpu_nmi_handler() 37 nmi_addr->magic = NMI_MAGIC; in install_cpu_nmi_handler() 38 nmi_addr->call_addr = (void *)nmi_dump; in install_cpu_nmi_handler() 39 nmi_addr->call_addr_c = in install_cpu_nmi_handler() 40 (void *)(~((unsigned long)(nmi_addr->call_addr))); in install_cpu_nmi_handler() 41 nmi_addr->call_parm = 0; in install_cpu_nmi_handler() 45 * Copy the cpu registers which have been saved in the IP27prom format 51 struct reg_struct *nr; in nmi_cpu_eframe_save() local [all …]
|
/linux-6.14.4/tools/perf/util/ |
D | cputopo.c | 1 // SPDX-License-Identifier: GPL-2.0 19 "%s/devices/system/cpu/cpu%d/topology/package_cpus_list" 21 "%s/devices/system/cpu/cpu%d/topology/core_siblings_list" 23 "%s/devices/system/cpu/cpu%d/topology/die_cpus_list" 25 "%s/devices/system/cpu/cpu%d/topology/core_cpus_list" 27 "%s/devices/system/cpu/cpu%d/topology/thread_siblings_list" 35 static int build_cpu_topology(struct cpu_topology *tp, int cpu) in build_cpu_topology() argument 43 int ret = -1; in build_cpu_topology() 46 sysfs__mountpoint(), cpu); in build_cpu_topology() 47 if (access(filename, F_OK) == -1) { in build_cpu_topology() [all …]
|
D | cpumap.c | 1 // SPDX-License-Identifier: GPL-2.0 22 * CPU number. 34 return (data->mask32_data.long_size == 4) in perf_record_cpu_map_data__test_bit() 35 ? (bit_word32 < data->mask32_data.nr) && in perf_record_cpu_map_data__test_bit() 36 (data->mask32_data.mask[bit_word32] & bit_mask32) != 0 in perf_record_cpu_map_data__test_bit() 37 : (bit_word64 < data->mask64_data.nr) && in perf_record_cpu_map_data__test_bit() 38 (data->mask64_data.mask[bit_word64] & bit_mask64) != 0; in perf_record_cpu_map_data__test_bit() 41 /* Read ith mask value from data into the given 64-bit sized bitmap */ 46 if (data->mask32_data.long_size == 4) in perf_record_cpu_map_data__read_one_mask() 47 bitmap[0] = data->mask32_data.mask[i]; in perf_record_cpu_map_data__read_one_mask() [all …]
|
D | thread-stack.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * thread-stack.c: Synthesize a thread's stack using call / return events 21 #include "call-path.h" 22 #include "thread-stack.h" 40 * struct thread_stack_entry - thread stack entry. 47 * @db_id: id used for db-export 68 * struct thread_stack - thread stack constructed from 'call' and 'return' 110 * perf_session__register_idle_thread(). The idle task is really 1 task per cpu, 111 * and therefore requires a stack for each cpu. 123 new_sz = ts->sz + STACK_GROWTH; in thread_stack__grow() [all …]
|
D | cpumap.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 /** Identify where counts are aggregated, -1 implies not to aggregate. */ 17 * /sys/devices/system/cpu/cpuX/topology/physical_package_id. 20 /** The die id as read from /sys/devices/system/cpu/cpuX/topology/die_id. */ 22 /** The cluster id as read from /sys/devices/system/cpu/cpuX/topology/cluster_id */ 24 /** The cache level as read from /sys/devices/system/cpu/cpuX/cache/indexY/level */ 27 * The cache instance ID, which is the first CPU in the 28 * /sys/devices/system/cpu/cpuX/cache/indexY/shared_cpu_list 31 /** The core id as read from /sys/devices/system/cpu/cpuX/topology/core_id. */ 33 /** CPU aggregation, note there is one CPU for each SMT thread. */ [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/powerpc/ |
D | ibm,powerpc-cpu-features.txt | 3 (skiboot/doc/device-tree/ibm,powerpc-cpu-features/binding.txt) 9 ibm,powerpc-cpu-features binding 12 This device tree binding describes CPU features available to software, with 19 /cpus/ibm,powerpc-cpu-features node binding 20 ------------------------------------------- 22 Node: ibm,powerpc-cpu-features 24 Description: Container of CPU feature nodes. 26 The node name must be "ibm,powerpc-cpu-features". 35 - compatible 38 Definition: "ibm,powerpc-cpu-features" [all …]
|
/linux-6.14.4/arch/powerpc/platforms/85xx/ |
D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Copyright 2006-2008, 2011-2012, 2015 Freescale Semiconductor Inc. 17 #include <linux/cpu.h> 26 #include <asm/text-patching.h> 58 qoriq_pm_ops->freeze_time_base(true); in mpc85xx_give_timebase() 61 * e5500/e6500 have a workaround for erratum A-006958 in place in mpc85xx_give_timebase() 62 * that will reread the timebase until TBL is non-zero. in mpc85xx_give_timebase() 66 * TBL is non-zero, we ensure that TB does not change. We don't in mpc85xx_give_timebase() 91 qoriq_pm_ops->freeze_time_base(false); in mpc85xx_give_timebase() 117 unsigned int cpu = smp_processor_id(); in smp_85xx_cpu_offline_self() local [all …]
|
/linux-6.14.4/tools/perf/tests/ |
D | cpumap.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include "util/synthetic-events.h" 19 struct perf_record_cpu_map *map_event = &event->cpu_map; in process_event_mask() 24 data = &map_event->data; in process_event_mask() 26 TEST_ASSERT_VAL("wrong type", data->type == PERF_CPU_MAP__MASK); in process_event_mask() 28 long_size = data->mask32_data.long_size; in process_event_mask() 32 TEST_ASSERT_VAL("wrong nr", data->mask32_data.nr == 1); in process_event_mask() 34 TEST_ASSERT_VAL("wrong cpu", perf_record_cpu_map_data__test_bit(0, data)); in process_event_mask() 35 TEST_ASSERT_VAL("wrong cpu", !perf_record_cpu_map_data__test_bit(1, data)); in process_event_mask() 37 TEST_ASSERT_VAL("wrong cpu", perf_record_cpu_map_data__test_bit(i, data)); in process_event_mask() [all …]
|
D | switch-tracking.c | 1 // SPDX-License-Identifier: GPL-2.0 15 #include "parse-events.h" 75 union perf_event *event, const char *comm, int nr) in check_comm() argument 77 if (event->header.type == PERF_RECORD_COMM && in check_comm() 78 (pid_t)event->comm.pid == getpid() && in check_comm() 79 (pid_t)event->comm.tid == getpid() && in check_comm() 80 strcmp(event->comm.comm, comm) == 0) { in check_comm() 81 if (switch_tracking->comm_seen[nr]) { in check_comm() 83 return -1; in check_comm() 85 switch_tracking->comm_seen[nr] = 1; in check_comm() [all …]
|
/linux-6.14.4/arch/powerpc/platforms/powernv/ |
D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 17 #include <linux/cpu.h> 31 #include <asm/text-patching.h> 34 #include <asm/ppc-opcode.h> 50 static void pnv_smp_setup_cpu(int cpu) in pnv_smp_setup_cpu() argument 61 else if (cpu != boot_cpuid) in pnv_smp_setup_cpu() 65 static int pnv_smp_kick_cpu(int nr) in pnv_smp_kick_cpu() argument 73 if (nr < 0 || nr >= nr_cpu_ids) in pnv_smp_kick_cpu() 74 return -EINVAL; in pnv_smp_kick_cpu() 76 pcpu = get_hard_smp_processor_id(nr); in pnv_smp_kick_cpu() [all …]
|
/linux-6.14.4/arch/powerpc/platforms/86xx/ |
D | mpc86xx_smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 15 #include <asm/text-patching.h> 17 #include <asm/pci-bridge.h> 35 smp_86xx_release_core(int nr) in smp_86xx_release_core() argument 40 if (nr < 0 || nr >= NR_CPUS) in smp_86xx_release_core() 44 * Startup Core #nr. in smp_86xx_release_core() 49 pcr |= 1 << (nr + 24); in smp_86xx_release_core() 57 smp_86xx_kick_cpu(int nr) in smp_86xx_kick_cpu() argument 64 if (nr < 0 || nr >= NR_CPUS) in smp_86xx_kick_cpu() 65 return -ENOENT; in smp_86xx_kick_cpu() [all …]
|
/linux-6.14.4/tools/perf/Documentation/ |
D | perf.data-file-format.txt | 5 This document describes the on-disk perf.data format, generated by perf record 10 All fields are in native-endian of the machine that generated the perf.data. 14 format is described in "Pipe-mode data" section. The pipe data version can be 33 magic value is 64bit byte swapped compared the file is in non-native 61 uint32_t nr; 62 struct perf_header_string strings[nr]; /* variable length records */ 85 char filename[header.size - offsetof(struct build_id_event, filename)]; 91 (uname -n) 96 (uname -r) 106 A perf_header_string with the CPU architecture (uname -m) [all …]
|
/linux-6.14.4/arch/powerpc/include/asm/ |
D | smp.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * smp.h: PowerPC-specific SMP code. 9 * Copyright (C) 1996-2001 Cort Dougan <[email protected]> 35 extern int cpu_to_chip_id(int cpu); 45 void (*message_pass)(int cpu, int msg); 47 void (*cause_ipi)(int cpu); 49 int (*cause_nmi_ipi)(int cpu); 51 int (*kick_cpu)(int nr); 52 int (*prepare_cpu)(int nr); 53 void (*setup_cpu)(int nr); [all …]
|
/linux-6.14.4/fs/bcachefs/ |
D | rcu_pending.c | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <linux/generic-radix-tree.h> 83 * We're using a radix tree like a vector - we're just pushing elements 88 size_t nr; member 102 int cpu; member 121 if (p->objs.nr) in __rcu_pending_has_pending() 124 static_array_for_each(p->lists, i) in __rcu_pending_has_pending() 125 if (i->head) in __rcu_pending_has_pending() 135 if (!l1->head) in rcu_pending_list_merge() 136 l1->head = l2->head; in rcu_pending_list_merge() [all …]
|
/linux-6.14.4/mm/ |
D | swap_slots.c | 1 // SPDX-License-Identifier: GPL-2.0 11 * it into local per cpu caches. This has the advantage 31 #include <linux/cpu.h> 65 /* Must not be called with cpu hot plug lock */ 71 /* serialize with cpu hotplug operations */ in disable_swap_slots_cache_lock() 111 static int alloc_swap_slot_cache(unsigned int cpu) in alloc_swap_slot_cache() argument 124 return -ENOMEM; in alloc_swap_slot_cache() 127 cache = &per_cpu(swp_slots, cpu); in alloc_swap_slot_cache() 128 if (cache->slots) { in alloc_swap_slot_cache() 137 if (!cache->lock_initialized) { in alloc_swap_slot_cache() [all …]
|
/linux-6.14.4/drivers/macintosh/ |
D | windfarm_smu_sat.c | 1 // SPDX-License-Identifier: GPL-2.0-only 29 int nr; member 60 /* TODO: Add the resulting partition to the device-tree */ in smu_sat_get_sdb_partition() 65 err = i2c_smbus_write_word_data(sat->i2c, 8, id << 8); in smu_sat_get_sdb_partition() 71 err = i2c_smbus_read_word_data(sat->i2c, 9); in smu_sat_get_sdb_partition() 89 err = i2c_smbus_read_i2c_block_data(sat->i2c, 0xa, 4, data); in smu_sat_get_sdb_partition() 119 err = i2c_smbus_read_i2c_block_data(sat->i2c, 0x3f, 16, sat->cache); in wf_sat_read_cache() 122 sat->last_read = jiffies; in wf_sat_read_cache() 129 16, 1, sat->cache, 16, false); in wf_sat_read_cache() 138 struct wf_sat *sat = sens->sat; in wf_sat_sensor_get() [all …]
|
/linux-6.14.4/arch/x86/include/asm/ |
D | bitops.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 32 * These have to be done with inline assembly: that way the bit-setting 48 #define CONST_MASK_ADDR(nr, addr) WBYTE_ADDR((void *)(addr) + ((nr)>>3)) argument 49 #define CONST_MASK(nr) (1 << ((nr) & 7)) argument 52 arch_set_bit(long nr, volatile unsigned long *addr) in arch_set_bit() argument 54 if (__builtin_constant_p(nr)) { in arch_set_bit() 56 : CONST_MASK_ADDR(nr, addr) in arch_set_bit() 57 : "iq" (CONST_MASK(nr)) in arch_set_bit() 61 : : RLONG_ADDR(addr), "Ir" (nr) : "memory"); in arch_set_bit() 66 arch___set_bit(unsigned long nr, volatile unsigned long *addr) in arch___set_bit() argument [all …]
|
/linux-6.14.4/arch/sparc/kernel/ |
D | smp_64.c | 1 // SPDX-License-Identifier: GPL-2.0 28 #include <linux/cpu.h> 63 { [0 ... NR_CPUS-1] = CPU_MASK_NONE }; 66 [0 ... NR_CPUS-1] = CPU_MASK_NONE }; 69 [0 ... NR_CPUS - 1] = CPU_MASK_NONE }; 87 seq_printf(m, "CPU%d:\t\tonline\n", i); in smp_info() 96 "Cpu%dClkTck\t: %016lx\n", in smp_bogo() 127 current_thread_info()->new_child = 0; in smp_callin() 131 current->active_mm = &init_mm; in smp_callin() 133 /* inform the notifiers about the new cpu */ in smp_callin() [all …]
|
/linux-6.14.4/include/xen/ |
D | xen-ops.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 static inline uint32_t xen_vcpu_nr(int cpu) in xen_vcpu_nr() argument 18 return per_cpu(xen_vcpu_id, cpu); in xen_vcpu_nr() 36 void xen_setup_runstate_info(int cpu); 40 u64 xen_steal_clock(int cpu); 48 xen_pfn_t *pfn, int nr, int *err_ptr, pgprot_t prot, 52 xen_pfn_t *pfn, int nr, int *err_ptr, in xen_remap_pfn() argument 66 xen_pfn_t *gfn, int nr, 71 int nr, struct page **pages); 79 xen_pfn_t *gfn, int nr, in xen_xlate_remap_gfn_array() argument [all …]
|
/linux-6.14.4/tools/testing/selftests/mm/ |
D | uffd-stress.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 * There are three threads running per CPU: 13 * 1) one per-CPU thread takes a per-page pthread_mutex in a random 15 * area_src), and increments a per-page counter in the same page, 18 * 2) another per-CPU thread handles the userfaults generated by 22 * 3) one last per-CPU thread transfers the memory in the background 24 * 2). Each cpu thread takes cares of transferring a portion of the 32 * per-CPU threads 1 by triggering userfaults inside 37 #include "uffd-common.h" 58 "./uffd-stress anon 100 99999\n\n" [all …]
|
/linux-6.14.4/tools/testing/selftests/bpf/map_tests/ |
D | task_storage_map.c | 1 // SPDX-License-Identifier: GPL-2.0 34 while (!ctx->start) in lookup_fn() 37 while (!ctx->stop && i++ < ctx->loop) in lookup_fn() 38 bpf_map_lookup_elem(ctx->map_fd, &ctx->pid_fd, &value); in lookup_fn() 42 static void abort_lookup(struct lookup_ctx *ctx, pthread_t *tids, unsigned int nr) in abort_lookup() argument 46 ctx->stop = true; in abort_lookup() 47 ctx->start = true; in abort_lookup() 48 for (i = 0; i < nr; i++) in abort_lookup() 55 unsigned int i, nr = 256, loop = 8192, cpu = 0; in test_task_storage_map_stress_lookup() local 65 nr = atoi(cfg); in test_task_storage_map_stress_lookup() [all …]
|
/linux-6.14.4/tools/perf/scripts/python/ |
D | parallel-perf.py | 2 # SPDX-License-Identifier: GPL-2.0 5 # options --cpu and --time so that each job processes a different chunk 20 glb_prog_name = "parallel-perf.py" 88 return [ f"Non-empty error file {self.stderr_name}" ] 139 x = "0" * (10 - len(x)) + x 140 return x[:len(x) - 9] + "." + x[-9:] 150 max_len = len(str(cpus[-1])) 151 cpu_dir_fmt = f"cpu-%.{max_len}u" 154 for cpu in cpus: 155 if cpu >= 0: [all …]
|
/linux-6.14.4/arch/powerpc/platforms/cell/ |
D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 23 #include <linux/cpu.h> 38 #include <asm/text-patching.h> 50 * The Primary thread of each non-boot processor was started from the OF client 56 * smp_startup_cpu() - start the given cpu 57 * @lcpu: Logical CPU ID of the CPU to be started. 64 * 0 - failure 65 * 1 - success 82 * If the RTAS start-cpu token does not exist then presume the in smp_startup_cpu() 83 * cpu is already spinning. in smp_startup_cpu() [all …]
|
/linux-6.14.4/arch/powerpc/platforms/pseries/ |
D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 22 #include <linux/cpu.h> 42 #include <asm/text-patching.h> 49 * The Primary thread of each non-boot processor was started from the OF client 54 /* Query where a cpu is now. Return codes #defined in plpar_wrappers.h */ 62 "Firmware doesn't support query-cpu-stopped-state\n"); in smp_query_cpu_stopped() 69 "RTAS query-cpu-stopped-state failed: %i\n", status); in smp_query_cpu_stopped() 77 * smp_startup_cpu() - start the given cpu 84 * 0 - failure 85 * 1 - success [all …]
|
/linux-6.14.4/tools/lib/perf/ |
D | cpumap.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 RC_CHK_ACCESS(map)->nr = nr_cpus; in perf_cpu_map__set_nr() 33 cpus->nr = nr_cpus; in perf_cpu_map__alloc() 34 refcount_set(&cpus->refcnt, 1); in perf_cpu_map__alloc() 44 RC_CHK_ACCESS(cpus)->map[0].cpu = -1; in perf_cpu_map__new_any_cpu() 89 …pr_warning("Number of online CPUs (%d) differs from the number configured (%d) the CPU map will on… in cpu_map__new_sysconf() 98 RC_CHK_ACCESS(cpus)->map[i].cpu = i; in cpu_map__new_sysconf() 110 if (sysfs__read_str("devices/system/cpu/online", &buf, &buf_len) >= 0) { in cpu_map__new_sysfs_online() 132 return cpu_a->cpu - cpu_b->cpu; in cmp_cpu() 137 return RC_CHK_ACCESS(cpus)->map[idx]; in __perf_cpu_map__cpu() [all …]
|