| /linux/tools/memory-model/Documentation/ |
| H A D | glossary.txt | 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, 29 a special operation that includes a load and which orders that 30 load before later memory references running on that same CPU. 36 to that same variable, (in other words, the acquire load "reads 37 from" the release store), then all operations preceding that 38 store "happen before" any operations following that loa [all...] |
| /linux/Documentation/admin-guide/sysctl/ |
| H A D | user.rst | 15 limits on the number of namespaces and other objects that have 18 The primary purpose of these limits is to stop programs that 21 intention that the defaults of these limits are set high enough that 26 verified to be below the per user limit in that user namespace. 33 This recursive counting of created objects ensures that creating a 41 The maximum number of cgroup namespaces that any user in the current 47 The maximum number of ipc namespaces that any user in the current 53 The maximum number of mount namespaces that any user in the current 59 The maximum number of network namespaces that any user in the 65 The maximum number of pid namespaces that any user in the current [all …]
|
| /linux/Documentation/process/ |
| H A D | management-style.rst | 14 to do with reality. It started as a lark, but that doesn't mean that it 27 making it painfully obvious to the questioner that we don't have a clue 37 Everybody thinks managers make decisions, and that decision-making is 47 competent to make that decision for them. 51 Namely that you are in the wrong job, and that **they** should be managing 60 It helps to realize that the key difference between a big decision and a 62 can be made small by just always making sure that if you were wrong (and 67 And people will even see that as true leadership (*cough* bullshit 71 things that can't be undone. Don't get ushered into a corner from which 75 It turns out that since nobody would be stupid enough to ever really let [all …]
|
| H A D | 6.Followthrough.rst | 8 patches. One of the biggest mistakes that even experienced kernel 9 developers can make is to conclude that their work is now done. In truth, 13 It is a rare patch which is so good at its first posting that there is no 16 code. You, as the author of that code, will be expected to work with the 17 kernel community to ensure that your code is up to the kernel's quality 32 value and why you went to the trouble of writing it. But that value 36 to substantial rewrites - come from the understanding that Linux will 49 be working on the kernel years from now, but they understand that their 57 the same. Sometimes this means that the clever hack in your driver 61 What all of this comes down to is that, when reviewers send you comments, [all …]
|
| H A D | handling-regressions.rst | 10 user's point of view; if you never read that text, go and at least skim over it 20 * When receiving a mailed report that did not CC the list, bring it into the 47 only fixing part of the issue that caused the regression, you may use 71 * When you receive a report by mail that did not CC the list, immediately bring 73 try to ensure it gets CCed again in case you reply to a reply that omitted 96 you want to see tracked; that's important, as regzbot will later look out 107 Regzbot will then automatically associate patches with the report that 133 these tags are of great value for everyone (you included) that might be looking 146 * Run a kernel with a regression that impacts usage. 156 How to realize that in practice depends on various factors. Use the following [all …]
|
| /linux/Documentation/networking/ |
| H A D | nexthop-group-resilient.rst | 7 Resilient groups are a type of next-hop group that is aimed at minimizing 34 that they resolve to. 37 this hash space reassignment causes an issue that packets from a single 38 flow suddenly end up arriving at a server that does not expect them. This 42 the same server, the issue is that different latencies and reordering along 49 to choose a hash table bucket, then reads the next hop that this bucket 56 the buckets that held it are simply reassigned to other next hops:: 70 choose a subset of buckets that are currently not used for forwarding 82 this number a "wants count" of a next hop. In case of an event that might 86 Next hops that have fewer buckets than their wants count, are called [all …]
|
| /linux/Documentation/core-api/kho/ |
| H A D | concepts.rst | 8 Kexec HandOver (KHO) is a mechanism that allows Linux to preserve memory 17 that describes preserved memory regions. These regions contain either 18 serialized subsystem states, or in-memory data that shall not be touched 23 adhere to the same property semantics that normal device trees do: Properties 33 To boot into kexec, we need to have a physically contiguous memory range that 35 into that region. The new kernel exclusively uses this region for memory 38 We guarantee that we always have such regions through the scratch regions: On 42 requests that do not require particular NUMA node assignment. 47 that their memory can be used during system lifetime. CMA gives us the 48 guarantee that no handover pages land in that region, because handover pages [all …]
|
| /linux/Documentation/power/ |
| H A D | freezing-of-tasks.rst | 18 (TASK_FROZEN, TASK_FREEZABLE and __TASK_FREEZABLE_UNSAFE) used for that. 19 The tasks that have PF_NOFREEZE unset (all user space tasks and some kernel 30 try_to_freeze_tasks() that sends a fake signal to all user space processes, and 31 wakes up all the kernel threads. All freezable tasks must react to that by 34 it loop until it is woken by an explicit TASK_FROZEN wakeup. Then, that task 41 try_to_freeze() function (defined in include/linux/freezer.h), that checks 48 that put the task to sleep (TASK_INTERRUPTIBLE) or freeze it (TASK_FROZEN) if 79 order to wake up each frozen task. Then, the tasks that have been frozen leave 112 IV. Why do we do that? 122 filesystem-related information that must be consistent with the state of the [all …]
|
| H A D | s2ram.rst | 11 2) If that does not help, try reading tricks.txt and 21 always it's a driver that is buggy. Thank God for the suspend/resume 22 debugging - the thing that Chuck tried to disable. That's often the _only_ 25 driver that doesn't resume and recompile and reboot). 28 machine that doesn't boot) is: 49 which means that the last trace event was just before trying to resume 50 device 0000:01:00.0. Then figure out what driver is controlling that 55 the culprit may be a device from a loadable kernel module that is not loaded 63 that "radeonfb" simply cannot resume that device - it tries to set the 70 Reason for this is that the RTC is the only reliably available piece of [all …]
|
| /linux/Documentation/driver-api/driver-model/ |
| H A D | binding.rst | 6 driver that can control it. Bus drivers have typically handled this 15 The bus type structure contains a list of all devices that are on that bus 18 list of all drivers of that bus type. When driver_register is called 27 to find one that supports it. In order to determine that, the device 28 ID of the device must match one of the device IDs that the driver 39 chance to verify that it really does support the hardware, and that 47 class, and that is set in the driver's devclass field. 63 A symlink is created in the bus's 'devices' directory that points to 66 A symlink is created in the driver's 'devices' directory that points 70 symlink is created in that directory that points to the device's [all …]
|
| /linux/Documentation/arch/powerpc/ |
| H A D | qe_firmware.rst | 31 the particular license, please see the license text that is distributed with 45 integers that compose the actual QE microcode. 47 The term 'firmware' refers to a binary blob that contains the microcode as 48 well as other data that 55 Firmware files are binary files that contain only a firmware. 70 needs split I-RAM. Split I-RAM is only meaningful for SOCs that have 80 5) If necessary, device drivers that need the virtual traps and extended mode 91 This structure contains 6 words that the application should copy to some 119 This is a double word bit array (64 bits) that defines special functionality 127 | 0 | General | Indicates that prior to each host command | [all …]
|
| /linux/Documentation/mm/ |
| H A D | active_mm.rst | 18 Cc'd to linux-kernel, because I don't write explanations all that often, 31 difference is that an anonymous address space doesn't care about the 36 The obvious use for a "anonymous address space" is any thread that 38 this category, but even "real" threads can temporarily say that for 40 and that the scheduler might as well try to avoid wasting time on 42 sync does that. 45 tsk->mm will be NULL, for the logical reason that an anonymous process 49 "stole" for such an anonymous user. For that, we have "tsk->active_mm", 52 The rule is that for a process with a real address space (ie tsk->mm is 61 To support all that, the "struct mm_struct" now has two counters: a [all …]
|
| H A D | memory-model.rst | 10 however, that this range contains small holes that are not accessible 18 whether it is possible to manually override that default. 28 helpers that allow the conversion from PFN to `struct page` and vice 38 In the FLATMEM memory model, there is a global `mem_map` array that 45 usable until the call to :c:func:`memblock_free_all` that hands all the 48 An architecture may free parts of the `mem_map` array that do not cover the 64 is the only memory model that supports several advanced features such 71 that contains `section_mem_map` that is, logically, a pointer to an 73 that aids the sections management. The section size and maximal number 75 `MAX_PHYSMEM_BITS` constants defined by each architecture that [all …]
|
| /linux/Documentation/litmus-tests/ |
| H A D | README | 5 Each subdirectory contains litmus tests that are typical to describe the 16 Test that an atomic RMW followed by a smp_mb__after_atomic() is 21 Test that atomic_set() cannot break the atomicity of atomic RMWs. 25 Demonstrate that a failing cmpxchg() operation acts as a full barrier 29 Demonstrate that a failing cmpxchg() operation acts as an acquire 33 Demonstrate that a failing cmpxchg() operation does not act as a 37 Demonstrate that a failing cmpxchg() operation does not act as an 45 Demonstrates that double-checked locking needs more than just 49 Demonstrates corrected double-checked locking that uses 56 shows how to use the "filter" clause to discard executions that [all …]
|
| /linux/Documentation/filesystems/ |
| H A D | directory-locking.rst | 12 that "inode pointer" order in the following. 37 * check that the source is not a directory 40 5. rename that is _not_ cross-directory. Locking rules: 47 * take the locks that need to be taken (exclusive), in inode pointer order 48 if need to take both (that can happen only when both source and target 51 allowed only with RENAME_EXCHANGE, and that won't be removing the target). 60 * verify that the source is not a descendent of the target and 65 The rules above obviously guarantee that all directories that are going 78 that's not a problem, but there is a nasty twist - what should we do 83 possibility that directory we see in one place gets moved by the server [all …]
|
| /linux/Documentation/userspace-api/media/cec/ |
| H A D | cec-ioc-dqevent.rst | 40 the new one. This means that intermediate results can be thrown away but 41 that the latest event is always available. This also means that is it 42 possible to read two successive events that have the same value (e.g. 44 the same state). In that case the intermediate state changes were lost but 45 it is guaranteed that the state did change in between the two events. 65 has the unregistered logical address. In that case all other bits are 0. 69 This field is only valid if ``CEC_CAP_CONNECTOR_INFO`` is set. If that 70 capability is set and ``have_conn_info`` is zero, then that indicates 71 that the HDMI connector device is not instantiated, either because 91 size of the message queue guarantees that all messages received in [all …]
|
| /linux/Documentation/RCU/Design/Expedited-Grace-Periods/ |
| H A D | Expedited-Grace-Periods.rst | 21 given that they for all intents and purposes hammer every CPU that 24 The one saving grace is that the hammer has grown a bit smaller 30 of that quiescent state. 49 or a state that is reached after some time. 62 Otherwise, it sets flags so that the outermost ``rcu_read_unlock()`` 65 CPUs that might have RCU read-side critical sections. 71 When that happens, RCU will enqueue the task, which will the continue to 87 | the CPUs? After all, that would avoid all those real-time-unfriendly | 97 | ``rcu_read_unlock()`` invocation, which means that the remote state | 98 | testing would not help the worst-case latency that real-time | [all …]
|
| /linux/Documentation/userspace-api/media/v4l/ |
| H A D | colorspaces.rst | 11 biology. Just because you have three numbers that describe the 'red', 12 'green' and 'blue' components of the color of a pixel does not mean that 13 you can accurately display that color. A colorspace defines what it 18 In order to do that we first need to have a good definition of color, 19 i.e. some way to uniquely and unambiguously define a color so that 21 the human eye has color receptors that are sensitive to three different 35 possible that different SPDs will result in the same stimulation of 40 between SPDs and the perceived color and that resulted in the CIE 1931 41 standard that defines spectral weighting functions that model the 42 perception of color. Specifically that standard defines functions that [all …]
|
| /linux/Documentation/arch/arm/google/ |
| H A D | chromebook-boot-flow.rst | 7 Most recent Chromebooks that use device tree are using the opensource 13 The scheme that depthcharge_ uses to pick the device tree takes into account 21 For recent Chromebooks, depthcharge_ creates a match list that looks like this: 28 Note that some older Chromebooks use a slightly different list that may 31 Note that for some boards there may be extra board-specific logic to inject 35 find one that matches the most specific compatible. It will then look 36 through all device trees in the `FIT Image`_ trying to find the one that 48 "google,lazor-rev4-sku0" was the second compatible listed in that device tree. 51 It should be noted that depthcharge_ does not have any smarts to try to 52 match board or SKU revisions that are "close by". That is to say that [all …]
|
| /linux/Documentation/maintainer/ |
| H A D | rebasing-and-merging.rst | 12 those tools incorrectly, but avoiding problems is not actually all that 15 One thing to be aware of in general is that, unlike many other projects, 26 within a repository. There are two different types of operations that are 43 history; used improperly, it can obscure that history and introduce bugs. 45 There are a few rules of thumb that can help developers to avoid the worst 48 - History that has been exposed to the world beyond your private system 51 work is in need of rebasing, that is usually a sign that it is not yet 58 testing services. If you do expose a branch that may be unstable in 59 this way, be sure that prospective users know not to base work on it. 61 - Do not rebase a branch that contains history created by others. If you [all …]
|
| /linux/Documentation/i2c/ |
| H A D | fault-codes.rst | 13 faults. There may be fancier recovery schemes that are appropriate in 18 result for an operation ... it doesn't indicate that anything is wrong 19 at all, just that the outcome wasn't on the "golden path". 23 the right fault code, so that it can (in turn) behave correctly. 33 Note that the descriptions here are not exhaustive. There are other 34 codes that may be returned, and other cases where these codes should 52 atomic context, when some task is already using that I2C bus 61 host. Note that even if PECs are in use, you should not rely 68 or that the reset was attempted but failed. 89 Returned by any component that can't allocate memory when [all …]
|
| /linux/Documentation/firmware-guide/acpi/ |
| H A D | osi.rst | 10 can evaluate that method, look to see if it supports 'XYZ' 14 that OSPM supports" 22 Linux runs on two groups of machines -- those that are tested by the OEM 23 to be compatible with Linux, and those that were never tested with Linux, 26 The larger group is the systems tested to run only Windows. Not only that, 30 Experience shows that taking untested paths through the BIOS 37 Windows to its list of _OSI strings. So it is possible that additional strings 39 But it is likely that they will all eventually be added. 48 method (_DSM) that is called from the Linux kernel. 58 an evaluation of all of its uses. This uncovered that they aren't needed [all …]
|
| /linux/LICENSES/preferred/ |
| H A D | LGPL-2.1 | 49 price. Our General Public Licenses are designed to make sure that you have 51 service if you wish); that you receive source code or can get it if you 52 want it; that you can change the software and use pieces of it in new free 53 programs; and that you are informed that you can do these things. 55 To protect your rights, we need to make restrictions that forbid 61 a fee, you must give the recipients all the rights that we gave you. You 62 must make sure that they, too, receive or can get the source code. If you 64 the recipients, so that they can relink them with the library after making 72 To protect each distributor, we want to make it very clear that there is no 74 else and passed on, the recipients should know that what they have is not [all …]
|
| /linux/Documentation/RCU/Design/Memory-Ordering/ |
| H A D | Tree-RCU-Memory-Ordering.rst | 20 Any code that happens after the end of a given RCU grace period is guaranteed 21 to see the effects of all accesses prior to the beginning of that grace 22 period that are within RCU read-side critical sections. 23 Similarly, any code that happens before the beginning of a given RCU grace 25 of that grace period that are within RCU read-side critical sections. 27 Note well that RCU-sched read-side critical sections include any region 29 Given that each individual machine instruction can be thought of as 37 a linked RCU-protected data structure, and phase two frees that element. 38 For this to work, any readers that have witnessed state prior to the 58 The key point is that the lock-acquisition functions, including [all …]
|
| /linux/Documentation/filesystems/ext4/ |
| H A D | allocators.rst | 6 ext4 recognizes (better than ext3, anyway) that data locality is 9 that the head actuator and disk must perform to access a data block, 17 The first tool that ext4 uses to combat fragmentation is the multi-block 20 that the space will get written soon. When the file is closed, the 24 extent. A second related trick that ext4 uses is delayed allocation. 30 is that the filesystem can make better location decisions. 32 The third trick that ext4 (and ext3) uses is that it tries to keep a 38 The fourth trick is that all the inodes in a directory are placed in the 40 here is that all the files in a directory might be related, therefore it 43 The fifth trick is that the disk volume is cut up into 128MB block [all …]
|