Home
last modified time | relevance | path

Searched refs:and (Results 1 – 25 of 226) sorted by relevance

12345678910

/tools/power/cpupower/
DREADME7 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/
Dreferences.txt1 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 …]
DREADME2 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 …]
Dsimple.txt4 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 …]
Dexplanation.txt17 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 …]
Drecipes.txt8 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/
Dlinux-kernel.bell9 * "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 …]
DREADME10 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/
DTREE_RCU-kconfig.txt12 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/
Dregression_test.txt2 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/
Dcallchain-overhead-calculation.txt3 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 …]
Ddb-export.txt16 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
Dintel-hybrid.txt5 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/
DREADME8 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/
DREADME3 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/
Dbpftool-gen.rst36 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/
DREADME7 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/
DREADME6 (<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/
DREADME7 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/
DCOPYING6 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/
Dlibperf-counting.txt10 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/
DREADME1 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/
DREADME46 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/
DAddingPlugins.txt14 - 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/
Ddesign.txt9 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 …]

12345678910