| /linux/tools/tracing/rtla/src/ |
| H A D | osnoise_hist.c | 1 // SPDX-License-Identifier: GPL-2.0 37 * osnoise_free_histogram - free runtime data 45 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in osnoise_free_histogram() 46 if (data->hist[cpu].samples) in osnoise_free_histogram() 47 free(data->hist[cpu].samples); in osnoise_free_histogram() 51 if (data->hist) in osnoise_free_histogram() 52 free(data->hist); in osnoise_free_histogram() 59 osnoise_free_histogram(tool->data); in osnoise_free_hist_tool() 63 * osnoise_alloc_histogram - alloc runtime data 75 data->entries = entries; in osnoise_alloc_histogram() [all …]
|
| H A D | timerlat_aa.c | 1 // SPDX-License-Identifier: GPL-2.0 23 * Per-cpu data statistics and data. 64 * If now - timestamp is <= latency, it might have influenced 135 * timerlat_aa_get_data - Get the per-cpu data from the timerlat context 140 return &taa_ctx->taa_data[cpu]; in timerlat_aa_get_data() 144 * timerlat_aa_irq_latency - Handles timerlat IRQ event 154 taa_data->curr_state = TIMERLAT_WAITING_THREAD; in timerlat_aa_irq_latency() 155 taa_data->tlat_irq_timstamp = record->ts; in timerlat_aa_irq_latency() 160 taa_data->thread_nmi_sum = 0; in timerlat_aa_irq_latency() 161 taa_data->thread_irq_sum = 0; in timerlat_aa_irq_latency() [all …]
|
| H A D | osnoise_top.c | 1 // SPDX-License-Identifier: GPL-2.0 38 * osnoise_free_top - free runtime data 42 free(data->cpu_data); in osnoise_free_top() 48 osnoise_free_top(tool->data); in osnoise_free_top_tool() 52 * osnoise_alloc_histogram - alloc runtime data 62 data->nr_cpus = nr_cpus; in osnoise_alloc_top() 65 data->cpu_data = calloc(1, sizeof(*data->cpu_data) * nr_cpus); in osnoise_alloc_top() 66 if (!data->cpu_data) in osnoise_alloc_top() 77 * osnoise_top_handler - this is the handler for osnoise tracer events 88 int cpu = record->cpu; in osnoise_top_handler() [all …]
|
| H A D | timerlat_top.c | 1 // SPDX-License-Identifier: GPL-2.0 49 * timerlat_free_top - free runtime data 53 free(data->cpu_data); in timerlat_free_top() 59 timerlat_free_top(tool->data); in timerlat_free_top_tool() 64 * timerlat_alloc_histogram - alloc runtime data 75 data->nr_cpus = nr_cpus; in timerlat_alloc_top() 78 data->cpu_data = calloc(1, sizeof(*data->cpu_data) * nr_cpus); in timerlat_alloc_top() 79 if (!data->cpu_data) in timerlat_alloc_top() 84 data->cpu_data[cpu].min_irq = ~0; in timerlat_alloc_top() 85 data->cpu_data[cpu].min_thread = ~0; in timerlat_alloc_top() [all …]
|
| H A D | timerlat_hist.c | 1 // SPDX-License-Identifier: GPL-2.0 51 * timerlat_free_histogram - free runtime data 59 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_free_histogram() 60 if (data->hist[cpu].irq) in timerlat_free_histogram() 61 free(data->hist[cpu].irq); in timerlat_free_histogram() 63 if (data->hist[cpu].thread) in timerlat_free_histogram() 64 free(data->hist[cpu].thread); in timerlat_free_histogram() 66 if (data->hist[cpu].user) in timerlat_free_histogram() 67 free(data->hist[cpu].user); in timerlat_free_histogram() 72 if (data->hist) in timerlat_free_histogram() [all …]
|
| /linux/Documentation/trace/ |
| H A D | osnoise-tracer.rst | 5 In the context of high-performance computing (HPC), the Operating System 9 system. Moreover, hardware-related jobs can also cause noise, for example, 32 source of interferences, increasing a per-cpu interference counter. The 38 hardware-related noise. In this way, osnoise can account for any 44 ----- 59 # _-----=> irqs-off 60 # / _----=> need-resched 61 # | / _---=> hardirq/softirq 62 # || / _--=> preempt-depth MAX 64 … |||| RUNTIME NOISE % OF CPU NOISE +-----------------------------+ [all …]
|
| H A D | timerlat-tracer.rst | 6 find sources of wakeup latencies of real-time threads. Like cyclictest, 13 ----- 28 # _-----=> irqs-off 29 # / _----=> need-resched 30 # | / _---=> hardirq/softirq 31 # || / _--=> preempt-depth 34 # TASK-PID CPU# |||| TIMESTAMP ID CONTEXT LATENCY 36 <idle>-0 [000] d.h1 54.029328: #1 context irq timer_latency 932 ns 37 <...>-867 [000] .... 54.029339: #1 context thread timer_latency 11700 ns 38 <idle>-0 [001] dNh1 54.029346: #1 context irq timer_latency 2833 ns [all …]
|
| /linux/drivers/media/rc/ |
| H A D | ir-sharp-decoder.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* ir-sharp-decoder.c - handle Sharp IR Pulse/Space protocol 4 * Copyright (C) 2013-2014 Imagination Technologies Ltd. 12 #include "rc-core-priv.h" 15 #define SHARP_UNIT 40 /* us */ 16 #define SHARP_BIT_PULSE (8 * SHARP_UNIT) /* 320us */ 17 #define SHARP_BIT_0_PERIOD (25 * SHARP_UNIT) /* 1ms (680us space) */ 18 #define SHARP_BIT_1_PERIOD (50 * SHARP_UNIT) /* 2ms (1680us space) */ 19 #define SHARP_BIT_0_SPACE (17 * SHARP_UNIT) /* 680us space */ 20 #define SHARP_BIT_1_SPACE (42 * SHARP_UNIT) /* 1680us space */ [all …]
|
| H A D | ir-xmp-decoder.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* ir-xmp-decoder.c - handle XMP IR Pulse/Space protocol 6 * - Based on info from http://www.hifi-remote.com 7 * - Ignore Toggle=9 frames 8 * - Ignore XMP-1 XMP-2 difference, always store 16 bit OBC 13 #include "rc-core-priv.h" 15 #define XMP_UNIT 136 /* us */ 16 #define XMP_LEADER 210 /* us */ 17 #define XMP_NIBBLE_PREFIX 760 /* us */ 18 #define XMP_HALFFRAME_SPACE 13800 /* us */ [all …]
|
| H A D | ir-jvc-decoder.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* ir-jvc-decoder.c - handle JVC IR Pulse/Space protocol 9 #include "rc-core-priv.h" 12 #define JVC_UNIT 525 /* us */ 13 #define JVC_HEADER_PULSE (16 * JVC_UNIT) /* lack of header -> repeat */ 32 * ir_jvc_decode() - Decode one JVC pulse or space 36 * This function returns -EINVAL if the pulse violates the state machine 40 struct jvc_dec *data = &dev->raw->jvc; in ir_jvc_decode() 44 data->state = STATE_INACTIVE; in ir_jvc_decode() 48 if (!geq_margin(ev.duration, JVC_UNIT, JVC_UNIT / 2)) in ir_jvc_decode() [all …]
|
| /linux/tools/testing/selftests/rcutorture/bin/ |
| H A D | kvm-recheck-rcuscale-ftrace.sh | 2 # SPDX-License-Identifier: GPL-2.0+ 6 # printed. Intended to be invoked from kvm-recheck-rcuscale.sh after 9 # Usage: kvm-recheck-rcuscale-ftrace.sh resdir 18 if test "`grep -c 'rcu_exp_grace_period.*start' < $i/console.log`" -lt 100 23 sed -e 's/^\[[^]]*]//' < $i/console.log | 24 grep 'us : rcu_exp_grace_period' | 25 sed -e 's/us : / : /' | 26 tr -d '\015' | 39 curgpdur = $3 - starttime; 44 print "Long GP " starttime "us to " $3 "us (" curgpdur "us)"; [all …]
|
| /linux/Documentation/devicetree/bindings/thermal/ |
| H A D | thermal-idle.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/thermal/thermal-idle.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Daniel Lezcano <daniel.lezcano@linaro.org> 22 const: thermal-idle 24 A thermal-idle node describes the idle cooling device properties to 27 '#cooling-cells': 31 the cooling-maps reference. The first cell is the minimum cooling state 34 duration-us: [all …]
|
| /linux/drivers/net/fddi/skfp/ |
| H A D | hwt.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 20 * 28-Jun-1994 sw Edit v1.6. 21 * MCA: Added support for the SK-NET FDDI-FM2 adapter. The 33 /* 28-Jun-1994 sw - Note: hwt_restart() is also used in module 'drvfbi.c'. */ 40 * Start hardware timer (clock ticks are 16us). 46 * smc - A pointer to the SMT Context structure. 48 * time - The time in units of 16us to load the timer with. 62 smc->hw.t_start = time ; in hwt_start() 63 smc->hw.t_stop = 0L ; in hwt_start() 67 * if time < 16 us in hwt_start() [all …]
|
| /linux/net/mac80211/ |
| H A D | airtime.c | 1 // SPDX-License-Identifier: ISC 4 * Copyright (C) 2021-2022 Intel Corporation 16 /* Number of kilo-symbols (symbols * 1024) for a packet with (bps) bits per 17 * symbol. We use k-symbols to avoid rounding in the _TIME macros below. 26 ((ksyms) * 4 * 18) / 20 : /* 3.6 us per sym */ \ 27 ((ksyms) * 4) /* 4.0 us per sym */ \ 30 /* Transmit duration for the raw data part of an average sized packet */ 42 /* Transmission time (1024 usec) for a packet containing (ksyms) * k-symbols */ 45 ((ksyms) * 16 * 17) / 20 : /* 13.6 us per sym */ \ 47 ((ksyms) * 16 * 18) / 20 : /* 14.4 us per sym */ \ [all …]
|
| H A D | offchannel.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Off-channel operation helpers 8 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> 11 * Copyright (C) 2019, 2022-2025 Intel Corporation 16 #include "driver-ops.h" 21 * the frames while we are doing off-channel work. This is optional 22 * because we *may* be doing work on-operatin 564 ieee80211_start_roc_work(struct ieee80211_local * local,struct ieee80211_sub_if_data * sdata,struct ieee80211_channel * channel,unsigned int duration,u64 * cookie,struct sk_buff * txskb,enum ieee80211_roc_type type) ieee80211_start_roc_work() argument 709 ieee80211_remain_on_channel(struct wiphy * wiphy,struct wireless_dev * wdev,struct ieee80211_channel * chan,unsigned int duration,u64 * cookie) ieee80211_remain_on_channel() argument [all...] |
| /linux/tools/power/cpupower/utils/ |
| H A D | cpufreq-info.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de> 39 value[LINE_LEN - 1] = '\0'; in count_cpus() 40 if (strlen(value) < (LINE_LEN - 2)) in count_cpus() 64 printf(_(" minimum CPU frequency - maximum CPU frequency - governor\n")); in proc_cpufreq_output() 75 min_pctg = (policy->min * 100) / max; in proc_cpufreq_output() 76 max_pctg = (policy->max * 100) / max; in proc_cpufreq_output() 78 printf("CPU%3d %9lu kHz (%3d %%) - %9lu kHz (%3d %%) - %s\n", in proc_cpufreq_output() 79 cpu , policy->min, max ? min_pctg : 0, policy->max, in proc_cpufreq_output() 80 max ? max_pctg : 0, policy->governor); in proc_cpufreq_output() [all …]
|
| /linux/drivers/thermal/ |
| H A D | cpuidle_cooling.c | 1 // SPDX-License-Identifier: GPL-2.0 21 * struct cpuidle_cooling_device - data for the idle cooling device 31 * cpuidle_cooling_runtime - Running time computation 35 * The running duration is computed from the idle injection duration 37 * means the running duration is zero. If we have a 50% ratio 38 * injection, that means we have equal duration for idle and for 39 * running duration. 43 * running = idle x ((100 / ratio) - 1) 47 * running = (idle x 100) / ratio - idle 49 * For example, if we have an injected duration of 50%, then we end up [all …]
|
| /linux/Documentation/driver-api/thermal/ |
| H A D | cpu-idle-cooling.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 ---------- 26 budget lower than the requested one and under-utilize the CPU, thus 27 losing performance. In other words, one OPP under-utilizes the CPU 33 ---------- 36 duration in a controlled period, the SoC temperature will 37 decrease. Acting on the idle state duration or the idle cycle 48 belong to the same cluster, with a duration greater than the cluster 58 --------------- 69 We use a fixed duration of idle injection that gives an acceptable [all …]
|
| /linux/drivers/cpuidle/governors/ |
| H A D | menu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * menu.c - the menu idle governor 5 * Copyright (C) 2006-2007 Adam Belay <abelay@novell.com> 39 * ----------------------- 42 * provides us this duration in the "target_residency" field. So all that we 50 * duration always was 50% of the next timer tick, the correction factor will 55 * ratio is dependent on the order of magnitude of the expected duration; if we 59 * indexed based on the magnitude of the expected duration. 61 * Repeatable-interval-detector 62 * ---------------------------- [all …]
|
| /linux/drivers/gpu/drm/i915/gt/ |
| H A D | intel_engine_pm.c | 1 // SPDX-License-Identifier: MIT 22 struct drm_i915_private *i915 = engine->i915; in intel_gsc_idle_msg_enable() 24 if (MEDIA_VER(i915) >= 13 && engine->id == GSC0) { in intel_gsc_idle_msg_enable() 25 intel_uncore_write(engine->gt->uncore, in intel_gsc_idle_msg_enable() 28 /* hysteresis 0xA=5us as recommended in spec*/ in intel_gsc_idle_msg_enable() 29 intel_uncore_write(engine->gt->uncore, in intel_gsc_idle_msg_enable() 40 if (ce->state) { in dbg_poison_ce() 41 struct drm_i915_gem_object *obj = ce->state->obj; in dbg_poison_ce() 42 int type = intel_gt_coherent_map_type(ce->engine->gt, obj, true); in dbg_poison_ce() 50 memset(map, CONTEXT_REDZONE, obj->base.size); in dbg_poison_ce() [all …]
|
| /linux/drivers/md/bcache/ |
| H A D | util.c | 1 // SPDX-License-Identifier: GPL-2.0 32 return -EINVAL; \ 55 return -EINVAL; \ 64 return -EINVAL; \ 66 while (u--) { \ 69 return -EINVAL; \ 71 (i < 0 && -ANYSINT_MAX(type) / 1024 > i)) \ 72 return -EINVAL; \ 86 * bch_hprint - formats @v to human readable string for sysfs. in STRTO_H() 100 q = -v; in STRTO_H() [all …]
|
| /linux/Documentation/tools/rtla/ |
| H A D | common_options.rst | 1 **-c**, **--cpus** *cpu-list* 3 Set the osnoise tracer to run the sample threads in the cpu-list. 5 **-H**, **--house-keeping** *cpu-list* 7 Run rtla control threads only on the given cpu-list. 9 **-d**, **--duration** *time[s|m|h|d]* 11 Set the duration of the session. 13 **-D**, **--debug** 17 **-e**, **--event** *sys:event* 19 …-t**) session. The argument can be a specific event, e.g., **-e** *sched:sched_switch*, or all eve… 21 **--filter** *<filter>* [all …]
|
| H A D | rtla-hwnoise.rst | 1 .. SPDX-License-Identifier: GPL-2.0 6 rtla-hwnoise 8 ------------------------------------------ 9 Detect and quantify hardware-related noise 10 ------------------------------------------ 24 of threads as a consequence, only non-maskable interrupts and hardware-related 40 In the example below, the **rtla hwnoise** tool is set to run on CPUs *1-7* 41 on a system with 8 cores/16 threads with hyper-threading enabled. 47 # rtla hwnoise -c 1-7 -T 1 -d 10m -q 48 Hardware-related Noise [all …]
|
| /linux/Documentation/devicetree/bindings/watchdog/ |
| H A D | zii,rave-wdt.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/watchdog/zii,rave-wdt.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Martyn Welch <martyn.welch@collabora.co.uk> 11 - Guenter Roeck <linux@roeck-us.net> 12 - Wim Van Sebroeck <wim@iguana.be> 16 const: zii,rave-wdt 22 reset-duration-ms: 24 Duration of the pulse generated when the watchdog times [all …]
|
| /linux/drivers/media/platform/st/sti/hva/ |
| H A D | hva-debugfs.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include "hva-hw.h" 15 struct hva_streaminfo *stream = &ctx->streaminfo; in format_ctx() 16 struct hva_frameinfo *frame = &ctx->frameinfo; in format_ctx() 17 struct hva_controls *ctrls = &ctx->ctrls; in format_ctx() 18 struct hva_ctx_dbg *dbg = &ctx->dbg; in format_ctx() 21 seq_printf(s, "|-%s\n |\n", ctx->name); in format_ctx() 23 seq_printf(s, " |-[%sframe info]\n", in format_ctx() 24 ctx->flags & HVA_FLAG_FRAMEINFO ? "" : "default "); in format_ctx() 25 seq_printf(s, " | |- pixel format=%4.4s\n" in format_ctx() [all …]
|