/linux-6.12.1/tools/perf/tests/shell/ |
D | lock_contention.sh | 2 # kernel lock contention analysis test 31 echo "[Skip] No lock contention tracepoints" 46 echo "Testing perf lock record and perf lock contention" 49 perf lock contention -i ${perfdata} -E 1 -q 2> ${result} 59 echo "Testing perf lock contention --use-bpf" 66 # the perf lock contention output goes to the stderr 77 echo "Testing perf lock record and perf lock contention at the same time" 79 perf lock contention -i- -E 1 -q 2> ${result} 89 echo "Testing perf lock contention --threads" 90 perf lock contention -i ${perfdata} -t -E 1 -q 2> ${result} [all …]
|
/linux-6.12.1/tools/perf/Documentation/ |
D | perf-lock.txt | 11 'perf lock' {record|report|script|info|contention} 30 'perf lock contention' shows contention statistics. 40 Output file name for perf lock contention and report. 121 CONTENTION OPTIONS 137 Show per-thread lock contention stat 141 Use BPF program to collect lock contention stats instead of 167 Maximum stack depth when collecting lock contention (default: 8). 178 Show lock contention stat by address 182 Show lock contention stat by owners. Implies --threads and 187 Show lock contention only for given lock types (comma separated list). [all …]
|
/linux-6.12.1/fs/ubifs/ |
D | shrinker.c | 53 * @contention: if any contention, this is set to %1 58 static int shrink_tnc(struct ubifs_info *c, int nr, int age, int *contention) in shrink_tnc() argument 108 *contention = 1; in shrink_tnc() 138 * @contention: if any contention, this is set to %1 144 static int shrink_tnc_trees(int nr, int age, int *contention) in shrink_tnc_trees() argument 167 *contention = 1; in shrink_tnc_trees() 177 *contention = 1; in shrink_tnc_trees() 187 freed += shrink_tnc(c, nr, age, contention); in shrink_tnc_trees() 283 int contention = 0; in ubifs_shrink_scan() local 299 freed = shrink_tnc_trees(nr, OLD_ZNODE_AGE, &contention); in ubifs_shrink_scan() [all …]
|
/linux-6.12.1/include/drm/ |
D | drm_exec.h | 49 * @prelocked: already locked GEM object due to contention 99 * locked and no more contention exists. At the beginning of the loop it is 117 * Control flow helper to continue when a contention was detected and we need to 127 * drm_exec_is_contended - check for contention 130 * Returns true if the drm_exec object has run into some contention while
|
/linux-6.12.1/drivers/gpu/drm/ |
D | drm_exec.c | 14 * If a contention is detected while locking a GEM object the cleanup procedure 114 * drm_exec_cleanup - cleanup when contention is detected 118 * loop, false if there wasn't any contention detected and we can keep the 170 /* Always cleanup the contention so that error handling can kick in */ in drm_exec_lock_contended() 203 * Returns: -EDEADLK if a contention is detected, -EALREADY when object is 286 * Returns: -EDEADLK if a contention is detected, -EALREADY when object is 318 * Returns: -EDEADLOCK on contention, -EALREADY when object is already locked,
|
/linux-6.12.1/Documentation/locking/ |
D | lockstat.rst | 14 Because things like lock contention can severely impact performance. 51 - number of lock contention that involved x-cpu data 80 It also tracks 4 contention points per class. A contention point is a call site 143 short separator (line 08, 13) from the contention points. 145 Lines 09-12 show the first 4 recorded contention points (the code 151 short separator. The contention points don't match the column descriptors, 152 they have two: contentions and [<IP>] symbol. The second set of contention
|
/linux-6.12.1/tools/perf/scripts/python/bin/ |
D | futex-contention-report | 2 # description: futext contention measurement 4 perf script $@ -s "$PERF_EXEC_PATH"/scripts/python/futex-contention.py
|
/linux-6.12.1/kernel/rcu/ |
D | Kconfig | 174 against lock contention. Systems that synchronize their 177 lock contention levels acceptably low. Very large systems 183 skew them, which reduces lock contention enough that large 186 lock contention on the leaf-level rcu_node structures unless 193 kernel boot parameter to avoid contention on the rcu_node
|
/linux-6.12.1/tools/perf/scripts/python/ |
D | futex-contention.py | 1 # futex contention 11 # Measures futex contention
|
/linux-6.12.1/include/asm-generic/ |
D | futex.h | 34 * -EAGAIN - Atomic operation was unable to complete due to contention 96 * -EAGAIN - Atomic operation was unable to complete due to contention
|
/linux-6.12.1/tools/perf/util/bpf_skel/ |
D | lock_contention.bpf.c | 14 /* lock contention flags from include/trace/events/lock.h */ 30 /* maintain timestamp at the beginning of contention */ 38 /* maintain per-CPU timestamp at the beginning of contention */ 46 /* actual lock contention statistics */ 424 * Try per-cpu map first and check if there's active contention. in contention_end()
|
/linux-6.12.1/kernel/sched/ |
D | features.h | 72 * using the scheduler IPI. Reduces rq->lock contention/bounces. 95 * rq lock and possibly create a large contention, sending an
|
/linux-6.12.1/include/linux/ |
D | rcu_node_tree.h | 4 * global attributes while avoiding common-case global contention. A key 8 * unlimited scalability while maintaining a constant level of contention
|
D | rwsem.h | 216 * trylock for reading -- returns 1 if successful, 0 if contention 227 * trylock for writing -- returns 1 if successful, 0 if contention
|
D | srcutree.h | 76 unsigned long srcu_size_jiffies; /* Current contention-measurement interval. */ 77 unsigned long srcu_n_lock_retries; /* Contention events in current interval. */
|
/linux-6.12.1/tools/perf/ |
D | builtin-lock.c | 15 #include "util/lock-contention.h" 317 static int select_key(bool contention) in select_key() argument 322 if (contention) in select_key() 341 static int add_output_field(bool contention, char *name) in add_output_field() argument 346 if (contention) in add_output_field() 364 static int setup_output_field(bool contention, const char *str) in setup_output_field() argument 370 if (contention) in setup_output_field() 388 ret = add_output_field(contention, tok); in setup_output_field() 1193 * It can have nested contention begin with mutex spinning, in report_lock_contention_begin_event() 1194 * then we would use the original contention begin event and in report_lock_contention_begin_event() [all …]
|
/linux-6.12.1/kernel/locking/ |
D | locktorture.c | 177 /* We want a long delay occasionally to force massive contention. */ in torture_lock_busted_write_delay() 255 * we want a long delay occasionally to force massive contention. in torture_spin_lock_write_delay() 379 * we want a long delay occasionally to force massive contention. in torture_rwlock_write_delay() 405 * we want a long delay occasionally to force massive contention. in torture_rwlock_read_delay() 506 /* We want a long delay occasionally to force massive contention. */ in torture_mutex_delay() 679 * we want a long delay occasionally to force massive contention. in torture_rtmutex_delay() 739 /* We want a long delay occasionally to force massive contention. */ in torture_rwsem_write_delay() 761 /* We want a long delay occasionally to force massive contention. */ in torture_rwsem_read_delay() 867 * contention patterns (allowing for multiple disjoint in lock_torture_writer()
|
/linux-6.12.1/Documentation/trace/ |
D | events-kmem.rst | 72 contention on the lruvec->lru_lock. 82 for order-0 pages, reduces contention on the zone->lock and reduces the
|
/linux-6.12.1/drivers/tty/ |
D | tty_ldsem.c | 278 * (in case of no contention with a writer) in down_write_failed() 344 * trylock for reading -- returns 1 if successful, 0 if contention 370 * trylock for writing -- returns 1 if successful, 0 if contention
|
/linux-6.12.1/tools/perf/pmu-events/arch/arm64/arm/cortex-a510/ |
D | pipeline.json | 93 …VPU hazard. This event counts every cycle where the core stalls due to contention for the VPU with… 96 …VPU hazard. This event counts every cycle where the core stalls due to contention for the VPU with…
|
/linux-6.12.1/Documentation/scheduler/ |
D | schedutil.rst | 38 two metrics are the same, but once there is contention for the CPU 'running' 40 while 'runnable' will increase to reflect the amount of contention.
|
/linux-6.12.1/Documentation/networking/ |
D | scaling.rst | 252 during CPU contention by dropping packets from large flows slightly 271 and cache contention) and toggled per CPU by setting the relevant bit 466 provides two benefits. First, contention on the device queue lock is 468 (contention can be eliminated completely if each CPU has its own 546 experience no contention. If there are fewer queues than CPUs, then the
|
/linux-6.12.1/kernel/ |
D | Kconfig.hz | 14 contention and cacheline bounces as a result of timer interrupts.
|
/linux-6.12.1/include/uapi/linux/ |
D | nfs_fs.h | 33 #define FLUSH_SYNC 1 /* file being synced, or contention */
|
/linux-6.12.1/drivers/infiniband/hw/hfi1/ |
D | mmu_rb.h | 36 * the cacheline contention reduction of giving the spinlock its own
|