/tools/testing/selftests/futex/functional/ |
D | futex_wait_timeout.c | 83 static int futex_get_abs_timeout(clockid_t clockid, struct timespec *to, in futex_get_abs_timeout() argument 86 if (clock_gettime(clockid, to)) { in futex_get_abs_timeout() 91 to->tv_nsec += timeout_ns; in futex_get_abs_timeout() 93 if (to->tv_nsec >= 1000000000) { in futex_get_abs_timeout() 94 to->tv_sec++; in futex_get_abs_timeout() 95 to->tv_nsec -= 1000000000; in futex_get_abs_timeout() 105 struct timespec to; in main() local 145 to.tv_sec = 0; in main() 146 to.tv_nsec = timeout_ns; in main() 148 res = futex_wait(&f1, f1, &to, 0); in main() [all …]
|
D | futex_waitv.c | 39 struct timespec to; in waiterfn() local 43 if (clock_gettime(CLOCK_MONOTONIC, &to)) in waiterfn() 46 to.tv_sec++; in waiterfn() 48 res = futex_waitv(waitv, NR_FUTEXES, 0, &to, CLOCK_MONOTONIC); in waiterfn() 64 struct timespec to; in main() local 151 if (clock_gettime(CLOCK_MONOTONIC, &to)) in main() 154 to.tv_sec++; in main() 156 res = futex_waitv(waitv, NR_FUTEXES, 0, &to, CLOCK_MONOTONIC); in main() 170 if (clock_gettime(CLOCK_MONOTONIC, &to)) in main() 173 to.tv_sec++; in main() [all …]
|
D | futex_wait_wouldblock.c | 42 struct timespec to = {.tv_sec = 0, .tv_nsec = timeout_ns}; in main() local 76 res = futex_wait(&f1, f1+1, &to, FUTEX_PRIVATE_FLAG); in main() 86 if (clock_gettime(CLOCK_MONOTONIC, &to)) { in main() 91 to.tv_nsec += timeout_ns; in main() 93 if (to.tv_nsec >= 1000000000) { in main() 94 to.tv_sec++; in main() 95 to.tv_nsec -= 1000000000; in main() 99 res = futex_waitv(&waitv, 1, 0, &to, CLOCK_MONOTONIC); in main()
|
/tools/arch/x86/include/asm/ |
D | asm.h | 127 # define _ASM_EXTABLE_HANDLE(from, to, handler) \ 131 .long (to) - . ; \ 135 # define _ASM_EXTABLE(from, to) \ 136 _ASM_EXTABLE_HANDLE(from, to, ex_handler_default) 138 # define _ASM_EXTABLE_UA(from, to) \ 139 _ASM_EXTABLE_HANDLE(from, to, ex_handler_uaccess) 141 # define _ASM_EXTABLE_CPY(from, to) \ 142 _ASM_EXTABLE_HANDLE(from, to, ex_handler_copy) 144 # define _ASM_EXTABLE_FAULT(from, to) \ 145 _ASM_EXTABLE_HANDLE(from, to, ex_handler_fault) [all …]
|
/tools/power/cpupower/ |
D | README | 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 29 should suffice on most systems. It builds libcpupower to put in 30 /usr/lib; cpupower, cpufreq-bench_plot.sh to put in /usr/bin; and 31 cpufreq-bench to put in /usr/sbin. If you want to set up the paths 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 41 to Dave Jones for his feedback and his dump_psb tool; to Bruno Ducrot for his 43 and to various others commenting on the previous (pre-)releases of
|
/tools/virtio/linux/ |
D | uaccess.h | 25 static void volatile_memcpy(volatile char *to, const volatile char *from, in volatile_memcpy() argument 29 *(to++) = *(from++); in volatile_memcpy() 32 static inline int copy_from_user(void *to, const void __user volatile *from, in copy_from_user() argument 35 volatile_memcpy(to, from, n); in copy_from_user() 39 static inline int copy_to_user(void __user volatile *to, const void *from, in copy_to_user() argument 42 volatile_memcpy(to, from, n); in copy_to_user()
|
/tools/testing/selftests/kvm/lib/x86_64/ |
D | handlers.S | 51 .macro HANDLERS has_error from to argument 53 .rept \to - \from + 1 73 HANDLERS has_error=0 from=0 to=7 74 HANDLERS has_error=1 from=8 to=8 75 HANDLERS has_error=0 from=9 to=9 76 HANDLERS has_error=1 from=10 to=14 77 HANDLERS has_error=0 from=15 to=16 78 HANDLERS has_error=1 from=17 to=17 79 HANDLERS has_error=0 from=18 to=255
|
/tools/usb/usbip/ |
D | INSTALL | 8 unlimited permission to copy, distribute and modify it. 16 instructions specific to this package. 18 The `configure' shell script attempts to guess correct values for 20 those values to create a `Makefile' in each directory of the package. 23 you can run in the future to recreate the current configuration, and a 29 the results of its tests to speed up reconfiguring. Caching is 30 disabled by default to prevent problems with accidental use of stale 33 If you need to do unusual things to compile the package, please try 34 to figure out how `configure' could check whether to do them, and mail 35 diffs or instructions to the address given in the `README' so they can [all …]
|
D | COPYING | 6 Everyone is permitted to copy and distribute verbatim copies 11 The licenses for most software are designed to take away your 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 14 software--to make sure the software is free for all its users. This 15 General Public License applies to most of the Free Software 16 Foundation's software and to any other program whose authors commit to 18 the GNU Library General Public License instead.) You can apply it to 21 When we speak of free software, we are referring to freedom, not 22 price. Our General Public Licenses are designed to make sure that you [all …]
|
/tools/perf/Documentation/ |
D | perf-ftrace.txt | 21 write it to stdout. 26 The following options apply to perf ftrace. 42 normally don't - this option allows the latter to be run in 50 Default is to trace on all online CPUs. 62 Tracer to use when neither -G nor -F option is not 67 List available functions to trace. It accepts a pattern to 72 Time (ms) to wait before starting tracing after program start. 76 Set the size of per-cpu tracing buffer, <size> is expected to 87 can be a glob pattern. It will be passed to 'set_ftrace_filter' 93 argument. Like -T option, this can be used more than once to [all …]
|
D | perf-data.txt | 21 It's possible to set data-convert debug variable to get debug messages from conversion, 27 --to-ctf:: 30 --to-json:: 31 Triggers JSON conversion. Specify the JSON filename to output. 34 Convert time to wall clock time. 48 Convert all events, including non-sample events (comm, fork, ...), to output.
|
/tools/perf/util/ |
D | copyfile.c | 14 static int slow_copyfile(const char *from, const char *to, struct nsinfo *nsi) in slow_copyfile() argument 28 to_fp = fopen(to, "w"); in slow_copyfile() 73 static int copyfile_mode_ns(const char *from, const char *to, mode_t mode, in copyfile_mode_ns() argument 90 if (asprintf(&tmp, "%s.XXXXXXx", to) < 0) { in copyfile_mode_ns() 126 err = link(tmp, to); in copyfile_mode_ns() 133 int copyfile_ns(const char *from, const char *to, struct nsinfo *nsi) in copyfile_ns() argument 135 return copyfile_mode_ns(from, to, 0755, nsi); in copyfile_ns() 138 int copyfile_mode(const char *from, const char *to, mode_t mode) in copyfile_mode() argument 140 return copyfile_mode_ns(from, to, mode, NULL); in copyfile_mode() 143 int copyfile(const char *from, const char *to) in copyfile() argument [all …]
|
/tools/memory-model/Documentation/ |
D | control-dependencies.txt | 5 do not support them. One purpose of this document is therefore to 7 control dependencies also pose other challenges, which leads to the 8 second purpose of this document, namely to help you to avoid breaking 19 This is not guaranteed to provide any ordering because some types of CPUs 20 are permitted to predict the result of the load from "b". This prediction 21 can cause other CPUs to see this load as having happened before the load 43 the compiler might fuse the store to "b" with other stores. Worse yet, 48 Furthermore, if the compiler is able to prove that the value of variable 49 "a" is always non-zero, it would be well within its rights to optimize 56 In particular, although READ_ONCE() does force the compiler to emit a [all …]
|
D | README | 3 knowledge to what they need to know. Unfortunately, the expected 5 to expert both in kernel hacking and in understanding LKMM. 7 This document therefore points out a number of places to start reading, 8 depending on what you know and what you would like to learn. Please note 12 o You are new to Linux-kernel concurrency: simple.txt 18 Here, "low level" means atomic operations to single variables. 21 that you need, and just want to get started with LKMM litmus 29 and cannot do to control dependencies: control-dependencies.txt 35 of LKMM, and would like to learn about LKMM's requirements, 38 o You are interested in the publications related to LKMM, including [all …]
|
D | glossary.txt | 2 glossaries, it is not intended to be read front to back (except perhaps 3 as a way of confirming a diagnosis of OCD), but rather to be searched 9 dependency" extends from that load extending to the later access. 20 address dependency extends from that rcu_dereference() to that 27 Acquire: With respect to a lock, acquiring that lock, for example, 28 using spin_lock(). With respect to a non-lock shared variable, 36 to that same variable, (in other words, the acquire load "reads 42 Coherence (co): When one CPU's store to a given variable overwrites 44 there is said to be a coherence link from the second CPU to 47 It is also possible to have a coherence link within a CPU, which [all …]
|
D | ordering.txt | 21 properties except to the extent that they interact with an 48 a device driver, which must correctly order accesses to a physical 74 smp_mb(); // Order store to x before load from y. 77 All CPUs will agree that the store to "x" happened before the load 79 memory-ordering primitives. It is surprisingly hard to remember their 87 as cmpxchg() are only guaranteed to provide ordering when they succeed. 91 1. All code that executed prior to the RMW atomic operation. 119 typically instead used to provide ordering against RCU read-side critical 121 need a synchronize_rcu() to interact with readers, it costs you nothing 122 to also rely on its additional full-memory-barrier semantics. Just please [all …]
|
D | explanation.txt | 48 for people who want to understand how the model was designed. It does 64 end. Converting them to the right format is left as an exercise for 77 In practice, people tend to use memory models the other way around. 80 code to run in such a way that the loads will indeed obtain the 88 systems, with multiple CPUs making concurrent accesses to shared 92 kernel supports a variety of architectures. The LKMM has to be fairly 94 architectures also has to be allowed by the LKMM. 100 Here is a simple example to illustrate the basic concepts. Consider 103 device, stores it in a buffer, and sets a flag to indicate the buffer 106 system call. This code tests the flag to see whether the buffer is [all …]
|
/tools/testing/selftests/arm64/fp/ |
D | assembler.h | 8 .macro __for from:req, to:req 9 .if (\from) == (\to) 12 __for \from, %(\from) + ((\to) - (\from)) / 2 13 __for %(\from) + ((\to) - (\from)) / 2 + 1, \to 17 .macro _for var:req, from:req, to:req, insn:vararg 25 __for \from, \to
|
/tools/testing/selftests/arm64/signal/ |
D | README | 8 enforces a standard sequence of operations needed to perform a single 17 to run each test unit in its own standalone process, so as to start each 21 tdescr overriding all the defaults we wish to change (as of now providing a 24 - Signals' test-cases hereafter defined belong currently to two 32 is placed on the stack and a sigreturn syscall is called to simulate a 38 kind of tests it is extremely easy in fact to end-up injecting other 39 unrelated SEGV bugs in the testcases, it becomes extremely tricky to 41 to address and they are not instead falling apart due to unplanned bugs 43 In order to alleviate the misery of the life of such test-developer, a few 46 - a couple of ASSERT_BAD/GOOD_CONTEXT() macros to easily parse a ucontext_t [all …]
|
/tools/testing/ktest/examples/ |
D | README | 1 This directory contains example configs to use ktest for various tasks. 2 The configs still need to be customized for your environment, but it 3 is broken up by task which makes it easier to understand how to set up 7 and commented to show more generic use cases that are more helpful for 12 it easy to compile test different archs. You can download the arch 17 used to perform real testing. 19 kvm.conf - A example of a config that is used to test a virtual guest running 22 snowball.conf - An example config that was used to demo ktest.pl against 27 to reuse configs for various machines or set ups. The files here
|
/tools/testing/selftests/tc-testing/ |
D | TODO.txt | 6 - Add support for multiple versions of tc to run successively 9 need to better handle problems in pre- and post-suite. 13 - Allow tdc to write its results to file. 17 will attempt to run a function at every hook point. Could be 18 changed so that plugin __init__ methods will register functions to 21 trying to run a function that will do nothing. 28 and a way to configure a test suite, 29 to automate running multiple "test suites" with different requirements
|
/tools/bpf/bpftool/Documentation/ |
D | bpftool-cgroup.rst | 50 List all programs attached to the cgroup *CGROUP*. 64 The output is similar to the output of cgroup show/list 73 Attach program *PROG* to the cgroup *CGROUP* with attach type 77 some bpf program, the program in this cgroup yields to sub-cgroup 79 that cgroup program gets run in addition to the program in this 82 Only one program is allowed to be attached to a cgroup with 86 Multiple programs are allowed to be attached to a cgroup with 99 **bind4** call to bind(2) for an inet4 socket (since 4.17); 100 **bind6** call to bind(2) for an inet6 socket (since 4.17); 103 **connect4** call to connect(2) for an inet4 socket (since 4.17); [all …]
|
/tools/objtool/Documentation/ |
D | objtool.txt | 18 - Stack unwinding metadata validation -- useful for helping to ensure 22 alternative to frame pointer based unwinding 28 sites, enabling the kernel to patch them inline, to prevent "thunk 36 kernel to implement inline static calls, a faster alternative to some 46 to ensure that all functions referenced by function pointers have 50 instruction sites, enabling the kernel to "seal" them (replace them 51 with NOPs) to further harden IBT 107 alternative execution paths to a given instruction (or set of 108 instructions). Similarly, it knows how to follow switch statements, for 116 code and debug tools to be able to walk the stack to determine the [all …]
|
/tools/perf/scripts/perl/Perf-Trace-Util/ |
D | README | 9 that scripts may want to use. Context.pm contains the Perl->C 10 interface that allows scripts to access data in the embedding perf 11 executable; scripts wishing to do that should 'use Context.pm'. 14 want to add new Perl functions that end up accessing C data in the 16 scripting_context is a pointer to the perf data in the perf executable 17 that you want to access - it's passed as the second parameter, 18 $context, to all handler functions. 22 perl Makefile.PL # to create a Makefile for the next step 23 make # to create Context.c 25 edit Context.c to add const to the char* file = __FILE__ line in [all …]
|
/tools/testing/selftests/net/forwarding/ |
D | README | 5 to easily create and test complex environments. 8 ASICs, as their ports can not be migrated to other network namespaces 26 The VRFs act as lightweight namespaces representing hosts connected to 30 traditional method that requires multiple physical machines, to name a 36 2. Ability to easily provision complex topologies. Testing bridging 38 not always available. With the VRF-based approach one merely needs to 42 on any Linux box using veth pairs to emulate physical loopbacks. 51 o Where possible, IPv6 and IPv4 addresses shall conform to RFC 3849 and 54 multiple topologies and added to lib.sh. 55 o Checks shall be added to lib.sh for any external dependencies. [all …]
|