/Linux-v5.4/Documentation/admin-guide/sysctl/ |
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-v5.4/Documentation/process/ |
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 …]
|
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 54 What all of this comes down to is that, when reviewers send you comments, 55 you need to pay attention to the technical observations that they are [all …]
|
/Linux-v5.4/Documentation/ |
D | DMA-attributes.txt | 5 This document describes the semantics of the DMA attributes that are 21 useful, suppose that a device does a DMA write to indicate that data is 29 DMA_ATTR_WEAK_ORDERING specifies that reads and writes to the mapping 30 may be weakly ordered, that is that reads and writes may pass each other. 33 those that do not will simply ignore the attribute and exhibit default 39 DMA_ATTR_WRITE_COMBINE specifies that writes to the mapping may be 43 those that do not will simply ignore the attribute and exhibit default 51 you are guaranteeing to the platform that you have all the correct and 63 that you won't dereference the pointer returned by dma_alloc_attr(). You 64 can treat it as a cookie that must be passed to dma_mmap_attrs() and [all …]
|
/Linux-v5.4/Documentation/vm/ |
D | active_mm.rst | 14 Cc'd to linux-kernel, because I don't write explanations all that often, 27 difference is that an anonymous address space doesn't care about the 32 The obvious use for a "anonymous address space" is any thread that 34 this category, but even "real" threads can temporarily say that for 36 and that the scheduler might as well try to avoid wasting time on 38 sync does that. 41 tsk->mm will be NULL, for the logical reason that an anonymous process 45 "stole" for such an anonymous user. For that, we have "tsk->active_mm", 48 The rule is that for a process with a real address space (ie tsk->mm is 57 To support all that, the "struct mm_struct" now has two counters: a [all …]
|
D | memory-model.rst | 12 however, that this range contains small holes that are not accessible 20 whether it is possible to manually override that default. 34 helpers that allow the conversion from PFN to `struct page` and vice 44 In the FLATMEM memory model, there is a global `mem_map` array that 52 usable until the call to :c:func:`memblock_free_all` that hands all 56 it may free parts of the `mem_map` array that do not cover the 75 things, `pg_data_t` holds the `node_mem_map` array that maps 76 physical pages belonging to that node. The `node_start_pfn` field of 77 `pg_data_t` is the number of the first page frame belonging to that 88 node hosting that page. [all …]
|
D | highmem.rst | 15 exceeds the maximum size of virtual memory. At that point it becomes 18 the pieces of physical memory that it wants to access. 22 where exactly that border lies. 25 VM space so that we don't have to pay the full TLB invalidation costs for 40 This means that the kernel can at most map 1GiB of physical memory at any one 45 Other architectures that have mm context tagged TLBs can have separate kernel 65 page. Since the mapping is restricted to the CPU that issued it, it 66 performs well, but the issuing task is therefore required to stay on that 72 It may be assumed that k[un]map_atomic() won't fail. 79 wants to access the contents of a page that might be allocated from high memory [all …]
|
/Linux-v5.4/Documentation/filesystems/ |
D | path-lookup.rst | 21 exploration is needed to discover, is that it is complex. There are 22 many rules, special cases, and implementation alternatives that all 25 tool that we will make extensive use of is "divide and conquer". For 40 of elements: "slashes" that are sequences of one or more "``/``" 41 characters, and "components" that are sequences of one or more 42 non-"``/``" characters. These form two kinds of paths. Those that 51 component, but that isn't always accurate: a pathname can lack both 61 it must identify a directory that already exists, otherwise an error 67 pathname that is just slashes have a final component. If it does 74 tempting to consider that to have an empty final component. In many [all …]
|
D | directory-locking.rst | 12 that "inode pointer" order in the following. 25 4) rename() that is _not_ cross-directory. Locking rules: caller locks 37 * check that source is not a directory 61 The rules above obviously guarantee that all directories that are going to be 102 blocked on source and it means that it doesn't hold any locks. 105 has a child that is also contended. Indeed, suppose that it is held by 107 is blocked on belongs to child of that object due to (1). 109 It means that one of the operations is cross-directory rename. 111 would have a contended child and we had assumed that no object is its 117 would again have an infinite set of contended objects). But that [all …]
|
/Linux-v5.4/Documentation/driver-api/driver-model/ |
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-v5.4/Documentation/power/ |
D | freezing-of-tasks.rst | 17 There are three per-task flags used for that, PF_NOFREEZE, PF_FROZEN 18 and PF_FREEZER_SKIP (the last one is auxiliary). The tasks that have 28 sets this variable. After this, it executes try_to_freeze_tasks() that sends a 30 All freezable tasks must react to that by calling try_to_freeze(), which 33 it loop until PF_FROZEN is cleared for it. Then, we say that the task is 40 try_to_freeze() function (defined in include/linux/freezer.h), that checks 47 that combine interruptible sleep with checking if the task is to be frozen and 69 order to clear the PF_FROZEN flag for each frozen task. Then, the tasks that 101 IV. Why do we do that? 111 filesystem-related information that must be consistent with the state of the [all …]
|
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-v5.4/Documentation/RCU/ |
D | stallwarn.txt | 5 options that can be used to fine-tune the detector's operation. Finally, 28 o Booting Linux using a console connection that is too slow to 35 o Anything that prevents RCU's grace-period kthreads from running. 45 that low-priority task is not permitted to run on any other CPU, 51 o A CPU-bound real-time task in a CONFIG_PREEMPT_RT kernel that 62 help avoid this problem. However, please note that doing this 69 Note that certain high-overhead debugging options, for example 77 slow system. Note that thermal throttling and on-demand governors 81 interrupt on a CPU that is not in dyntick-idle mode. This 91 leading the realization that the CPU had failed. [all …]
|
D | rcu_dereference.txt | 14 bugs due to games that compilers and DEC Alpha can play. 18 DEC Alpha can load a pointer, dereference that pointer, and 19 return data preceding initialization that preceded the store of 31 There are a very few exceptions, namely that you can temporarily 35 bits of that pointer. This clearly means that the pointer 48 rights to substitute zero for this sort of expression, so that 53 and "b" are integers that happen to be equal, the expression 57 o If you are using RCU to protect JITed functions, so that the 62 using the same memory that was used by an earlier JITed function. 78 As before, the reason this is buggy is that relational operators [all …]
|
D | rcuref.txt | 4 Please note that the percpu-ref feature is likely your first 112 The key point is that the initial reference added by add() is not removed 113 until after a grace period has elapsed following removal. This means that 114 search_and_reference() cannot find this element, which means that the value 116 readers that can or ever will be able to reference the element. The 117 element can therefore safely be freed. This in turn guarantees that if 118 any reader finds the element, that reader may safely acquire a reference 122 in listing B is that any call to search_and_reference() that locates 123 a given object will succeed in obtaining a reference to that object, 124 even given a concurrent invocation of delete() for that same object. [all …]
|
D | UP.rst | 6 A common misconception is that, on UP systems, the call_rcu() primitive 8 is that since there is only one CPU, it should not be necessary to 12 This document presents three examples that demonstrate exactly how bad 18 Suppose that an RCU-based algorithm scans a linked list containing 20 this same list in softirq context. Suppose that the process-context scan 40 Suppose that an RCU-based algorithm again scans a linked list containing 41 elements A, B, and C in process contexts, but that it invokes a function 42 on each element as it is scanned. Suppose further that this function 48 underlying RCU, namely that call_rcu() defers invoking its arguments until 59 Suppose that call_rcu() is invoked while holding a lock, and that the [all …]
|
/Linux-v5.4/Documentation/powerpc/ |
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-v5.4/Documentation/i2c/ |
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 48 atomic context, when some task is already using that I2C bus 57 host. Note that even if PECs are in use, you should not rely 64 or that the reset was attempted but failed. 85 Returned by any component that can't allocate memory when [all …]
|
/Linux-v5.4/Documentation/firmware-guide/acpi/ |
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. 52 via the linux-acpi@vger.kernel.org mailing list. When that patch 55 by the OS. Linux distributors can back-port that patch for Linux [all …]
|
/Linux-v5.4/Documentation/media/uapi/v4l/ |
D | colorspaces.rst | 17 biology. Just because you have three numbers that describe the 'red', 18 'green' and 'blue' components of the color of a pixel does not mean that 19 you can accurately display that color. A colorspace defines what it 24 In order to do that we first need to have a good definition of color, 25 i.e. some way to uniquely and unambiguously define a color so that 27 the human eye has color receptors that are sensitive to three different 41 possible that different SPDs will result in the same stimulation of 46 between SPDs and the perceived color and that resulted in the CIE 1931 47 standard that defines spectral weighting functions that model the 48 perception of color. Specifically that standard defines functions that [all …]
|
/Linux-v5.4/Documentation/maintainer/ |
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-v5.4/Documentation/filesystems/ext4/ |
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 …]
|
/Linux-v5.4/LICENSES/preferred/ |
D | LGPL-2.1 | 43 price. Our General Public Licenses are designed to make sure that you have 45 service if you wish); that you receive source code or can get it if you 46 want it; that you can change the software and use pieces of it in new free 47 programs; and that you are informed that you can do these things. 49 To protect your rights, we need to make restrictions that forbid 55 a fee, you must give the recipients all the rights that we gave you. You 56 must make sure that they, too, receive or can get the source code. If you 58 the recipients, so that they can relink them with the library after making 66 To protect each distributor, we want to make it very clear that there is no 68 else and passed on, the recipients should know that what they have is not [all …]
|
D | LGPL-2.0 | 39 General Public Licenses are designed to make sure that you have the freedom 41 wish), that you receive source code or can get it if you want it, that you 42 can change the software or use pieces of it in new free programs; and that 45 To protect your rights, we need to make restrictions that forbid anyone to 51 a fee, you must give the recipients all the rights that we gave you. You 52 must make sure that they, too, receive or can get the source code. If you 54 the recipients so that they can relink them with the library, after making 62 Also, for each distributor's protection, we want to make certain that 63 everyone understands that there is no warranty for this free library. If 65 recipients to know that what they have is not the original version, so that [all …]
|
/Linux-v5.4/Documentation/admin-guide/namespaces/ |
D | resource-control.rst | 5 There are a lot of kinds of objects in the kernel that don't have 6 individual limits or that have limits that are ineffective when a set 11 Therefore it is recommended that memory control groups be enabled in 12 kernels that enable user namespaces, and it is further recommended 13 that userspace configure memory control groups to limit how much
|