/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 29 a special operation that includes a load and which orders that 30 load before later memory references running on that same CPU. 37 from" the release store), then all operations preceding that 56 a "control dependency" extends from that load to that store. 81 with that of CPU 2, which in turn interacts with that of CPU 0 90 extends from that load to that later store. For example: 120 that orders all of its CPU's prior accesses, itself, and 167 a special operation that includes a store and which orders that [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 47 The maximum number of ipc 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 71 The maximum number of time namespaces that any user in the current 77 The maximum number of user namespaces that any user in the current [all …]
|
/linux/Documentation/core-api/ |
H A D | dma-attributes.rst | 5 This document describes the semantics of the DMA attributes that are 11 DMA_ATTR_WEAK_ORDERING specifies that reads and writes to the mapping 12 may be weakly ordered, that is that reads and writes may pass each other. 15 those that do not will simply ignore the attribute and exhibit default 21 DMA_ATTR_WRITE_COMBINE specifies that writes to the mapping may be 57 (usually it means that the cache has been flushed or invalidated 87 - You know that the accesses to this memory won't thrash the TLB. 88 You might know that the accesses are likely to be sequential or 89 that they aren't sequential but it's unlikely you'll ping-pong 92 - You know that the penalty of TLB misses while accessing the [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 47 competent to make that decision for them. 51 Namely that you are in the wrong job, and that **they** should be managing 67 And people will even see that as true leadership (*cough* bullshit 80 back-tracking is very easy: just tell everybody that you were an 95 deleting it, you may have irrevocably lost the trust of that 126 answer may end up being that both teams get so frustrated by the 127 situation that they just give up. 186 While it turns out that most people are idiots, the corollary to that is 187 sadly that you are one too, and that while we can all bask in the secure [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 69 Note that you do not have to agree with every change suggested by 77 that you don't realize that something is fundamentally wrong or, perhaps, 88 that your patches go nowhere. 108 in mind, of course, that he may not agree with you either. 188 it with the assumption that you will not be around to maintain it [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. 56 the buckets that held it are simply reassigned to other next hops:: 86 Next hops that have fewer buckets than their wants count, are called 95 be considered "idle". Buckets that are not idle are busy. 100 1) that have no assigned next hop, or 102 3) that are idle and their next hop is overweight, 149 error code. The use case for this is that the driver notifies the HW that a 236 that contain the next hop with this ID. 271 Note the two buckets that have a shorter idle time. Those are the ones that [all …]
|
/linux/Documentation/networking/devlink/ |
H A D | devlink-trap.rst | 21 kernel so that it will route it as well and generate an ICMP Time Exceeded 39 as it allows users to obtain further visibility into packet drops that would 163 - Traps packets that the device decided to drop in case they hit a 230 - Traps unicast IPv4 packets that did not match any route 233 - Traps unicast IPv6 packets that did not match any route 306 This is required, for example, when the address that needs to be 468 This would mean that port number 0 was used or that the header is 481 - Traps packets that the device decided to drop in case they hit a 485 - Traps incoming packets that the device decided to drop because 611 packet rates that are several orders of magnitude higher compared to those that [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 31 wakes up all the kernel threads. All freezable tasks must react to that by 41 try_to_freeze() function (defined in include/linux/freezer.h), that checks 112 IV. Why do we do that? 136 to allocate additional memory and we prevent them from doing that by 145 safeguards against race conditions that might occur in such a case. 156 avoid *that*, there's no question about that. And I suspect that stopping 180 changed and may start to work incorrectly because of that. 199 now doing the sorts of things that kernel threads do [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 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 71 hardware during resume operations where a value can be set that will [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/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/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. 61 To support all that, the "struct mm_struct" now has two counters: a 66 Usually there is at least one real user, but it could be that the real 73 Also, a new rule is that _nobody_ ever has "init_mm" as a real MM any 76 no real VM has yet been created. So code that used to check [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. 38 In the FLATMEM memory model, there is a global `mem_map` array that 71 that contains `section_mem_map` that is, logically, a pointer to an 75 `MAX_PHYSMEM_BITS` constants defined by each architecture that 77 physical address that an architecture supports, the 109 and uses high bits of a PFN to access the section that maps that page 115 `struct page` objects. A PFN is an index to that array and the 116 offset of the `struct page` from `vmemmap` is the PFN of that 121 map and make sure that `vmemmap` points to that range. In addition, [all …]
|
/linux/drivers/pinctrl/intel/ |
H A D | Kconfig | 21 Cherryview/Braswell pinctrl driver provides an interface that 29 provides an interface that allows configuring of PCH pins and 45 This pinctrl driver provides an interface that allows configuring 54 This pinctrl driver provides an interface that allows configuring 61 Broxton pinctrl driver provides an interface that allows 68 This pinctrl driver provides an interface that allows configuring 75 This pinctrl driver provides an interface that allows configuring 82 This pinctrl driver provides an interface that allows configuring 89 This pinctrl driver provides an interface that allows configuring 147 provides an interface that allows configuring of PCH pins and [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 91 This structure contains 6 words that the application should copy to some 194 'Q', 'E', and 'F'. This is an identifier that indicates that this 219 The 'model' field is a 16-bit number that matches the actual SOC. The 248 'traps' is an array of 16 words that contain hardware trap values [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. 45 it is guaranteed that the state did change in between the two events. 91 size of the message queue guarantees that all messages received in 145 called an initial event will be generated for that filehandle with 146 the CEC Adapter's state at that time. 172 Only applies to adapters that have the ``CEC_CAP_MONITOR_PIN`` 181 Only applies to adapters that have the ``CEC_CAP_MONITOR_PIN`` 190 Only applies to adapters that have the ``CEC_CAP_MONITOR_PIN`` [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: 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 137 There is a ranking on the locks, such that all primitives take 161 lower than that of an already held lock. 175 and the same number of directories (D1,...,Dn) such that 204 In other words, we have a cross-directory rename that locked 273 ancestors of that parent. But as we have just shown, that chain must [all …]
|
H A D | path-lookup.rst | 96 changes that affect that lookup. One fairly extreme case is that if 119 that will be particularly relevant is that it is closely integrated 223 that is found there. 311 to the instance of ``d_alloc_parallel()`` that won the race and that 473 not call ``walk_component()`` that last time. Handling that final 525 further up the path and that something that was thought to be valid 583 report that there was an error, that there was nothing to mount, or 1007 It might seem that the name remnants are all that needs to be stored on 1038 on the dentry. This means that the mechanisms that pathname lookup 1242 update the atime on that symlink. [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/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. 65 CPUs that might have RCU read-side critical sections. 135 quiescent state at that time. 168 RCU expedited grace period. This means that only those CPUs that have 282 wait for that grace period to complete. However, that is the topic of 425 has already been acquired at that point. This approach ensures that the 429 required, guaranteeing that the four that are provided are sufficient. [all …]
|
/linux/Documentation/userspace-api/media/v4l/ |
H A D | colorspaces.rst | 10 biology. Just because you have three numbers that describe the 'red', 11 'green' and 'blue' components of the color of a pixel does not mean that 12 you can accurately display that color. A colorspace defines what it 17 In order to do that we first need to have a good definition of color, 18 i.e. some way to uniquely and unambiguously define a color so that 40 standard that defines spectral weighting functions that model the 41 perception of color. Specifically that standard defines functions that 76 This has resulted in a variety of colorspaces that are used for 88 constructed that transforms CIE XYZ colors to colors in the new 105 The final piece that defines a colorspace is a function that transforms [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 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 80 likely, invalidates much of the testing that was done. A reparented 104 Many projects require that branches in pull requests be based on the 124 usually a summary of the changes that will come with that pull. 132 history into your tree, you cannot rebase that branch, even if you [all …]
|
/linux/Documentation/i2c/ |
H A D | fault-codes.rst | 19 at all, just that the outcome wasn't on the "golden path". 68 or that the reset was attempted but failed. 89 Returned by any component that can't allocate memory when 96 means there's nothing listening at that address. 98 Returned by driver probe() methods to indicate that they 103 that it doesn't, or can't, support. 105 For example, this would be returned when an adapter that 107 one. In that case, the driver making that request should 108 have verified that functionality was supported before it 109 made that block transfer request. [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 43 The fifth trick is that the disk volume is cut up into 128MB block 47 the block groups and puts that directory into the least heavily loaded 48 block group that it can find. This encourages directories to spread out [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" 30 Experience shows that taking untested paths through the BIOS 39 But it is likely that they will all eventually be added. 48 method (_DSM) that is called from the Linux kernel. 68 "object that evaluates to a string that identifies the operating system." 78 the BIOS could use _OS to enable devices that an OS 91 that anybody would install those old operating systems 122 a BIOS that has been tested only with that _OSI returning TRUE. 136 for all BIOS's that invoke it. [all …]
|