| /linux/arch/mips/sgi-ip27/ |
| H A 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/tools/perf/util/ |
| H A 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 …]
|
| H A 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() 106 int cpu; cpu_map__from_mask() local 129 for (int cpu = data->range_cpu_data.start_cpu; cpu <= data->range_cpu_data.end_cpu; cpu_map__from_range() local 161 perf_cpu_map__empty_new(int nr) perf_cpu_map__empty_new() argument 173 cpu_aggr_map__empty_new(int nr) cpu_aggr_map__empty_new() argument 188 cpu__get_topology_int(int cpu,const char * name,int * value) cpu__get_topology_int() argument 198 cpu__get_socket_id(struct perf_cpu cpu) cpu__get_socket_id() argument 204 aggr_cpu_id__socket(struct perf_cpu cpu,void * data __maybe_unused) aggr_cpu_id__socket() argument 240 struct perf_cpu cpu; cpu_aggr_map__new() local 282 cpu__get_die_id(struct perf_cpu cpu) cpu__get_die_id() argument 289 aggr_cpu_id__die(struct perf_cpu cpu,void * data) aggr_cpu_id__die() argument 312 cpu__get_cluster_id(struct perf_cpu cpu) cpu__get_cluster_id() argument 319 aggr_cpu_id__cluster(struct perf_cpu cpu,void * data) aggr_cpu_id__cluster() argument 336 cpu__get_core_id(struct perf_cpu cpu) cpu__get_core_id() argument 342 aggr_cpu_id__core(struct perf_cpu cpu,void * data) aggr_cpu_id__core() argument 361 aggr_cpu_id__cpu(struct perf_cpu cpu,void * data) aggr_cpu_id__cpu() argument 375 aggr_cpu_id__node(struct perf_cpu cpu,void * data __maybe_unused) aggr_cpu_id__node() argument 383 aggr_cpu_id__global(struct perf_cpu cpu,void * data __maybe_unused) aggr_cpu_id__global() argument 518 cpu__get_node(struct perf_cpu cpu) cpu__get_node() argument 551 unsigned int cpu, mem; cpu__setup_cpunode_map() local 609 struct perf_cpu cpu = { .cpu = INT_MAX }; cpu_map__snprint() local 673 for (int cpu = last_cpu.cpu / 4 * 4; cpu >= 0; cpu -= 4) { cpu_map__snprint_mask() local [all...] |
| H A 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 …]
|
| H A 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/cpu 35 struct perf_cpu cpu; global() member 42 int nr; global() member [all...] |
| H A D | header.c | 1 // SPDX-License-Identifier: GPL-2.0 35 #include "trace-event.h" 44 #include "build-id.h" 50 #include "time-utils.h" 54 #include "bpf-event.h" 55 #include "bpf-utils.h" 62 #include <event-parse.h> 89 __set_bit(feat, header->adds_features); in perf_header__set_feat() 94 __clear_bit(feat, header->adds_features); in perf_header__clear_feat() 99 return test_bit(feat, header->adds_features); in perf_header__has_feat() [all …]
|
| H A D | session.c | 1 // SPDX-License-Identifier: GPL-2.0 32 #include "thread-stack.h" 33 #include "sample-raw.h" 52 struct perf_data *data = session->data; in perf_session__open() 55 pr_err("incompatible file format (rerun with -v to learn more)\n"); in perf_session__open() 56 return -1; in perf_session__open() 59 if (perf_header__has_feat(&session->header, HEADER_AUXTRACE)) { in perf_session__open() 67 if (perf_header__has_feat(&session->header, HEADER_STAT)) in perf_session__open() 70 if (!evlist__valid_sample_type(session->evlist)) { in perf_session__open() 72 return -1; in perf_session__open() [all …]
|
| /linux/Documentation/devicetree/bindings/powerpc/ |
| H A 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/arch/powerpc/include/asm/ |
| H A 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 <cort@fsmlabs.com> 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/tools/perf/Documentation/ |
| H A 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/drivers/macintosh/ |
| H A 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/arch/x86/include/asm/ |
| H A 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/include/xen/ |
| H A D | xen-ops.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 17 static inline uint32_t xen_vcpu_nr(int cpu) in xen_vcpu_nr() argument 19 return per_cpu(xen_vcpu_id, cpu); in xen_vcpu_nr() 36 void xen_setup_runstate_info(int cpu); 39 u64 xen_steal_clock(int cpu); 47 xen_pfn_t *pfn, int nr, int *err_ptr, pgprot_t prot, 51 xen_pfn_t *pfn, int nr, int *err_ptr, in xen_remap_pfn() argument 65 xen_pfn_t *gfn, int nr, 70 int nr, struct page **pages); 78 xen_pfn_t *gfn, int nr, in xen_xlate_remap_gfn_array() argument [all …]
|
| /linux/arch/powerpc/boot/dts/ |
| H A D | microwatt.dts | 1 /dts-v1/; 2 #include <dt-bindings/gpio/gpio.h> 5 #size-cells = <0x02>; 6 #address-cells = <0x02>; 8 compatible = "microwatt-soc"; 15 reserved-memory { 16 #size-cells = <0x02>; 17 #address-cells = <0x02>; 28 #clock-cells = <0>; 29 compatible = "fixed-clock"; [all …]
|
| /linux/tools/perf/scripts/python/ |
| H A 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/tools/testing/selftests/bpf/map_tests/ |
| H A 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/tools/perf/tests/ |
| H A 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/tools/lib/perf/ |
| H A 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 …]
|
| /linux/arch/x86/xen/ |
| H A D | enlighten_pv.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * - privileged instructions 8 * - interrupt flags 9 * - segment operations 10 * - booting and setup 15 #include <linux/cpu.h> 30 #include <linux/page-flags.h> 46 #include <xen/interface/xen-mca.h> 49 #include <xen/hvc-console.h> 63 #include <asm/msr-index.h> [all …]
|
| /linux/arch/powerpc/platforms/powermac/ |
| H A D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 12 * code to detect this card though and disable SMP. --BenH. 17 * Support for DayStar quad CPU cards 18 * Copyright (C) XLR8, Inc. 1994-2000 32 #include <linux/cpu.h> 38 #include <asm/text-patching.h> 89 /* Daystar/XLR8 4-CPU card */ 115 #define PSURGE_NONE -1 131 static inline void psurge_set_ipi(int cpu) in psurge_set_ipi() argument 135 if (cpu == 0) in psurge_set_ipi() [all …]
|
| /linux/tools/testing/selftests/mm/ |
| H A 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" 64 "./uffd-stress anon 100 99999\n\n" [all …]
|
| /linux/arch/s390/kernel/ |
| H A D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0 13 * The code outside of smp.c uses logical cpu numbers, only smp.c does 14 * the translation of logical to physical cpu ids. All new code that 15 * operates on physical cpu numbers needs to go into smp.c. 18 #define KMSG_COMPONENT "cpu" 34 #include <linux/cpu.h> 40 #include <asm/access-regs.h> 41 #include <asm/asm-offsets.h> 82 * Pointer to the pcpu area of the boot CPU. This is required when a restart 83 * interrupt is triggered on an offline CPU. For that case accessing percpu [all …]
|
| /linux/fs/btrfs/ |
| H A D | accessors.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 78 const type *p = folio_address(eb->folios[0]) + \ 79 offset_in_page(eb->start); \ 80 return get_unaligned_le##bits(&p->member); \ 85 type *p = folio_address(eb->folios[0]) + offset_in_page(eb->start); \ 86 put_unaligned_le##bits(val, &p->member); \ 92 return get_unaligned_le##bits(&s->member); \ 96 put_unaligned_le##bits(val, &s->member); \ 110 WARN_ON(!IS_ALIGNED(val, eb->fs_info->sectorsize)); in btrfs_set_device_total_bytes() 189 static inline struct btrfs_stripe *btrfs_stripe_nr(struct btrfs_chunk *c, int nr) in btrfs_stripe_nr() argument [all …]
|
| /linux/tools/lib/perf/include/perf/ |
| H A D | event.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 168 ((void *)&(evt)->attr.attr + (evt)->attr.attr.size) 177 * Array encoding of a perf_cpu_map where nr is the number of entries in cpu[] 178 * and each entry is a value for a CPU in the map. 181 __u16 nr; member 182 __u16 cpu[]; member 185 /* Bitmap encoding of a perf_cpu_map where bitmap entries are 32-bit. */ 188 __u16 nr; member 195 /* Bitmap encoding of a perf_cpu_map where bitmap entries are 64-bit. */ 198 __u16 nr; member [all …]
|
| /linux/include/linux/ |
| H A D | sbitmap.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 6 * Copyright (C) 2013-2014 Jens Axboe 27 * struct sbitmap_word - Word in a &struct sbitmap. 41 * @swap_lock: serializes simultaneous updates of ->word and ->cleared 47 * struct sbitmap - Scalable bitmap. 49 * A &struct sbitmap is spread over multiple cachelines to avoid ping-pong. This 69 * @round_robin: Allocate bits in strict round-robin order. 81 * This is per-cpu, which allows multiple users to stick to different 91 * struct sbq_wait_state - Wait queue in a &struct sbitmap_queue. 101 * struct sbitmap_queue - Scalable bitmap with the added ability to wait on free [all …]
|