/tools/power/cpupower/ |
D | README | 7 For compilation pciutils-devel (pci/pci.h) and a gcc version 16 tools and programs to the cpufreq core and drivers in the Linux kernel. This 18 the interaction to the cpufreq core, and support for both the sysfs and proc 22 compilation and installation 30 /usr/lib; cpupower, cpufreq-bench_plot.sh to put in /usr/bin; and 32 differently and/or want to configure the package to your specific 33 needs, you need to open "Makefile" with an editor of your choice and 39 Many thanks to Mattia Dongili who wrote the autotoolization and 40 libtoolization, the manpages and the italian language file for cpupower; 41 to Dave Jones for his feedback and his dump_psb tool; to Bruno Ducrot for his [all …]
|
/tools/memory-model/Documentation/ |
D | references.txt | 1 This document provides background reading for memory models and related 6 Hardware manuals and models 18 o Intel Corporation (Ed.). 2002. "Intel 64 and IA-32 Architectures 22 and Magnus O. Myreen. 2010. "x86-TSO: A Rigorous and Usable 29 o ARM Ltd. (Ed.). 2009. "ARM Barrier Litmus Tests and Cookbook". 32 o Susmit Sarkar, Peter Sewell, Jade Alglave, Luc Maranget, and 35 Language Design and Implementation (PLDI ’11). ACM, New York, 39 Peter Sewell, Luc Maranget, Jade Alglave, and Derek Williams. 40 2012. "Synchronising C/C++ and POWER". In Proceedings of the 33rd 41 ACM SIGPLAN Conference on Programming Language Design and [all …]
|
D | README | 2 what your audience knows and then building a bridge from their current 5 to expert both in kernel hacking and in understanding LKMM. 8 depending on what you know and what you would like to learn. Please note 14 o You have some background in Linux-kernel concurrency, and would 21 that you need, and just want to get started with LKMM litmus 24 o You are familiar with Linux-kernel concurrency, and would 29 and cannot do to control dependencies: control-dependencies.txt 31 o You are familiar with Linux-kernel concurrency and the use of 32 LKMM, and would like a quick reference: cheatsheet.txt 34 o You are familiar with Linux-kernel concurrency and the use [all …]
|
D | simple.txt | 4 and the time spent gaining memory-ordering knowledge is not available 13 Please note that this is a generic guide, and that specific subsystems 15 of MMIO-based device drivers will often need to use mb(), rmb(), and 16 wmb(), and therefore might find smp_mb(), smp_rmb(), and smp_wmb() 17 to be more natural than smp_load_acquire() and smp_store_release(). 26 that your toolchain and hardware are working correctly. In addition, 35 that you acquire at the beginning of your code and release at the end, 41 Code locking can severely limit both performance and scalability, so it 42 should be used with caution, and only on code paths that execute rarely. 57 and release functions. After all, even simple non-production-quality [all …]
|
D | explanation.txt | 17 9. DEPENDENCY RELATIONS: data, addr, and ctrl 18 10. THE READS-FROM RELATION: rf, rfi, and rfe 19 11. CACHE COHERENCE AND THE COHERENCE ORDER RELATION: co, coi, and coe 20 12. THE FROM-READS RELATION: fr, fri, and fre 30 22. RCU RELATIONS: rcu-link, rcu-gp, rcu-rscsi, rcu-order, rcu-fence, and rb 40 The Linux-kernel memory consistency model (LKMM) is rather complex and 42 linux-kernel.bell and linux-kernel.cat files that make up the formal 43 version of the model; they are extremely terse and their meanings are 48 not go into the details of the code in the .bell and .cat files; 52 toward beginners; they explain what memory consistency models are and [all …]
|
D | recipes.txt | 8 and the third section provides a few rules of thumb. 15 there is only one CPU or only one memory location is accessed, and the 27 in the expression "f(x) + g(y)", the order in which f and g are 35 To see this, compile with a high level of optimization and run 39 must be properly aligned and all accesses to that variable must 45 use READ_ONCE() and WRITE_ONCE() or stronger to prevent load/store 46 tearing, load/store fusing, and invented loads and stores. 57 need not use READ_ONCE() and writes to that variable 64 Locking is well-known and straightforward, at least if you don't think 90 then both r0 and r1 must be set to the value 1. This also has the [all …]
|
/tools/memory-model/ |
D | linux-kernel.bell | 9 * "Frightening small children and disconcerting grown-ups: Concurrency 10 * in the Linux kernel" by Alglave, Maranget, McKenney, Parri, and Stern, 43 (* Compute matching pairs of nested Rcu-lock and Rcu-unlock *) 46 and unmatched-unlocks = Rcu-unlock \ range(matched) 47 and unmatched = unmatched-locks | unmatched-unlocks 48 and unmatched-po = [unmatched] ; po ; [unmatched] 49 and unmatched-locks-to-unlocks = 51 and matched = matched | (unmatched-locks-to-unlocks \ 59 (* Compute matching pairs of nested Srcu-lock and Srcu-unlock *) 62 and unmatched-unlocks = Srcu-unlock \ range(matched) [all …]
|
D | README | 10 short) of the Linux kernel, written in the "cat" language and executable 23 Version 7.52 or higher of the "herd7" and "klitmus7" tools must be 42 and executed. Any change in kernel APIs essential to klitmus7 will 67 the format, features, capabilities and limitations of these litmus 81 Documentation describing litmus tests and now to use them may be found 109 The "Positive: 0 Negative: 3" and the "Never 0 3" each indicate that 116 people focusing on writing, understanding, and running LKMM litmus tests. 124 which may then be loaded and run. 148 The "Positive: 0 Negative: 2000000" and the "Never 0 2000000" indicate 156 It is not intended for people focusing on writing, understanding, and [all …]
|
/tools/testing/selftests/rcutorture/doc/ |
D | TREE_RCU-kconfig.txt | 12 CONFIG_PREEMPT -- Do half. (First three and #8.) 13 CONFIG_PROVE_LOCKING -- Do several, covering CONFIG_DEBUG_LOCK_ALLOC=y and not. 20 rcu_nocbs=0, and one with all rcu_nocbs CPUs. 24 CONFIG_RCU_EQS_DEBUG -- Do at least one for CONFIG_NO_HZ_FULL and not. 26 RCU-bh: Do one with PREEMPT and one with !PREEMPT. 34 rcupdate.rcu_self_test_bh -- Do at least one each, offloaded and not. 35 rcupdate.rcu_self_test_sched -- Do at least one each, offloaded and not. 36 rcupdate.rcu_self_test -- Do at least one each, offloaded and not. 61 Implied by TREE_RCU and PREEMPT_RCU. 73 These are controlled by CONFIG_PREEMPT and/or CONFIG_SMP.
|
/tools/testing/selftests/media_tests/ |
D | regression_test.txt | 2 and unregister paths. There have a few problems that result in user-after 3 free on media_device, media_devnode, and cdev pointers when the driver is 9 Run rmmod and modprobe. 22 and cdev user-after-free fixes. This opens media dev files and sits in 24 seconds. The idea is when device file goes away, media devnode and cdev 40 Copy bind_unbind_sample.txt and make changes to specify the driver name 41 and number to run bind and unbind. Start the bind_unbind.sh
|
/tools/perf/Documentation/ |
D | callchain-overhead-calculation.txt | 3 The overhead can be shown in two columns as 'Children' and 'Self' when 6 This is the value that perf shows traditionally and sum of all the 39 In this case 'foo' is a child of 'bar', and 'bar' is an immediate 41 'main' is a parent of 'foo' and 'bar', and 'bar' is a parent of 'foo'. 43 Suppose all samples are recorded in 'foo' and 'bar' only. When it's 65 child functions (i.e. 'foo' and 'bar') are added to the parents to 96 'children' overhead of 'bar', 'main' and '\_\_libc_start_main'. 98 'children' overhead of 'main' and '\_\_libc_start_main'. 100 So '\_\_libc_start_main' and 'main' are shown first since they have 102 overhead) and they are the parents of 'foo' and 'bar'. [all …]
|
D | db-export.txt | 16 data to be imported directly to a database and provides the relationships 20 backward and forward compatibility, by following some simple rules: 22 1. Because of the nature of SQL, existing tables and columns can continue to be 23 used so long as the names and meanings (and to some extent data types) remain 26 2. New tables and columns can be added, without affecting existing SQL queries, 30 backward compatibility by testing for the presence of new tables and columns 40 or optional features by checking for the existence and value of script global
|
D | intel-hybrid.txt | 5 For some Intel platforms, such as AlderLake, which is hybrid platform and 6 it consists of atom cpu and core cpu. Each cpu has dedicated event list. 8 on atom cpu and even part of events are available on both. 22 It indicates cpu0-cpu15 are core cpus and cpu16-cpu23 are atom cpus. 58 When creating one event and the event is available on both atom and core, 60 core. Most of hardware events and cache events are available on both 61 cpu_core and cpu_atom. 105 and 123 and create 'cycles' (0x800000000) on cpu16-cpu23 (atom cpus). 137 perf-stat reports the scaled counts for hybrid event and with a percentage [all …]
|
/tools/testing/selftests/futex/ |
D | README | 8 odd corner cases, regression tests, and abject abuse and misuse. 21 Design and Implementation Goals 24 the individual tests on mailing list discussions and bug reports. 26 shared object building and linking. 31 and glibc are the only dependencies. 32 o Tests return 0 for success and < 0 for failure. 36 Test output shall be easily parsable by both human and machine. Title and 38 sent to stderr. Tests shall support the -c option to print PASS, FAIL, and 47 # useful here. Using -v to toggle it them on and off, as with -c. 57 detailed description in the test source and the output.
|
/tools/testing/vsock/ |
D | README | 3 These tests exercise net/vmw_vsock/ host<->guest sockets for VMware, KVM, and 11 The following prerequisite steps are not automated and must be performed prior 14 1. Build the kernel, make headers_install, and build these tests. 15 2. Install the kernel and tests on the host. 16 3. Install the kernel and tests inside the guest. 17 4. Boot the guest and ensure that the AF_VSOCK transport is enabled.
|
/tools/bpf/bpftool/Documentation/ |
D | bpftool-gen.rst | 36 and instruction sections, .BTF and .BTF.ext (if present in 54 to significantly shorten and simplify code to load and work 61 libbpf types (e.g., **struct bpf_map** pointer) and can be 64 In addition to simple and reliable access to maps and 68 attached and resulting BPF links stored for further use by 74 eliminates the need for users to manage links manually and 75 rely on libbpf support to detach programs and free up 81 initial values of variables before BPF object is loaded and 87 *FILE* is embedded within generated code and is thus not 88 necessary to keep around. This ensures skeleton and BPF [all …]
|
/tools/testing/selftests/livepatch/ |
D | README | 7 The test suite loads and unloads several test kernel modules to verify 9 buffer and parsed for expected messages. (Note: the tests will compare 16 Set these config options and their prerequisites: 25 Test kernel modules are built as part of lib/ (make modules) and need to 38 functions, most importantly setup_config(), start_test() and 40 "livepatch:" and "test_klp" strings, so tests be sure to include one of 42 general module loading and livepatch loading helpers (waiting for patch
|
/tools/testing/selftests/zram/ |
D | README | 6 (<id> = 0, 1, ...). Pages written to these disks are compressed and stored 7 in memory itself. These disks allow very fast I/O and compression provides 9 use as swap disks, various caches under /var and maybe many more :) 23 zram.sh: For sanity check of CONFIG_ZRAM and to run zram01 and zram02 25 Two functional tests: zram01 and zram02:
|
/tools/testing/selftests/resctrl/ |
D | README | 7 resctrl_tests tests various resctrl functionalities and interfaces including 8 both software and hardware. 10 Currently it supports Memory Bandwidth Monitoring test and Memory Bandwidth 12 And the test suit can be extended to cover AMD QoS and ARM MPAM hardware 24 the test needs to mount resctrl file system and change contents in the file 39 - verify: get resctrl data and verify the data with another source, e.g. 41 - teardown: umount resctrl and clear temporary files. 49 …-b benchmark_cmd [options]: run specified benchmark for MBM, MBA and CMT default benchmark is buil…
|
/tools/usb/usbip/ |
D | COPYING | 6 Everyone is permitted to copy and distribute verbatim copies 12 freedom to share and change it. By contrast, the GNU General Public 13 License is intended to guarantee your freedom to share and change free 16 Foundation's software and to any other program whose authors commit to 23 have the freedom to distribute copies of free software (and charge for 26 in new free programs; and that you know you can do these things. 39 We protect your rights with two steps: (1) copyright the software, and 41 distribute and/or modify the software. 43 Also, for each author's protection and ours, we want to make certain 45 software. If the software is modified by someone else and passed on, we [all …]
|
/tools/lib/perf/Documentation/ |
D | libperf-counting.txt | 10 The counting interface provides API to measure and get count for specific perf events. 16 The `counting.c` comes with libperf package and can be compiled and run like: 29 The `counting.c` example monitors two events on the current process and displays 34 * opens and enables events through the event list 37 * reads and displays event counts 56 It will setup the library and sets function for debug output from library. 75 We create software events for cpu and task: 121 We create libperf's events for the attributes we defined earlier and add them to the list: 142 Configure event list with the thread map and open events: 158 From this moment events are counting and we can do our workload. [all …]
|
/tools/thermal/tmon/ |
D | README | 1 TMON - A Monitoring and Testing Tool for Linux kernel thermal subsystem 6 thermal relationship between processor and fan has become past for modern 10 and more sensors are added, new cooling capabilities are introduced. The 12 devices, zones, sensors, and trip points. They can also change dynamically. 16 links, trip point bindings, and device instances. To traverse such 21 TMON is conceived as a tool to help visualize, tune, and test the 26 tmon.c : main function for set up and configurations.
|
/tools/memory-model/litmus-tests/ |
D | README | 46 and load-acquire replaced with READ_ONCE(). 53 Does a control dependency and an smp_mb() suffice for the 64 and load-acquire replaced with READ_ONCE(). 67 As below, but with rcu_assign_pointer() and an rcu_dereference(). 70 Protect the access with a lock and an smp_mb__after_spinlock() 71 in one process, and use an acquire load followed by a pair of 75 Protect the access with a lock in one process, and use an 81 and the first access of reader process protected by a lock. 84 As below, but without the smp_rmb() and smp_wmb(). 91 and the second access of reader process protected by a lock. [all …]
|
/tools/testing/selftests/tc-testing/creating-plugins/ |
D | AddingPlugins.txt | 14 - adding commands to be run before and/or after the test suite 15 - adding commands to be run before and/or after the test cases 16 - adding commands to be run before and/or after the execute phase of the test cases 24 - ability to add to the command line args, and use them at run time 43 This method takes a testcount (number of tests to be run) and 45 useful for various things, including when an exception occurs and the 47 and the post_suite method can refer to it when dumping the "skipped" 65 and the test id. Useful for outputing the extra test results. 71 the execution stage and a string which is the actual command to be 90 The add_args method receives the argparser object and can add [all …]
|
/tools/perf/ |
D | design.txt | 9 trigger interrupts when a threshold number of events have passed - and can 13 hardware capabilities. It provides per task and per CPU counters, counter 14 groups, and it provides event capabilities on top of those. It 32 Multiple counters can be kept open at a time, and the counters 41 * 7 bits are an event type and the rest of the bits are the event 114 cache references and misses at different levels of the cache hierarchy). 119 and accessed as raw events. For example, to count "External bus 121 in a 0x4064 event_id value and set hw_event.raw_type to 1. 129 * physical and sw events of the kernel (and allow the profiling of them as 145 tracer is available, and event_id values can be obtained from [all …]
|