/kernel/linux/linux-5.10/Documentation/core-api/ |
D | this_cpu_ops.rst | 8 this_cpu operations are a way of optimizing access to per cpu 11 the cpu permanently stored the beginning of the per cpu area for a 14 this_cpu operations add a per cpu variable offset to the processor 15 specific per cpu base and encode that operation in the instruction 16 operating on the per cpu variable. 24 Read-modify-write operations are of particular interest. Frequently 32 synchronization is not necessary since we are dealing with per cpu 37 Please note that accesses by remote processors to a per cpu area are 66 ------------------------------------ 69 per cpu area. It is then possible to simply use the segment override [all …]
|
D | local_ops.rst | 29 Local atomic operations are meant to provide fast and highly reentrant per CPU 34 Having fast per CPU atomic counters is interesting in many cases: it does not 40 CPU which owns the data. Therefore, care must taken to make sure that only one 41 CPU writes to the ``local_t`` data. This is done by using per cpu data and 43 however permitted to read ``local_t`` data from any CPU: it will then appear to 44 be written out of order wrt other memory writes by the owner CPU. 54 ``asm-generic/local.h`` in your architecture's ``local.h`` is sufficient. 66 * Variables touched by local ops must be per cpu variables. 67 * *Only* the CPU owner of these variables must write to them. 68 * This CPU can use local ops from any context (process, irq, softirq, nmi, ...) [all …]
|
/kernel/linux/linux-5.10/arch/ia64/mm/ |
D | discontig.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Copyright (c) 2002 Kimio Suganuma <k-suganuma@da.jp.nec.com> 33 * Track per-node information needed to setup the boot memory allocator, the 34 * per-node areas, and the real VM. 50 * To prevent cache aliasing effects, align per-node structures so that they 55 ((((addr) + 1024*1024-1) & ~(1024*1024-1)) + \ 56 (((node)*PERCPU_PAGE_SIZE) & (MAX_NODE_ALIGN_OFFSET - 1))) 59 * build_node_maps - callback to setup mem_data structs for each node 67 * if necessary. Any non-existent pages will simply be part of the virtual 90 * early_nr_cpus_node - return number of cpus on a given node [all …]
|
/kernel/linux/linux-5.10/tools/power/x86/x86_energy_perf_policy/ |
D | x86_energy_perf_policy.8 | 1 .\" This page Copyright (C) 2010 - 2015 Len Brown <len.brown@intel.com> 5 x86_energy_perf_policy \- Manage Energy vs. Performance Policy via x86 Model Specific Registers 10 .RB "scope: \-\-cpu\ cpu-list | \-\-pkg\ pkg-list" 12 .RB "cpu-list, pkg-list: # | #,# | #-# | all" 14 .RB "field: \-\-all | \-\-epb | \-\-hwp-epp | \-\-hwp-min | \-\-hwp-max | \-\-hwp-desired" 16 .RB "other: (\-\-force | \-\-hwp-enable | \-\-turbo-enable) value)" 18 .RB "value: # | default | performance | balance-performance | balance-power | power" 21 displays and updates energy-performance policy settings specific to 23 updates, no matter if the Linux cpufreq sub-system is enabled or not. 27 such as how aggressively the hardware enters and exits CPU idle states (C-states) [all …]
|
/kernel/linux/linux-5.10/Documentation/virt/ |
D | guest-halt-polling.rst | 15 2) The VM-exit cost can be avoided. 25 ("per-cpu guest_halt_poll_ns"), which is adjusted by the algorithm 42 Division factor used to shrink per-cpu guest_halt_poll_ns when 49 Multiplication factor used to grow per-cpu guest_halt_poll_ns 50 when event occurs after per-cpu guest_halt_poll_ns 57 The per-cpu guest_halt_poll_ns eventually reaches zero 59 per-cpu guest_halt_poll_ns when growing. This can 70 to avoid it (per-cpu guest_halt_poll_ns will remain 82 - Care should be taken when setting the guest_halt_poll_ns parameter as a 83 large value has the potential to drive the cpu usage to 100% on a machine
|
/kernel/linux/linux-5.10/Documentation/trace/ |
D | events-kmem.rst | 8 - Slab allocation of small objects of unknown type (kmalloc) 9 - Slab allocation of small objects of known type 10 - Page allocation 11 - Per-CPU Allocator Activity 12 - External Fragmentation 40 These events are similar in usage to the kmalloc-related events except that 50 mm_page_alloc_zone_locked page=%p pfn=%lu order=%u migratetype=%d cpu=%d percpu_refill=%d 56 the per-CPU allocator (high performance) or the buddy allocator. 60 amounts of activity imply high activity on the zone->lock. Taking this lock 72 contention on the zone->lru_lock. [all …]
|
/kernel/linux/linux-5.10/include/linux/ |
D | local_lock.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 * local_lock_init - Runtime initialize a lock instance 13 * local_lock - Acquire a per CPU local lock 19 * local_lock_irq - Acquire a per CPU local lock and disable interrupts 25 * local_lock_irqsave - Acquire a per CPU local lock, save and disable 34 * local_unlock - Release a per CPU local lock 40 * local_unlock_irq - Release a per CPU local lock and enable interrupts 46 * local_unlock_irqrestore - Release a per CPU local lock and restore
|
D | srcutree.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * Sleepable Read-Copy Update mechanism for mutual exclusion, 21 * Per-CPU structure feeding into leaf srcu_node, similar in function 25 /* Read-side state. */ 26 unsigned long srcu_lock_count[2]; /* Locks per CPU. */ 27 unsigned long srcu_unlock_count[2]; /* Unlocks per CPU. */ 29 /* Update-side state. */ 40 /* ->srcu_data_have_cbs[]. */ 41 int cpu; member 52 /* is > ->srcu_gq_seq. */ [all …]
|
D | percpu-defs.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * linux/percpu-defs.h - basic definitions for percpu areas 40 * Base implementations of per-CPU variable declarations and definitions, where 108 * Variant on the per-CPU variable declaration/definition theme used for 109 * ordinary per-CPU variables. 118 * Declaration/definition used for per-CPU variables that must come first in 128 * Declaration/definition used for per-CPU variables that must be cacheline 130 * data corresponds to a particular CPU, inefficiencies due to direct access by 134 * An example of this would be statistical data, where each CPU's set of data 135 * is updated by that CPU alone, but the data from across all CPUs is collated [all …]
|
/kernel/linux/linux-5.10/tools/perf/pmu-events/arch/x86/broadwell/ |
D | bdw-metrics.json | 7 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 10 …nd undersupplies its Backend. SMT version; use when SMT is enabled and measuring per logical CPU.", 14 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 18 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4… 21 …s for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For… 24 …ue to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU.", 25 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * (( INT_MISC.RECOVERY_CYCLES_ANY… 28 …-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work… 32 …"MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * cycles)) + (( UOPS_ISSUED.ANY - UOPS_RETI… 35 …-of-order scheduler dispatches ready uops into their respective execution units; and once complete… [all …]
|
/kernel/linux/linux-5.10/arch/x86/kernel/ |
D | apb_timer.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 * - timer 0 - NR_CPUs for per cpu timer 18 * - one timer for clocksource 19 * - one timer for watchdog driver. 20 * It is also worth notice that APB timer does not support true one-shot mode, 21 * free-running mode will be used here to emulate one-shot mode. 22 * APB timer can also be used as broadcast timer along with per cpu local APIC 34 #include <linux/cpu.h> 39 #include <asm/intel-mid.h> 60 int cpu; member [all …]
|
/kernel/linux/linux-5.10/tools/perf/pmu-events/arch/x86/jaketown/ |
D | jkt-metrics.json | 7 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 10 …nd undersupplies its Backend. SMT version; use when SMT is enabled and measuring per logical CPU.", 14 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 18 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4… 21 …s for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For… 24 …ue to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU.", 25 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * (( INT_MISC.RECOVERY_CYCLES_ANY… 28 …-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work… 32 …"MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * cycles)) + (( UOPS_ISSUED.ANY - UOPS_RETI… 35 …-of-order scheduler dispatches ready uops into their respective execution units; and once complete… [all …]
|
/kernel/linux/linux-5.10/tools/perf/pmu-events/arch/x86/sandybridge/ |
D | snb-metrics.json | 7 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 10 …nd undersupplies its Backend. SMT version; use when SMT is enabled and measuring per logical CPU.", 14 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 18 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4… 21 …s for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For… 24 …ue to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU.", 25 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * (( INT_MISC.RECOVERY_CYCLES_ANY… 28 …-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work… 32 …"MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * cycles)) + (( UOPS_ISSUED.ANY - UOPS_RETI… 35 …-of-order scheduler dispatches ready uops into their respective execution units; and once complete… [all …]
|
/kernel/linux/linux-5.10/tools/perf/pmu-events/arch/x86/haswell/ |
D | hsw-metrics.json | 7 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 10 …nd undersupplies its Backend. SMT version; use when SMT is enabled and measuring per logical CPU.", 14 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 18 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4… 21 …s for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For… 24 …ue to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU.", 25 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * (( INT_MISC.RECOVERY_CYCLES_ANY… 28 …-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work… 32 …"MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * cycles)) + (( UOPS_ISSUED.ANY - UOPS_RETI… 35 …-of-order scheduler dispatches ready uops into their respective execution units; and once complete… [all …]
|
/kernel/linux/linux-5.10/tools/perf/pmu-events/arch/x86/haswellx/ |
D | hsx-metrics.json | 7 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 10 …nd undersupplies its Backend. SMT version; use when SMT is enabled and measuring per logical CPU.", 14 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 18 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4… 21 …s for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For… 24 …ue to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU.", 25 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * (( INT_MISC.RECOVERY_CYCLES_ANY… 28 …-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work… 32 …"MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * cycles)) + (( UOPS_ISSUED.ANY - UOPS_RETI… 35 …-of-order scheduler dispatches ready uops into their respective execution units; and once complete… [all …]
|
/kernel/linux/linux-5.10/Documentation/x86/ |
D | topology.rst | 1 .. SPDX-License-Identifier: GPL-2.0 11 The architecture-agnostic topology definitions are in 12 Documentation/admin-guide/cputopology.rst. This file holds x86-specific 17 Needless to say, code should use the generic functions - this file is *only* 35 - packages 36 - cores 37 - threads 48 Package-related topology information in the kernel: 50 - cpuinfo_x86.x86_max_cores: 54 - cpuinfo_x86.x86_max_dies: [all …]
|
/kernel/linux/linux-5.10/tools/perf/pmu-events/arch/x86/broadwellde/ |
D | bdwde-metrics.json | 3 "BriefDescription": "Instructions Per Cycle (per logical thread)", 9 "BriefDescription": "Uops Per Instruction", 27 "BriefDescription": "Cycles Per Instruction (threaded)", 33 …"BriefDescription": "Per-thread actual clocks when the logical processor is active. This is called… 39 "BriefDescription": "Total issue-pipeline slots", 51 "BriefDescription": "Instructions Per Cycle (per physical core)", 57 …"BriefDescription": "Instruction-Level-Parallelism (average number of uops executed when there is … 58 …"MetricExpr": "UOPS_EXECUTED.THREAD / ( cpu@uops_executed.core\\,cmask\\=1@ / 2) if #SMT_on else U… 64 …"MetricExpr": "2* ( RS_EVENTS.EMPTY_CYCLES - ICACHE.IFDATA_STALL - ( 14 * ITLB_MISSES.STLB_HIT + … 75 "BriefDescription": "Actual Average Latency for L1 data-cache miss demand loads", [all …]
|
/kernel/linux/linux-5.10/drivers/irqchip/ |
D | irq-armada-370-xp.c | 7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 23 #include <linux/cpu.h> 40 * To CPU 0 To CPU 1 44 * +---------------+ +---------------+ 46 * | per-CPU | | per-CPU | 50 * +---------------+ +---------------+ 55 * +-------------------+ 60 * +-------------------+ 71 * The "per-CPU mask/unmask" is modified using the [all …]
|
/kernel/linux/linux-5.10/tools/perf/Documentation/ |
D | perf-stat.txt | 1 perf-stat(1) 5 ---- 6 perf-stat - Run a command and gather performance counter statistics 9 -------- 11 'perf stat' [-e <EVENT> | --event=EVENT] [-a] <command> 12 'perf stat' [-e <EVENT> | --event=EVENT] [-a] -- <command> [<options>] 13 'perf stat' [-e <EVENT> | --event=EVENT] [-a] record [-o file] -- <command> [<options>] 14 'perf stat' report [-i file] 17 ----------- 23 ------- [all …]
|
/kernel/linux/linux-5.10/scripts/gdb/linux/ |
D | cpus.py | 4 # per-cpu tools 6 # Copyright (c) Siemens AG, 2011-2013 24 return gdb.selected_thread().num - 1 27 if tid > (0x100000000 - MAX_CPUS - 2): 28 return 0x100000000 - tid - 2 30 return tasks.get_thread_info(tasks.get_task_by_pid(tid))['cpu'] 32 raise gdb.GdbError("Sorry, obtaining the current CPU is not yet " 36 def per_cpu(var_ptr, cpu): argument 37 if cpu == -1: 38 cpu = get_current_cpu() [all …]
|
/kernel/linux/linux-5.10/tools/perf/pmu-events/arch/x86/ivybridge/ |
D | ivb-metrics.json | 7 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 10 …nd undersupplies its Backend. SMT version; use when SMT is enabled and measuring per logical CPU.", 14 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 18 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4… 21 …s for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For… 24 …ue to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU.", 25 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * (( INT_MISC.RECOVERY_CYCLES_ANY… 28 …-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work… 32 …"MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * cycles)) + (( UOPS_ISSUED.ANY - UOPS_RETI… 35 …-of-order scheduler dispatches ready uops into their respective execution units; and once complete… [all …]
|
/kernel/linux/linux-5.10/tools/perf/pmu-events/arch/x86/ivytown/ |
D | ivt-metrics.json | 7 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 10 …nd undersupplies its Backend. SMT version; use when SMT is enabled and measuring per logical CPU.", 14 …-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into mi… 18 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4… 21 …s for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For… 24 …ue to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU.", 25 …"MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * (( INT_MISC.RECOVERY_CYCLES_ANY… 28 …-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work… 32 …"MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * cycles)) + (( UOPS_ISSUED.ANY - UOPS_RETI… 35 …-of-order scheduler dispatches ready uops into their respective execution units; and once complete… [all …]
|
/kernel/linux/linux-5.10/Documentation/cpu-freq/ |
D | cpu-drivers.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 - Dominik Brodowski <linux@brodo.de> 11 - Rafael J. Wysocki <rafael.j.wysocki@intel.com> 12 - Viresh Kumar <viresh.kumar@linaro.org> 18 1.2 Per-CPU Initialization 31 So, you just got a brand-new CPU / chipset with datasheets and want to 32 add cpufreq support for this CPU / chipset? Great. Here are some hints 37 ------------------ 40 function check whether this kernel runs on the right CPU and the right 46 .name - The name of this driver. [all …]
|
/kernel/linux/linux-5.10/kernel/printk/ |
D | printk_safe.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * printk_safe.c - Safe printk for printk-deadlock-prone contexts 21 * the strings into a per-CPU buffer. The content of the buffer 26 * per-CPU variable. 28 * The implementation allows to flush the strings also from another CPU. 33 #define SAFE_LOG_BUF_LEN ((1 << CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT) - \ 34 sizeof(atomic_t) - \ 35 sizeof(atomic_t) - \ 58 irq_work_queue(&s->work); in queue_flush_work() 62 * Add a message to per-CPU context-dependent buffer. NMI and printk-safe [all …]
|
/kernel/linux/linux-5.10/Documentation/admin-guide/ |
D | perf-security.rst | 7 -------- 19 1. System hardware and software configuration data, for example: a CPU 30 faults, CPU migrations), architectural hardware performance counters 50 ------------------------------- 66 independently enabled and disabled on per-thread basis for processes and 100 --------------------------------- 102 Mechanisms of capabilities, privileged capability-dumb files [6]_ and 115 # ls -alhF 116 -rwxr-xr-x 2 root root 11M Oct 19 15:12 perf 118 # ls -alhF [all …]
|