/linux-4.1.27/Documentation/RCU/ |
D | trace.txt | 5 output that summarizes counters and state. This information is useful for 21 Note that rcu/rcu_preempt is only present for CONFIG_PREEMPT_RCU. 23 so that activity for both appears in rcu/rcu_sched. 32 The first line shows the number of rcutorture tests that have completed 35 update cycles that the current test has started, or zero if there is 51 Displays counts of the reasons rcu_pending() decided that RCU had 74 no output for CPUs that have never been online, which can be 78 o "c" is the count of grace periods that this CPU believes have 83 Note that although the grace-period number is an unsigned long, 87 o "g" is the count of grace periods that this CPU believes have [all …]
|
D | checklist.txt | 5 that make use of RCU. Violating any of the rules listed below will 6 result in the same sorts of problems that leaving out a locking primitive 13 performance measurements show that RCU is nonetheless the right 42 information relating to itself that other tasks can read, there 61 any locks or atomic operations. This means that readers will 68 RCU-protected data structures that have been added to 74 locks (that are acquired by both readers and writers) 75 that guard per-element state. Of course, fields that 90 d. Carefully order the updates and the reads so that 99 a separate structure, so that the change may be made [all …]
|
D | UP.txt | 4 A common misconception is that, on UP systems, the call_rcu() primitive 6 is that since there is only one CPU, it should not be necessary to 10 This document presents three examples that demonstrate exactly how bad 16 Suppose that an RCU-based algorithm scans a linked list containing 18 this same list in softirq context. Suppose that the process-context scan 38 Suppose that an RCU-based algorithm again scans a linked list containing 39 elements A, B, and C in process contexts, but that it invokes a function 40 on each element as it is scanned. Suppose further that this function 46 underlying RCU, namely that call_rcu() defers invoking its arguments until 55 Suppose that call_rcu() is invoked while holding a lock, and that the [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 29 is within its right to assume that the value of an index into 32 that the array index no longer depended on the value returned 44 these expressions, so that subsequent accesses no longer depend 49 and "b" are integers that happen to be equal, the expression 61 Please note that single-bit operands to bitwise "&" can also 62 be dangerous. At this point, the compiler knows that the 68 o If you are using RCU to protect JITed functions, so that the [all …]
|
D | NMI-RCU.txt | 19 The dummy_nmi_callback() function is a "dummy" NMI handler that does 20 nothing, but returns zero, thus saying that it did nothing, allowing 44 in the same way that a hardware irq would, then increments the per-CPU 57 given that the code referenced by the pointer is read-only? 67 The set_nmi_callback() function registers an NMI handler. Note that any 68 data that is to be used by the callback must be initialized up -before- 69 the call to set_nmi_callback(). On architectures that do not order 70 writes, the rcu_assign_pointer() ensures that the NMI handler sees the 92 any preemption-disabled segments of code that they were executing. 104 that the code referenced by the pointer is read-only? [all …]
|
D | lockdep.txt | 3 All flavors of RCU have lockdep checking available, so that lockdep is 6 that this is not the case in 2.6.32 and earlier). This allows lockdep's 10 In addition, RCU provides the following primitives that check lockdep's 36 rcu_read_lock_held(). This is useful in code that is 40 rcu_read_lock_bh_held(). This is useful in code that 44 rcu_read_lock_sched_held(). This is useful in code that 48 srcu_read_lock_held()(). This is useful in code that 53 This is useful in code that uses RCU-protected arrays 54 that is invoked by both RCU readers and updaters. 60 structure cannot change, for example, in code that is [all …]
|
D | rcu.txt | 5 operations into two parts, one that prevents anyone from seeing the data 6 item being destroyed, and one that actually carries out the destruction. 8 must be long enough that any readers accessing the item being deleted have 19 The advantage of RCU's two-part approach is that RCU readers need 22 barriers. The fact that these operations are quite expensive 24 in read-mostly situations. The fact that RCU readers need not 33 three states, we know that that CPU has exited any previous RCU 37 safely free up that item. 40 same effect, but require that the readers manipulate CPU-local 62 o What guidelines should I follow when writing code that uses RCU? [all …]
|
D | whatisRCU.txt | 1 Please note that the "What is RCU?" LWN series is an excellent place 12 RCU is a synchronization mechanism that was added to the Linux kernel 13 during the 2.5 development effort that is optimized for read-mostly 15 getting there can sometimes be a challenge. Part of the problem is that 17 assumption that there is "one true way" to describe RCU. Instead, 18 the experience has been that different people must take different paths 33 some point. People who prefer to start with an API that they can then 41 So, start with the section that makes the most sense to you and your 44 that type of person, you have perused the source code and will therefore 54 The reason that it is safe to run the removal phase concurrently with [all …]
|
D | stallwarn.txt | 4 detector, which detects conditions that unduly delay RCU grace periods. 13 that RCU will wait from the beginning of a grace period until it 65 For non-RCU-tasks flavors of RCU, when a CPU detects that it is stalling, 70 This message indicates that CPU 5 detected that it was causing a stall, 71 and that the stall was affecting RCU-sched. This message will normally be 83 This message indicates that CPU 2 detected that CPUs 3 and 5 were both 84 causing stalls, and that the stall was affecting RCU-bh. This message 85 will normally be followed by stack dumps for each CPU. Please note that 87 and that the tasks will be indicated by PID, for example, "P3421". 100 interact. Please note that it is not possible to entirely eliminate this [all …]
|
D | rcuref.txt | 4 Please note that the percpu-ref feature is likely your first 108 The key point is that the initial reference added by add() is not removed 109 until after a grace period has elapsed following removal. This means that 110 search_and_reference() cannot find this element, which means that the value 112 readers that can or ever will be able to reference the element. The 113 element can therefore safely be freed. This in turn guarantees that if 114 any reader finds the element, that reader may safely acquire a reference 118 delete(), so that el_free() can be subsumed into delete as follows:
|
D | rcubarrier.txt | 5 RCU (read-copy update) is a synchronization mechanism that can be thought 7 very low-overhead readers that are immune to deadlock, priority inversion, 12 This means that RCU writers are unaware of the presence of concurrent 13 readers, so that RCU updates to shared data must be undertaken quite 20 given that readers might well leave absolutely no trace of their 21 presence? There is a synchronize_rcu() primitive that blocks until all 33 another pointer to a function that may be invoked later to free that 75 callbacks to complete. Please note that rcu_barrier() does -not- imply 88 the flavor of rcu_barrier() with that of call_rcu(). If your module 90 flavors of rcu_barrier() when unloading that module. For example, if [all …]
|
/linux-4.1.27/Documentation/filesystems/ |
D | directory-locking | 7 that "inode pointer" order in the following. 18 4) rename() that is _not_ cross-directory. Locking rules: caller locks 20 it. If source is a non-directory, lock it. If that means we need to 25 * check that source is not a directory 39 it. In case that means we need to lock both source and target, 44 The rules above obviously guarantee that all directories that are going to be 84 blocked on source and it means that it doesn't hold any locks. 87 has a child that is also contended. Indeed, suppose that it is held by 89 is blocked on belongs to child of that object due to (1). 91 It means that one of the operations is cross-directory rename. [all …]
|
D | dax.txt | 11 For block devices that are memory-like, the page cache pages would be 31 that identifies the physical page for the memory. It also returns a 32 kernel virtual address that can be used to access the memory. 34 The direct_access method takes a 'size' parameter that indicates the 36 of bytes that can be contiguously accessed at that offset. It may also 66 - ensuring that there is sufficient locking between reads, writes, 70 uninitialised extents. If it does, it must ensure that simultaneous 82 Even if the kernel or its modules are stored on a filesystem that supports 83 DAX on a block device that supports DAX, they will still be copied into RAM. 88 Calling get_user_pages() on a range of user memory that has been mmaped [all …]
|
D | xfs-delayed-logging-design.txt | 12 required for objects that are frequently logged. Some parts of inodes are more 17 The reason that this is such a concern is that XFS allows multiple separate 21 "re-logging". Conceptually, this is quite simple - all it requires is that any 23 changes in the new transaction that is written to the log. 43 that an object being relogged does not prevent the tail of the log from ever 56 progresses, ensuring that current operation never gets blocked by itself if the 59 Hence it can be seen that the relogging operation is fundamental to the correct 63 the log over and over again. Worse is the fact that objects tend to get 67 Another feature of the XFS transaction subsystem is that most transactions are 70 forces the log buffers holding the transactions to disk. This means that XFS is [all …]
|
D | hpfs.txt | 16 Set owner/group/mode for files that do not have it specified in extended 19 that for files mode is anded with 0666. If you want files to have 'x' 26 text file than to damage binary file). If you want to change that list, 28 heuristic algorithm that I removed. I thing it's danger to let the 34 danger. I tried to write it so that it won't crash if check=normal on 41 When to mark filesystem dirty so that OS/2 checks it. 54 As in OS/2, filenames are case insensitive. However, shell thinks that names 56 'cat FOO', 'cat Foo', 'cat foo' or 'cat F*' but not 'cat f*'. Note, that you 70 an ascii string identifying that attribute and value is any string of bytes of 75 that extended attributes those value differs from defaults specified in mount [all …]
|
D | seq_file.txt | 11 Virtual files can provide human-readable output that is easy to get at 13 script writers. It is not surprising that the use of virtual files has 17 however. It is not that hard to make a virtual file which returns a 21 position within the virtual file - that position is, likely as not, in the 23 implementations that got this wrong. 45 better to do. The file is seekable, in that one can do something like the 59 Note that the above article uses create_proc_entry which was removed in 70 iterator object that allows stepping through the data of interest. 72 implement - but the interpretation of that position is up to the iterator 73 itself. A seq_file implementation that is formatting firewall rules, for [all …]
|
D | porting | 37 Keep in mind that now you need explicit initialization of private data 40 At some point that will become mandatory. 49 Turn your foo_read_super() into a function that would return 0 in case of 79 ->rmdir() and ->rename()). If you used to need that exclusion and do 89 - that will guarantee the same locking you used to have. If your method or its 91 unlock_kernel() so that they would protect exactly what needs to be 125 FS_SINGLE is gone (actually, that had happened back when ->get_sb() 133 watch for ->i_mutex-grabbing code that might be used by your ->setattr(). 149 It is planned that this will be required for exporting once the code 169 'test' is an additional function that can be used when the inode [all …]
|
D | locks.txt | 17 been totally removed, so that we don't need to carry this baggage 34 file with flock(). With pre 1.3.96 kernels this could result in deadlocks that, 46 race and deadlock conditions that the current solution was the only 48 4.1.x and several other commercial Unices. The only OS's that support 49 cooperative flock()/fcntl() are those that emulate flock() using 50 fcntl(), with all the problems that implies. 58 general configuration option that was valid for all mounted filesystems. This 65 The default is to disallow mandatory locking. The intention is that
|
D | xfs-self-describing-metadata.txt | 11 is this very scalability that causes the verification problem. 23 manual task of verifying that things like single bit errors or misplaced writes 29 to analyse and so that analysis blows out towards weeks/months of forensic work. 31 up, the more likely that the cause will be lost in the noise. Hence the primary 39 One of the problems with the current metadata format is that apart from the 46 verification of metadata values, looking for values that are in range (and hence 56 ensure that common types of errors are easily detectable. Hence the concept of 59 The first, fundamental requirement of self describing metadata is that the 76 integrity checking. We cannot trust the metadata if we cannot verify that it has 85 fast. So while CRC32c is not the strongest of possible integrity checks that [all …]
|
D | hfsplus.txt | 20 Specifies the user/group that owns all files on the filesystem 21 that have uninitialized permissions structures. 26 that have uninitialized permissions structures. 31 leaving that decision to the CDROM driver. This option will fail 47 Used to force write access to volumes that are marked as journalled
|
/linux-4.1.27/Documentation/ |
D | ManagementStyle | 11 to do with reality. It started as a lark, but that doesn't mean that it 24 making it painfully obvious to the questioner that we don't have a clue 32 Everybody thinks managers make decisions, and that decision-making is 42 competent to make that decision for them. 46 Namely that you are in the wrong job, and that _they_ should be managing 55 It helps to realize that the key difference between a big decision and a 57 can be made small by just always making sure that if you were wrong (and 62 And people will even see that as true leadership (*cough* bullshit 66 things that can't be undone. Don't get ushered into a corner from which 70 It turns out that since nobody would be stupid enough to ever really let [all …]
|
D | BUG-HUNTING | 11 - Finding patch that caused a bug 20 not confident in doing that please report the bug to your distribution vendor 25 MAINTAINERS for who that is for the subsystem you have worked on. 32 Often this is caused by udev. Check that first before blaming it on the 35 Finding patch that caused a bug 62 . All the kernel tar files from a revision that worked to the 63 revision that doesn't 67 . Rebuild a revision that you believe works, install, and verify that. 70 you know that 1.3.69 does. Pick a kernel in the middle and build 71 that, like 1.3.50. Build & test; if it works, pick the mid point [all …]
|
D | DMA-attributes.txt | 4 This document describes the semantics of the DMA attributes that are 20 useful, suppose that a device does a DMA write to indicate that data is 28 DMA_ATTR_WEAK_ORDERING specifies that reads and writes to the mapping 29 may be weakly ordered, that is that reads and writes may pass each other. 32 those that do not will simply ignore the attribute and exhibit default 38 DMA_ATTR_WRITE_COMBINE specifies that writes to the mapping may be 42 those that do not will simply ignore the attribute and exhibit default 50 you are guaranteeing to the platform that you have all the correct and 62 that you won't dereference the pointer returned by dma_alloc_attr(). You 63 can treat it as a cookie that must be passed to dma_mmap_attrs() and [all …]
|
D | SubmitChecklist | 4 Here are some basic things that developers should do if they want to see their 7 These are all above and beyond the documentation that is provided in 12 1: If you use a facility then #include the file that defines/declares 13 that facility. Don't depend on other header files pulling in ones 14 that you use. 32 You should be able to justify all violations that remain in 46 that they find. Note: checkstack does not point out problems explicitly, 47 but any one function that uses more than 512 bytes on the stack is a 76 Patches that change userspace interfaces should be CCed to 79 20: Check that it all passes `make headers_check'. [all …]
|
D | stable_api_nonsense.txt | 8 realize that this article describes the _in kernel_ interfaces, not the 10 the one that application programs use, the syscall interface. That 12 programs that were built on a pre 0.9something kernel that still work 14 that users and application programmers can count on being stable. 21 you get that only if your driver is in the main kernel tree. You also 31 It's only the odd person who wants to write a kernel driver that needs 38 that describes kernel drivers that do not have their source code 51 Assuming that we had a stable kernel source interface for the kernel, a 58 isn't that important, but the different data structure padding is 68 There is no way that binary drivers from one architecture will run [all …]
|
D | this_cpu_ops.txt | 11 specific per cpu base and encode that operation in the instruction 14 This means that there are no atomicity issues between the calculation of 16 necessary to disable preemption or interrupts to ensure that the 21 processors have special lower latency instructions that can operate 30 processor should be accessing that variable and therefore there are no 33 Please note that accesses by remote processors to a per cpu area are 82 from that address which occurs with the per cpu operations. Before 106 Note that these operations can only be used on per cpu data that is 108 surrounding code this_cpu_inc() will only guarantee that one of the 110 guarantee that the OS will not move the process directly before or [all …]
|
D | SubmittingPatches | 41 Note, however, that you may not want to develop against the mainline tree 44 in the MAINTAINERS file to find that tree, or simply ask the maintainer if 48 in the next section), but that is the hard way to do kernel development. 61 change is in - that makes the resultant diff a lot easier to read. 110 5000 lines of a new feature, there must be an underlying problem that 111 motivated you to do this work. Convince the reviewer that there is a 112 problem worth fixing and that it makes sense for them to read past the 116 pretty convincing, but not all bugs are that blatant. Even if the 118 it can have on users. Keep in mind that the majority of Linux 120 vendor/product-specific trees that cherry-pick only specific patches [all …]
|
D | unaligned-memory-access.txt | 6 unaligned accesses, why you need to write code that doesn't cause them, 14 from an address that is not evenly divisible by N (i.e. addr % N != 0). 39 writing code that satisfies natural alignment requirements is the easiest way 59 silently perform a different memory access to the one that was requested, 60 resulting in a subtle code bug that is hard to detect! 62 It should be obvious from the above that if your code causes unaligned 67 Code that does not cause unaligned access 75 ensures that things will work for you. For example, take the following 84 Let us assume that an instance of the above structure resides in memory 86 not be unreasonable to expect that accessing field2 would cause an unaligned [all …]
|
D | robust-futex-ABI.txt | 6 Robust_futexes provide a mechanism that is used in addition to normal 34 A thread that anticipates possibly using robust_futexes should first 51 setup that list. 60 be called the 'lock word', from that 'lock entry'. The 'lock word' 80 waiting for a lock on a threads exit if that next thread used the futex 81 mechanism to register the address of that 'lock word' with the kernel. 84 robust_futex support for exit cleanup of that lock, it should have one 89 that lock using the futex mechanism. 93 pointer for that task. The task may retrieve that value later on by 100 It is anticipated that threads will use robust_futexes embedded in [all …]
|
D | module-signing.txt | 27 signature checking is done by the kernel so that it is not necessary to have 34 hash algorithms that can be used are SHA-1, SHA-224, SHA-256, SHA-384, and 51 This specifies how the kernel should deal with a module that has a 52 signature for which the key is not known or a module that is unsigned. 55 available and modules that are unsigned are permitted, but the kernel will 59 If this is on (ie. "restrictive"), only modules that have a valid 60 signature that can be verified by a public key in the kernel's possession 63 Irrespective of the setting here, if the module has a signature block that 88 than being a module) so that modules signed with that algorithm can have 100 kernel so that it can be used to check the signatures as the modules are [all …]
|
D | kernel-per-CPU-kthreads.txt | 4 options to control their OS jitter. Note that non-per-CPU kthreads are 39 that does not require per-CPU kthreads. This will prevent these 45 3. Rework the eHCA driver so that its per-CPU kthreads are 83 from being initiated from tasks that might run on the CPU to 90 from being initiated from tasks that might run on the CPU to 97 from being initiated from tasks that might run on the CPU to 101 1. Avoid use of drivers that use tasklets. (Such drivers will contain 103 2. Convert all drivers that you must use from tasklets to workqueues. 108 for example, ensure that at most one runnable kthread is present 109 on that CPU. If a thread that expects to run on the de-jittered [all …]
|
D | atomic_ops.txt | 12 be made opaque such that any kind of cast to a normal C integer type 35 The initializer is atomic in that the return values of the atomic operations 56 The setting is atomic in that the return values of the atomic operations by 57 all threads are guaranteed to be correct reflecting either the value that has 67 The read is atomic in that the return value is guaranteed to be one of the 71 interface operations. atomic_read does not guarantee that the runtime 73 interface must take care of that with a proper implicit or explicit memory 82 C statements that may be reordered or optimized away entirely by the compiler 84 barrier for each use case. Failure to do so will result in code that may 95 that might otherwise optimize accesses out of existence on the one hand, [all …]
|
D | memory-barriers.txt | 101 Each CPU executes a program that generates memory access operations. In the 163 Note that CPU 2 will never try and load C into D because the CPU will load P 173 registers that are accessed through an address port register (A) and a data 192 There are some minimal guarantees that may be expected of a CPU: 195 respect to itself. This means that for: 203 and always in that order. On most systems, smp_read_barrier_depends() 205 is required to prevent compiler mischief. Please note that you 210 ordered within that CPU. This means that for: 229 And there are a number of things that _must_ or _must_not_ be assumed: 231 (*) It _must_not_ be assumed that the compiler will do what you want with [all …]
|
D | parport.txt | 29 to tell the parport code that you want three PC-style ports, one at 51 Note that these are example lines only! You shouldn't in general need 62 port is detected, the devices that are connected to it are analysed, 82 command-line will make parport use any IRQ lines or DMA channels that 93 describing that parallel port. 135 devices/active A list of the device drivers using that port. A "+" 138 string "none" means that there are no device drivers 139 using that port. 164 Note that the current implementation will only take 168 autoprobe Any IEEE-1284 device ID information that has been [all …]
|
D | assoc_array.txt | 38 Rather, the array is made up of metadata blocks that point to objects. 66 The implementation uses a tree of 16-pointer nodes internally that are indexed 91 The insertion and deletion functions produce an 'edit script' that can later be 93 preallocated metadata blocks that will be installed in the internal tree and 94 keeps track of the metadata blocks that will be removed from the tree when the 98 script has been applied so that they can be freed later. The freeing is done 177 Free the specified object. Note that this may be called an RCU grace 203 This inserts the given object into the array. Note that the least 207 If an object already exists for that key then it will be replaced with the 214 an edit script that must be applied. -ENOMEM is returned in the case of [all …]
|
D | logo.txt | 2 ("currently unofficial" just means that there has been no paperwork and 3 that I have not really announced it yet). It was created by Larry Ewing, 7 Note that there are black-and-white versions of this available that
|
D | kmemcheck.txt | 25 is a dynamic checker that detects and warns about some uses of uninitialized 29 difference between memcheck and kmemcheck is that memcheck works for userspace 33 programmer errors that the compiler is not able to find through static 36 Enabling kmemcheck on a kernel will probably slow it down to the extent that 60 Without this, gcc will use certain optimizations that usually lead to 77 function at the beginning of every function. This means that when the 80 modifies memory that was tracked by kmemcheck, the result is an 147 will get lost in that way instead. Try setting this to 10 or so on 158 bytes that will be saved. So if you pick for example 5 here, kmemcheck 166 This option (when enabled) works around certain GCC optimizations that [all …]
|
D | cachetlb.txt | 12 implementation, and what is to happen on that single processor. The 13 SMP cases are a simple extension, in that you just extend the 14 definition such that the side effect for a particular interface occurs 18 if it can be proven that a user address space has never executed 20 for this address space on that cpu. 25 page tables. Meaning that if the software page tables change, it is 43 the TLB. After running, this interface must make sure that 57 interface must make sure that any previous page table 66 The interface is provided in hopes that the port can find 82 After running, this interface must make sure that any previous [all …]
|
D | kobject.txt | 12 abstraction upon which it is built - is that there is no obvious starting 16 adding detail as we go. To that end, here are some quick definitions of 32 - A ktype is the type of object that embeds a kobject. Every structure 33 that embeds a kobject needs a corresponding ktype. The ktype controls 39 safely ignore that implementation detail as the kset core code handles 67 So, for example, the UIO code in drivers/uio/uio.c has a structure that 76 just a matter of using the kobj member. Code that works with kobjects will 79 (such as assuming that the kobject is at the beginning of the structure) 116 Code which creates a kobject must, of course, initialize that object. Some 144 There is a function called kobject_set_name() but that is legacy cruft and [all …]
|
D | robust-futexes.txt | 6 what are robust futexes? To answer that, we first need to understand 7 what futexes are: normal futexes are special types of locks that in the 14 that says "there's a waiter pending", and the sys_futex(FUTEX_WAIT) 16 creates a 'futex queue' internally, so that it can later on match up the 19 value) that there were waiter(s) pending, and does the 23 completely forgets that there ever was a futex at that address. This 27 process exits prematurely while holding a pthread_mutex_t lock that is 29 pthread_mutex_t, or yum is kill -9-ed), then waiters for that lock need 30 to be notified that the last owner of the lock exited in some irregular 39 the kernel that destroys the owner task (e.g. due to a SEGFAULT), but [all …]
|
D | bus-virt-phys-mapping.txt | 19 that is, normal RAM--see later about other details): 32 things any more complex than necessary, so you can assume that all 36 address, and things are very simple indeed. However, they are that simple 37 because the memory and the devices share the same address space, and that is 47 Now, that looks simple enough. However, when you look at the same thing from 84 You want the _virtual_ address when you are actually going to access that 106 on the other hand, you want the bus address when you have a buffer that 116 use that from the CPU (the CPU only uses translated virtual addresses), and 128 only talks about "real memory", that is, CPU memory (RAM). 130 There is a completely different type of memory too, and that's the "shared [all …]
|
D | CodingStyle | 6 views on anybody, but this is what goes for anything that I have to be 19 There are heretic movements that try to make indentations 4 (or even 2!) 20 characters deep, and that is akin to trying to define the value of PI to 28 Now, some people will claim that having 8-character indentations makes 30 80-character terminal screen. The answer to that is that if you need 36 Heed that warning. 87 printk messages, because that breaks the ability to grep for them. 92 The other issue that always comes up in C styling is the placement of 124 Heretic people all over the world have claimed that this inconsistency 125 is ... well ... inconsistent, but all right-thinking people know that [all …]
|
D | oops-tracing.txt | 3 the Oops" or "running it through ksymoops". If you post an Oops from 2.6 that 9 Find the Oops and send it to the maintainer of the kernel area that seems to be 28 If the machine has crashed so badly that you cannot enter commands or 36 may find that booting with a higher resolution (eg, vga=791) 63 Actually, there are things you can do that make this easier. I have two 71 information of which function and the offset in the function that it 74 Oh, it helps if the report happens on a kernel that is compiled with the 86 and do a replace of spaces to "\x" - that's what I do, as I'm too lazy 92 The hex bytes that follow "Code:" may (in some architectures) have a series 93 of bytes that precede the current instruction pointer as well as bytes at and [all …]
|
D | DMA-ISA-LPC.txt | 23 Kconfig to be dependent on ISA_DMA_API (not ISA) so that nobody tries 40 In order to allocate a piece of memory that satisfies all these 47 (This scarcity also means that you should allocate the buffer as 55 thing. The reason for this is that the function isa_virt_to_phys() 57 is really all you need. Remember that even though the DMA controller 72 This means that of the four 16-bits channels only three are usable.) 89 using claim_dma_lock(). The reason is that some DMA operations are 95 controller that is used for the non-atomic operations. As long as you 105 transfer. Note that it's _bytes_. The DMA routines will do all the 106 required translation to values that the DMA controller understands. [all …]
|
D | rfkill.txt | 24 - hard block: read-only radio block that cannot be overridden by software 25 - soft block: writable radio block (need not be readable) that is set by 42 the system know about hardware-disabled states that may be implemented on 64 that, a button. If that button influences the hardware then you need to 68 For some platforms, it is possible that the hardware state changes during 82 rfkill drivers that control devices that can be hard-blocked unless they also 91 character device that allows userspace to obtain and set the state of rfkill 93 and removal. The API is a simple read/write API that is defined in 94 linux/rfkill.h, with one ioctl that allows turning off the deprecated input
|
D | HOWTO | 8 but will help point you in the right direction for that. 28 you plan to do low-level development for that architecture. Though they 36 adheres to the ISO C89 standard, it uses a number of extensions that are 42 and the extensions that it uses, and unfortunately there is no 46 Please remember that you are trying to learn how to work with the 73 The Linux kernel source tree has a large range of documents that are 75 new features are added to the kernel, it is recommended that new 77 When a kernel change causes the interface that the kernel exposes to 78 userspace to change, it is recommended that you send the information or 83 Here is a list of files that are in the kernel source tree that are [all …]
|
D | irqflags-tracing.txt | 6 that it gives interested subsystems an opportunity to be notified of 7 every hardirqs-off/hardirqs-on, softirqs-off/softirqs-on event that 14 are locking APIs that are not used in IRQ context. (the one exception 22 Architectures that want to support this need to do a couple of 45 implementation in an architecture: lockdep will detect that and will 48 changes break other code by modifying conditions or registers that
|
/linux-4.1.27/Documentation/vm/ |
D | active_mm.txt | 6 Cc'd to linux-kernel, because I don't write explanations all that often, 19 difference is that an anonymous address space doesn't care about the 24 The obvious use for a "anonymous address space" is any thread that 26 this category, but even "real" threads can temporarily say that for 28 and that the scheduler might as well try to avoid wasting time on 30 sync does that. 33 tsk->mm will be NULL, for the logical reason that an anonymous process 37 "stole" for such an anonymous user. For that, we have "tsk->active_mm", 40 The rule is that for a process with a real address space (ie tsk->mm is 49 To support all that, the "struct mm_struct" now has two counters: a [all …]
|
D | highmem.txt | 26 exceeds the maximum size of virtual memory. At that point it becomes 29 the pieces of physical memory that it wants to access. 33 where exactly that border lies. 36 VM space so that we don't have to pay the full TLB invalidation costs for 51 This means that the kernel can at most map 1GiB of physical memory at any one 56 Other architectures that have mm context tagged TLBs can have separate kernel 77 page. Since the mapping is restricted to the CPU that issued it, it 78 performs well, but the issuing task is therefore required to stay on that 84 It may be assumed that k[un]map_atomic() won't fail. 92 wants to access the contents of a page that might be allocated from high memory [all …]
|
D | page_migration | 5 nodes in a numa system while the process is running. This means that the 6 virtual addresses that the process sees do not change. However, the 10 by moving pages near to the processor where the process accessing that memory 18 process that are located on the from nodes to the destination nodes. 32 through user space processes that move pages. A special function call 43 a new cpuset then also all its pages are moved with it so that the 68 so that it cannot vanish while the page migration occurs. 72 2. We need to have a function of type new_page_t that can be 78 the new page for each page that is considered for 87 is increased so that the page cannot be freed while page migration occurs. [all …]
|
D | unevictable-lru.txt | 42 and the rationale for some of the design decisions that drove the 45 details - the "what does it do?" - by reading the code. One hopes that the 46 descriptions below add value by provide the answer to "why does it do that?". 63 of pages that are evictable. This can result in a situation where all CPUs are 75 The infrastructure may also be able to handle other conditions that make pages 84 indicate that the page is being managed on the unevictable list. 87 PG_active flag in that it indicates on which LRU list a page resides when 100 can only migrate pages that it can successfully isolate from the LRU 138 reclaim process can be more efficient, dealing only with pages that have a 175 Note that SHM_LOCK is not required to page in the locked pages if they're [all …]
|
D | numa_memory_policy.txt | 15 programming interface that a NUMA-aware application can take advantage of. When 27 is the policy that governs all page allocations that aren't controlled 37 on behalf of the task that aren't controlled by a more specific scope. 38 If a task does not define a task policy, then all page allocations that 46 executable image that has no awareness of memory policy. See the 48 that a task may use to set/change its task/process policy. 51 [Linux kernel task] that installs the policy and any threads 52 subsequently created by that thread. Any sibling threads existing 67 A VMA policy will govern the allocation of pages that back this region of 68 the address space. Any regions of the task's address space that don't [all …]
|
D | frontswap.txt | 31 to refuse further stores with that swap type. 47 Note that if a page is stored and the page already exists in transcendent memory 70 "transcendent memory" that is otherwise not directly addressable to the kernel. 85 that can be safely kept in RAM. Zcache essentially trades off CPU 137 device that is swapon'd. This is added to the EIGHT bits (which 138 was sixteen until about 2.6.34) that the kernel already allocates 139 for every swap page for every swap device that is swapon'd. (Hugh 140 Dickins has observed that frontswap could probably steal one of 141 the existing eight bits, but let's worry about that minor optimization 146 out to disk, there is a side effect that this may create more memory [all …]
|
D | zswap.txt | 3 Zswap is a lightweight compressed cache for swap pages. It takes pages that are 12 potential configurations and workloads that exist. For this reason, zswap 18 * Overcommitted guests that share a common I/O resource can 36 the backing swap device in the case that the compressed pool is full. 40 returned by the allocation routine and that handle must be mapped before being 46 handle that references that compressed swap page. This mapping is achieved 50 During a page fault on a PTE that is a swap entry, frontswap calls the zswap 60 * max_pool_percent - The maximum percentage of memory that the compressed
|
D | numa | 8 From the hardware perspective, a NUMA system is a computer platform that 49 "closer" nodes--nodes that map to closer cells--will generally experience 54 physical cell that has no memory attached, and reassign any CPUs attached to 55 that cell to a node representing a cell that does have memory. Thus, on 56 these architectures, one cannot assume that all CPUs that Linux associates with 78 memory, Linux must decide whether to order the zonelists such that allocations 89 node to which the CPU that executes the request is assigned. Specifically, 94 that can satisfy the request. 99 later migrate away from that memory. The Linux scheduler is aware of the 114 System administrators can restrict the CPUs and nodes' memories that a non- [all …]
|
/linux-4.1.27/Documentation/locking/ |
D | rt-mutex-design.txt | 10 It doesn't describe the reasons why rtmutex.c exists. For that please see 12 that happen without this code, but that is in the concept to understand 16 inheritance (PI) algorithm that is used, as well as reasons for the 17 decisions that were made to implement PI in the manner that was done. 26 to use a resource that a lower priority process has (a mutex for example), 36 that C owns and must wait and lets C run to release the lock. But in the 70 inherited priority, and A then can continue with the resource that C had. 75 Here I explain some terminology that is used in this document to help describe 76 the design that is used to implement PI. 78 PI chain - The PI chain is an ordered series of locks and processes that cause [all …]
|
D | lockdep-design.txt | 12 A class of locks is a group of locks that are logically the same with 15 struct is one class, while each inode has its own instantiation of that 20 rolling proof that the state and the dependencies are correct. 24 and all subsequent uses of that lock-class will be attached to this 75 The validator detects and reports lock usage that violate these 106 The above rules are enforced for any locking sequence that occurs in the 125 (Again, we do these checks too on the basis that an interrupt context 127 could lead to a lock inversion deadlock - even if that lock scenario did 140 An example of such an object hierarchy that results in "nested locking" 141 is that of a "whole disk" block-dev object and a "partition" block-dev [all …]
|
D | spinlocks.txt | 14 spinlock itself will guarantee the global lock, so it will guarantee that 15 there is only one thread-of-control within the region(s) protected by that 28 sequences that you _know_ need to be split up: avoid it at all cost if you 35 easily added to places that are completely independent of other code (for 36 example, internal driver data structures that nobody else ever touches). 39 to do locking across CPU's, which implies that EVERYTHING that 64 .. critical section that only reads the info ... 73 itself. The read lock allows many concurrent readers. Anything that 92 are the most safe ones, and the ones that work under all circumstances, 100 cheaper versions of the spinlocks. IFF you know that the spinlocks are [all …]
|
D | mutex-design.txt | 10 that enforces serialization on shared memory systems, and not only to 15 of advantages, including simpler interfaces, and at that time smaller 26 transitions that can occur during the lifetime of a lock: 33 that serializes access to it. CONFIG_SMP systems can also include 37 When acquiring a mutex, there are three possible paths that can be 58 to run that have higher priority (need_resched). The rationale is 59 that if the lock owner is running, it is likely to release the lock 60 soon. The mutex spinners are queued up using MCS lock so that only 66 cacheline bouncing that common test-and-set spinlock implementations 69 MCS lock is that it has the extra property that spinners are able to exit [all …]
|
D | ww-mutex-design.txt | 9 GPU's do operations that commonly involve many buffers. Those buffers 16 there is no way to guarantee that buffers appear in a execbuf/batch in 18 userspace, and a result of the sequence of GL calls that an application 20 more complex when you consider that the kernel may need to migrate the 26 The algorithm that the TTM graphics subsystem came up with for dealing with 27 this problem is quite simple. For each group of buffers (execbuf) that need 32 younger task) unlocks all of the buffers that it has already locked, and then 71 has a void return type. Note that since ww mutex code needs loops/retries 74 - When full debugging is enabled ww_mutex_lock_slow checks that all acquired 75 ww mutex have been released (preventing deadlocks) and makes sure that we [all …]
|
/linux-4.1.27/Documentation/driver-model/ |
D | binding.txt | 5 driver that can control it. Bus drivers have typically handled this 14 The bus type structure contains a list of all devices that are on that bus 17 list of all drivers of that bus type. When driver_register is called 26 to find one that supports it. In order to determine that, the device 27 ID of the device must match one of the device IDs that the driver 38 chance to verify that it really does support the hardware, and that 46 class, and that is set in the driver's devclass field. 62 A symlink is created in the bus's 'devices' directory that points to 65 A symlink is created in the driver's 'devices' directory that points 69 symlink is created in that directory that points to the device's [all …]
|
D | porting.txt | 19 In a nutshell, the driver model consists of a set of objects that can 104 It is recommended that the generic device not be the first item in 120 that are performed (which is Good). 129 The bus_id is an ASCII string that contains the device's address on 133 parent is the physical parent of the device. It is important that 136 The driver model maintains an ordered list of devices that it uses 137 for power management. This list must be in order to guarantee that 143 device's parent. sysfs exports a directory structure that mirrors 144 the device hierarchy. Accurately setting the parent guarantees that 148 belongs to. This should be set to the bus_type that was declared [all …]
|
D | design-patterns.txt | 6 It is likely that subsystem maintainers will ask driver developers to 16 While the kernel contains a few device drivers that assume that they will 18 that the device the driver binds to will appear in several instances. This 19 means that the probe() function and all callbacks need to be reentrant. 43 state around to all functions that need access to the state and its members. 102 The design pattern is the same for an hrtimer or something similar that will 111 Notice that the contained member must not be a pointer, but an actual member 114 We can see here that we avoid having global pointers to our struct foo *
|
D | driver.txt | 11 be multiple devices in a system that a driver supports, struct 43 bus-specific fields that cannot be generalized. 46 typically defines an array of device IDs that it supports. The format 59 A definition that included bus-specific fields would look like 82 The driver registers the structure on startup. For drivers that have 90 It is important that drivers register their driver structure as early as 103 define generic callbacks that forward the call to the bus-specific 109 complexity and code size, it is recommended that they are converted as 121 The devices field is a list of all the devices that have been bound to 155 given device. That includes verifying that the device is present, that [all …]
|
D | class.txt | 14 that devices of that class adhere to. Device drivers are the 15 implementation of that programming interface for a particular device on 52 that the driver belongs to. Before the driver model core, this would 67 list of devices that it supports. The device class has a list of 68 drivers of that particular class. To access all of the devices in the 93 that points to the driver's directory (under its bus directory): 102 Each device gets a symlink in the devices/ directory that points to the 120 Class drivers can export attributes using the DEVCLASS_ATTR macro that works 146 to every interface that is registered with the device class.
|
/linux-4.1.27/Documentation/power/ |
D | freezing-of-tasks.txt | 12 There are three per-task flags used for that, PF_NOFREEZE, PF_FROZEN 13 and PF_FREEZER_SKIP (the last one is auxiliary). The tasks that have 23 sets this variable. After this, it executes try_to_freeze_tasks() that sends a 25 All freezable tasks must react to that by calling try_to_freeze(), which 28 it loop until PF_FROZEN is cleared for it. Then, we say that the task is 35 try_to_freeze() function (defined in include/linux/freezer.h), that checks 42 that combine interruptible sleep with checking if the task is to be frozen and 64 order to clear the PF_FROZEN flag for each frozen task. Then, the tasks that 95 IV. Why do we do that? 104 filesystem-related information that must be consistent with the state of the [all …]
|
D | s2ram.txt | 9 2) If that does not help, try reading tricks.txt and 19 always it's a driver that is buggy. Thank God for the suspend/resume 20 debugging - the thing that Chuck tried to disable. That's often the _only_ 23 driver that doesn't resume and recompile and reboot). 26 machine that doesn't boot) is: 47 which means that the last trace event was just before trying to resume 48 device 0000:01:00.0. Then figure out what driver is controlling that 53 the culprit may be a device from a loadable kernel module that is not loaded 61 that "radeonfb" simply cannot resume that device - it tries to set the 68 Reason for this is that the RTC is the only reliably available piece of [all …]
|
D | suspend-and-interrupts.txt | 11 suspend after the "late" phase of suspending devices (that is, after all of the 15 The rationale for doing so is that after the "late" phase of device suspend 19 interrupt handlers for shared IRQs that device drivers implementing them were 28 of resuming devices (that is, before starting to execute ->resume_early 29 callbacks for devices). The function doing that is resume_device_irqs(). 35 There are interrupts that can legitimately trigger during the entire system 41 The IRQF_NO_SUSPEND flag is used to indicate that to the IRQ subsystem when 44 expected during the suspend-resume cycle, but does not guarantee that the 48 Note that the IRQF_NO_SUSPEND flag affects the entire IRQ and not just one 64 (such as an SoC) so that signals from a given line are routed in a different way [all …]
|
D | basic-pm-debugging.txt | 12 the command prompt where you have started the transition. If that happens, 43 there is the file /sys/power/pm_test that can be used to make the hibernation 89 contains a space-separated list of all available tests (including "none" that 99 to make sure that any random factors are avoided). 101 If the "freezer" test fails, there is a task that cannot be frozen (in that case 104 that there is a problem with the tasks freezer subsystem that should be 107 If the "devices" test fails, most likely there is a driver that cannot suspend 109 after the test, so please take that into consideration). To find this driver, 112 (that would probably involve rebooting the system, so always note what drivers 118 them), you have to unload it every time before hibernation. In that case please [all …]
|
D | swsusp.txt | 45 should not do that.] 64 that this be done prior to remounting any filesystems (even as 74 Nowadays it is common in several laptops that they have a suspend button. It 79 are real high when running from batteries. The other gain is that we don't have to 80 interrupt our programs so processes that are calculating something for a long 137 * assume we had special "polling" ide driver that only uses memory 138 between 0-640KB. That way, I'd have to make sure that 0-640KB is free 143 advance. That means that the limitation goes away in practice. 154 highmem and preemption. It also has a extensible architecture that 183 A: Do selective suspend during runtime power management, that's okay. But [all …]
|
D | swsusp-dmcrypt.txt | 17 an initrd that does your current crypto setup already. 20 be able to suspend using swsusp. This, however, means that you 21 have to be able to either enter a passphrase or that you read 23 or an usb stick prior to resume. So you need an initrd, that sets 27 The most important thing is that you set up dm-crypt in such 28 a way that the swap device you suspend to/resume from has 31 to always set up this swap device first with dmsetup, so that 51 you create an initrd that reads the required dm-crypt setup 62 /dev/hda1 contains an unencrypted mini system that sets up all 65 initrd that allows you to resume from encrypted swap and that [all …]
|
D | pci.txt | 41 approach, that is referred to as the native PCI power management (native PCI PM) 44 approach requires the platform firmware to provide special methods that may be 50 to put the device that sent it into the full-power state. However, the PCI Bus 53 It is assumed that the platform firmware will perform this task and therefore, 60 preparing the device to generate wakeup signals. In that case, however, it 63 that. 83 in that state. However, the higher the number, the longer the latency for 88 programmed to go into it. The second one, D3cold, is the state that PCI devices 97 Note that every PCI device can be in the full-power state (D0) or in D3cold, 99 that, if the PCI PM Spec is implemented by the device, it must support D3hot [all …]
|
/linux-4.1.27/Documentation/powerpc/ |
D | qe_firmware.txt | 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 …]
|
D | pci_iov_resource_on_powernv.txt | 17 to freeze a device that is causing errors in order to limit the possibility 20 There is thus, in HW, a table of PE states that contains a pair of "frozen" 25 return all 1's value. MSIs are also blocked. There's a bit more state that 26 captures things like the details of the error that caused the freeze etc., but 27 that's not critical. 33 (IODA2). Keep in mind that this is all per PHB (PCI host bridge). Each PHB 34 is a completely separate HW entity that replicates the entire logic, so has 44 memory but accessed in HW by the chip) that provides a direct 48 - For DMA we then provide an entire address space for each PE that can 59 the RTT to "authorize" the device to emit that specific interrupt. [all …]
|
D | bootwrapper.txt | 8 be adaptable for each kind of image that needs to be built. 11 Makefile in that directory has targets for all the available image types. 25 U-Boot (for versions that don't understand the device 29 with boot wrapper code that extracts data from the old 48 dtbImages are similar to simpleImages except that 57 simpleImage.%: Firmware independent compressed image that does not 59 a device tree blob. This image is a flat binary that 67 the Xilinx Virtex platform). The only assumption that 68 simpleImage makes is that RAM is correctly initialized 69 and that the MMU is either off or has RAM mapped to [all …]
|
D | hvcs.txt | 51 Sysfs must be mounted on the system so that the user can determine which 110 There is a maximum number of dev entries that can be specified on insmod. 111 We think that 1024 is currently a decent maximum number of server adapters 128 The modules.dep file indicates that hvcserver.ko needs to be inserted 182 minor numbers that the tty layer has allocated for this driver's use. Most 202 NOTE: Just because there is a device node present doesn't mean that there 203 is a vty-server device configured for that node. 208 Since this driver controls devices that provide a tty interface a user can 212 which requires the use of applications that provide bi-directional, 215 Applications (e.g. "minicom" and "screen") that act as terminal emulators [all …]
|
D | eeh-pci-error-recovery.txt | 13 controller chips that have extended capabilities for detecting and 26 the idea behind EEH is that the operating system can become more 43 The most common software bug, is one that causes the device to 44 attempt to DMA to a location in system memory that has not been 45 reserved for DMA access for that card. This is a powerful feature, 85 uniform abstraction layer that will work with all pSeries 88 If the OS or device driver suspects that a PCI slot has been 91 into a consistent state (given that it won't be able to complete any 100 do not need to know that the PCI card has been "rebooted" in this 105 kernel/device driver should assume the worst-case scenario, that the [all …]
|
/linux-4.1.27/Documentation/i2c/ |
D | fault-codes | 9 faults. There may be fancier recovery schemes that are appropriate in 14 result for an operation ... it doesn't indicate that anything is wrong 15 at all, just that the outcome wasn't on the "golden path". 19 the right fault code, so that it can (in turn) behave correctly. 29 Note that the descriptions here are not exhaustive. There are other 30 codes that may be returned, and other cases where these codes should 44 atomic context, when some task is already using that I2C bus 53 host. Note that even if PECs are in use, you should not rely 60 or that the reset was attempted but failed. 81 Returned by any component that can't allocate memory when [all …]
|
D | writing-clients | 67 Each client structure has a special `data' field that can point to any 76 Note that starting with kernel 2.6.34, you don't have to set the `data' field 91 but many chips have some kind of register-value idea that can easily 121 that were more appropriate to SMBus (and PCs) than to I2C. One of these 122 assumptions was that most adapters and devices drivers support the SMBUS_QUICK 123 protocol to probe device presence. Another was that devices and their drivers 128 problematic. Drivers for I2C devices that issue interrupts need more (and 130 that can't be distinguished by protocol probing, or which need some board 152 Remember that the i2c_driver does not create those client handles. The 158 matches the device's name. It is passed the entry that was matched so [all …]
|
/linux-4.1.27/Documentation/development-process/ |
D | 6.Followthrough | 5 patches. One of the biggest mistakes that even experienced kernel 6 developers can make is to conclude that their work is now done. In truth, 10 It is a rare patch which is so good at its first posting that there is no 13 code. You, as the author of that code, will be expected to work with the 14 kernel community to ensure that your code is up to the kernel's quality 28 value and why you went to the trouble of writing it. But that value 32 to substantial rewrites - come from the understanding that Linux will 45 be working on the kernel years from now, but they understand that their 50 What all of this comes down to is that, when reviewers send you comments, 51 you need to pay attention to the technical observations that they are [all …]
|
D | 1.Intro | 16 and the kinds of frustrations that developers and their employers can 36 which can help to ensure that kernel patches are correct. 45 done at that point. Working with reviewers is a crucial part of the 48 assuming that the job is done when a patch is merged into the mainline. 69 vendors want to ensure that Linux supports their products well, making 78 One of the most compelling features of Linux is that it is accessible to 88 that notwithstanding, many potential contributors have experienced 93 surprising that Linux kernel development process differs greatly from 104 It is hoped that those who read this document will be able to avoid that 132 matter is that keeping code separate ("out of tree") is a false economy. [all …]
|
D | 4.Coding | 11 will shift toward doing things right and the tools which can help in that 20 Documentation/CodingStyle. For much of that time, the policies described 21 in that file were taken as being, at most, advisory. As a result, there is 23 style guidelines. The presence of that code leads to two independent 26 The first of these is to believe that the kernel coding standards do not 27 matter and are not enforced. The truth of the matter is that adding new 28 code to the kernel is very difficult if that code is not coded according to 29 the standard; many developers will request that the code be reformatted 41 The other trap is to assume that code which is already in the kernel is 63 But experience has shown that excessive or premature abstraction can be [all …]
|
D | 5.Posting | 17 completely "ready." For simple patches, that is not a problem. If the 21 that interested developers can catch up with your work at any time. 27 with the idea that they can help you drive the work in the right direction. 35 - Test the code to the extent that you can. Make use of the kernel's 36 debugging tools, ensure that the kernel will build with all reasonable 47 - Be sure that you have the right to post the code. If this work was done 76 out how to do it in the way that the community expects. There are a few 96 good chance that it will be passed over and the important fix will be 113 patches, but to leave that infrastructure unused until the final patch 115 avoided if possible; if that series adds regressions, bisection will [all …]
|
/linux-4.1.27/Documentation/namespaces/ |
D | resource-control.txt | 1 There are a lot of kinds of objects in the kernel that don't have 2 individual limits or that have limits that are ineffective when a set 7 Therefore it is recommended that memory control groups be enabled in 8 kernels that enable user namespaces, and it is further recommended 9 that userspace configure memory control groups to limit how much
|
/linux-4.1.27/Documentation/ABI/testing/ |
D | sysfs-firmware-memmap | 6 kernel reads. The resources from that memory map are registered 10 However, on most architectures that firmware-provided memory 12 the kernel merges that memory map with other information or 13 just because the user overwrites that memory map via command 17 parameter segment of the kernel that should be booted with 19 that reason, /sys/firmware/memmap is an interface that provides 32 by the firmware. The order is just the order that the firmware 59 Following shell snippet can be used to display that memory
|
D | sysfs-bus-event_source-devices-format | 6 Attribute group to describe the magic bits that go into 9 we want to export, so that userspace can deal with sane 12 Userspace must be prepared for the possibility that attributes 19 Defines contents of attribute that occupies bits 1,6-10,44 of
|
D | sysfs-block | 44 integrity of read requests serviced by devices that 70 devices that support receiving integrity metadata. 76 Storage devices may report a physical block size that is 87 Storage devices may report a physical block size that is 108 drives with 4KB sectors that expose a 512-byte logical 158 Devices that support discard functionality may 159 internally allocate space in units that are bigger than 169 Devices that support discard functionality may 170 internally allocate space in units that are bigger than 180 Devices that support discard functionality may [all …]
|
D | sysfs-platform-dell-laptop | 8 illumination mode on some systems that have an ambient 27 This file allows to control the input triggers that 28 turn on the keyboard backlight illumination that is 42 Note that not all the available triggers can be configured. 63 Note that when this file is read, the returned value might be 67 Also note that only some timeouts are supported and that
|
D | sysfs-driver-toshiba_acpi | 11 Note that from kernel 3.16 onwards this file accepts all listed 14 Also note that toggling this value on type 1 devices, requires 25 Note that the kernel 3.15 only had support for the first 58 Note that not all keyboard types support the listed modes. 82 Note that from kernel 4.1 onwards this file accepts all listed 84 Note that this feature only works when connected to power, if 101 Note that when the value is set to disabled, the sleep function 112 Note that toggling this value requires a reboot for changes to 123 Note that this feature only works when connected to power, if 156 Note that toggling this value requires a reboot for changes to [all …]
|
D | sysfs-power | 5 The /sys/power directory will contain files that will 43 'firmware' - means that the memory image will be saved to disk 44 by some firmware, in which case we also assume that the 78 supports that. 86 string representing a non-negative integer that will be used 102 last PM event point in the RTC across reboots, so that you can 103 debug a machine that just hangs during suspend (or more 115 positives), it is possible that the last PM event point 136 kernel log (see /sys/power/pm_trace), is that it includes 140 possible that more than one device matches the hash, in which [all …]
|
D | sysfs-devices-system-cpu | 19 Description: CPU topology files that describe kernel limits related to 25 offline: cpus that are not online because they have been 29 online: cpus that are online and being scheduled. 31 possible: cpus that have been allocated resources and can be 34 present: cpus that have been identified as being present in 61 When CONFIG_NUMA is enabled, a symbolic link that points 78 Description: CPU topology files that describe a logical CPU's relationship 115 Various CPUs today support multiple idle levels that are 152 freqdomain_cpus is the list of CPUs (online+offline) that share 172 disabled index for that node. There is one L3 structure per [all …]
|
/linux-4.1.27/Documentation/filesystems/caching/ |
D | object.txt | 25 FS-Cache maintains an in-kernel representation of each object that a netfs is 29 FS-Cache also maintains a separate in-kernel representation of the objects that 98 object->state. A cookie may point to a set of objects that are in different 101 Each state has an action associated with it that is invoked when the machine 102 wakes up in that state. There are four logical sets of states: 104 (1) Preparation: states that wait for the parent objects to become ready. The 105 representations are hierarchical, and it is expected that an object must 108 (2) Initialisation: states that perform lookups in the cache and validate 109 what's found and that create on disk any missing metadata. 111 (3) Normal running: states that allow netfs operations on objects to proceed [all …]
|
D | cachefiles.txt | 34 CacheFiles is a caching backend that's meant to use as a cache a directory on 42 filesystem providing the backing services. Note that CacheFiles does not 46 CacheFiles creates a misc character device - "/dev/cachefiles" - that is used 78 It is strongly recommended that the "dir_index" option is enabled on Ext3 131 configures the cache and tells it to begin caching. At that point the cache 163 kernel module contains its own very cut-down path walking facility that ignores 187 discarding objects from the cache that have been used less recently than 220 Note that these are percentages of available space and available files, and do 241 kernel module moves any retired or culled objects that it can't simply unlink 245 anything that appears therein. [all …]
|
D | backend-api.txt | 31 (*) "ops" is a pointer to the table of operations that the backend supports on 79 (1) that of the userspace process that issued the netfs operation that caused 82 (2) that of one of the processes in the FS-Cache thread pool. 117 The fields that might be of use to the backend describe the object 143 The debug_id is a simple integer that can be used in debugging messages 144 that refer to a particular object. In such a case it should be printed 147 Each object contains a pointer to the cookie that represents the object it 165 FS-Cache has a pool of threads that it uses to give CPU time to the 166 various asynchronous operations that need to be done as part of driving 219 The cache backend provides FS-Cache with a table of operations that can be [all …]
|
D | fscache.txt | 33 Or to look at it another way, FS-Cache is a module that provides a caching 34 facility to a network filesystem such that the cache is transparent to the 72 then serving the pages out of that cache rather than the netfs inode because: 97 (3) The netfs is provided with an interface that allows either party to 108 desires, though it must be aware that the index search function is 113 indicates that page A is at index B of the data-file represented by cookie 114 C, and that it should be read or written. The cache backend may or may 115 not start I/O on that page, but if it does, a netfs callback will be 120 them as obsolete and the index hierarchy rooted at that point will get 124 saying whether a match was made or not, this can also specify that an [all …]
|
D | netfs-api.txt | 94 However, since it's unlikely that any two netfs's are going to want to define 183 parent for the non-index object will be queried. Any indices above that 185 need to be supplied for any non-index object or any index that will only 189 cache in the parent's list will be chosen, or failing that, the first 194 This function will be called with the netfs data that was passed to the 195 cookie acquisition function and the maximum length of key data that it may 201 This function will be called with the netfs data that was passed to the 210 This function will be called with the netfs data that was passed to the 211 cookie acquisition function and the maximum length of auxiliary data that 223 This function will be called to check that a match found in the cache for [all …]
|
/linux-4.1.27/Documentation/cgroups/ |
D | cpusets.txt | 42 an on-line node that contains memory. 56 policy, are both filtered through that task's cpuset, filtering out any 57 CPUs or Memory Nodes not in that cpuset. The scheduler will not 58 schedule a task on a CPU that is not allowed in its cpus_allowed 60 node that is not allowed in the requesting task's mems_allowed vector. 124 allowed in that task's cpuset. 126 those Memory Nodes allowed in that task's cpuset. 133 - A cpuset may be marked exclusive, which ensures that no other 144 allowed in that task's cpuset. 148 Memory Nodes by what's allowed in that task's cpuset. [all …]
|
D | cgroups.txt | 49 A *subsystem* is a module that makes use of the task grouping 51 particular ways. A subsystem is typically a "resource controller" that 53 anything that wants to act on a group of processes, e.g. a 56 A *hierarchy* is a set of cgroups arranged in a tree, such that 69 associated with that instance of the cgroup file system. 72 tracking. The intention is that other subsystems hook into the generic 99 complex combinations of tasks that would be present if several 108 that can benefit from multiple hierarchies, consider a large 120 that they can run anywhere) with a limit of 20% 148 Also let's say that the administrator would like to give enhanced network [all …]
|
/linux-4.1.27/Documentation/block/ |
D | deadline-iosched.txt | 5 In particular, it will clarify the meaning of the exposed tunables that may be 23 a deadline that is the current time + the read_expire value in units of 53 how many times we give preference to reads over writes. When that has been 61 Sometimes it happens that a request enters the io scheduler that is contiguous 62 with a request that is already on the queue. Either it fits in the back of that 66 may even know that it is a waste of time to spend any time attempting to 69 that comes at basically 0 cost we leave that on. We simply disable the
|
D | queue-sysfs.txt | 4 This text file will detail the queue files that are located in the sysfs tree 5 for each block device. Note that stacked devices typically do not export 25 Devices that support discard functionality may have internal limits on 26 the number of bytes that can be trimmed or unmapped in a single operation. 28 number of bytes that can be discarded in a single operation. Discard 30 value of 0 means that the device does not support discard functionality. 61 This is the maximum number of kilobytes that the block layer will allow 88 read or write requests. Note that the total allocated number may be twice 120 cpu "group" that originally submitted the request. For some workloads this 123 For storage configurations that need to maximize distribution of completion [all …]
|
D | writeback_cache_control.txt | 15 The Linux block layer provides two simple mechanisms that let filesystems 26 guarantees that previously completed write requests are on non-volatile 37 filesystem and will make sure that I/O completion for this request is only 57 drivers that do not have a volatile cache the REQ_FLUSH and REQ_FUA bits 67 For devices that do not support volatile write caches there is no driver 70 requests that have a payload. For devices with volatile write caches the 71 driver needs to tell the block layer that it supports flushing caches by 76 and handle empty REQ_FLUSH requests in its prep_fn/request_fn. Note that 79 layer. For devices that also support the FUA bit the block layer needs 84 and the driver must handle write requests that have the REQ_FUA bit set
|
D | data-integrity.txt | 7 after the data was written. At that point the original data that the 10 The solution is to ensure that the disk is actually storing what the 16 checksum for each sector as well as an incrementing counter that 18 for some protection schemes also that the I/O is written to the right 25 DIF and the other integrity extensions is that the protection format 53 read. This means that Linux can DMA the data buffers to and from 57 is somewhat heavy to compute in software. Benchmarks found that 82 to be pinned to I/Os and sent to/received from controllers that 85 The advantage to the integrity extensions in SCSI and SATA is that 88 disadvantage. It means that the protection information must be in a [all …]
|
/linux-4.1.27/Documentation/acpi/ |
D | scan_handlers.txt | 7 is scanned in search of device objects that generally represent various pieces 25 bridge, its registration should cause the PCI bus under that bridge to be 26 enumerated and PCI devices on that bus to be registered with the driver core. 28 to configure that link so that the kernel can use it. 52 callback is executed for the given device node. If that callback returns 1, 53 that means that the handler has claimed the device node and is now responsible 55 be responsible for preparing the device node for unregistration in that case. 57 handler that has claimed it. 59 If the .attach() callback returns 0, it means that the device node is not 61 handler in the list. If it returns a (negative) error code, that means that [all …]
|
D | gpio-properties.txt | 41 ref - The device that has _CRS containing GpioIo()/GpioInt() resources, 52 resource, second pin in that resource with the GPIO number of 31. 62 available to the driver can be used to identify the device and that is supposed 66 once it has identified the device. Having done that, it can simply assign names 70 To do that, the driver needs to define a mapping table as a NULL-terminated 71 array of struct acpi_gpio_mapping objects that each contain a name, a pointer 72 to an array of line data (struct acpi_gpio_params) objects and the size of that 76 line in that resource starting from zero, and the active-low flag for that line, 92 acpi_dev_add_driver_gpios() that will register it with the ACPI device object 95 calling acpi_dev_remove_driver_gpios() on the ACPI device object where that
|
/linux-4.1.27/drivers/block/paride/ |
D | Transition-notes | 5 under ps_spinlock. There are three places where that can happen: 15 ps_tq_int() are sandwiched between {A,C} and B in that sequence, 41 on the path that returns 0 45 * in pi_wake_up() called for PIA that belongs to pd.c, everything from 49 1) at any time at most one thread of execution can be in that area or 52 that thread. 54 held by that thread. 60 (1) can become not true if some thread enters that area while another is there. 64 mean that (2) was already not true. 69 ps_spinlock and ps_tq_active is 1 (due to Lemma 1). It means that [all …]
|
/linux-4.1.27/Documentation/ia64/ |
D | mca.txt | 2 free to update it with notes about any area that is not clear. 9 asking for deadlock. Also the state of structures that are protected 24 * Slave cpus that receive the MCA interrupt call down into SAL, they 29 sends an unmaskable INIT event to the slave cpus that have not 36 (and does) modify TP. It is allowed to do that as long as it resets 42 assume that the kernel stack is in a fit state to be used. Mainly 50 the kernel stack[1]. So switching to a new kernel stack means that 52 assume that current points into the struct task, switching to a new 60 tasks. The only way to do that on ia64 is to call the unwinder, 66 knows how to start unwinding it. The tasks that received an MCA or [all …]
|
/linux-4.1.27/Documentation/dvb/ |
D | udev.txt | 4 This means that only the basic information like module loading parameters 5 are presented through sysfs. Other things that might be interesting are 8 Nevertheless it's now possible to add proper udev rules so that the 11 We assume that you have udev already up and running and that have been 31 1. You need to create a proper udev rule that will create the device nodes 36 Create a new rule file in that directory called "dvb.rule" and add the following line: 44 For every device that registers to the sysfs subsystem with a "dvb" prefix,
|
D | ci.txt | 13 (Common Interface, that holds the CAM (Conditional Access Module) 29 same ones that szap uses. 42 * Cards that fall in this category 44 At present the cards that fall in this category are the Twinhan and its 48 * CI modules that are supported 52 nothing much that can be done in order to make additional CI modules 55 Modules that have been tested by this driver at present are 71 The disadvantage is that the driver/hardware has to manage the rest. For 104 This CI interface is quite different in the case that it tries to 105 accommodate all other CI based devices, that fall into the other categories. [all …]
|
/linux-4.1.27/Documentation/devicetree/bindings/i2c/ |
D | i2c-arb-gpio-challenge.txt | 8 the case where there is a device on the bus that has errata and/or bugs 9 that makes standard multimaster mode not feasible. 11 Note that this scheme works well enough but has some downsides: 20 All masters on the bus have a 'bus claim' line which is an output that the 24 - OUR_CLAIM: output from us signaling to other hosts that we want the bus 25 - THEIR_CLAIMS: output from others signaling that they want the bus 28 sure that the other side doesn't want it also. A detailed explanation is best 44 - our-claim-gpio: The GPIO that we use to claim the bus. 45 - their-claim-gpios: The GPIOs that the other sides use to claim the bus. 46 Note that some implementations may only support a single other master.
|
/linux-4.1.27/Documentation/laptops/ |
D | disk-shock-protection.txt | 29 Please note, however, that other components have to be set up on your 32 that). 73 A word of caution: The fact that the interface operates on a basis of 74 milliseconds may raise expectations that cannot be satisfied in 75 reality. In fact, the ATA specs clearly state that the time for an 77 that this will typically be within 500 milliseconds apparently has 80 There is a technical detail of this implementation that may cause some 84 to say, any other device that may be connected to the same port will 85 be affected too. The only exception is that a subsequent head unload 86 request to that other device will be executed immediately. Further [all …]
|
D | laptop-mode.txt | 11 Laptop mode is used to minimize the time that the hard disk needs to be spun up, 43 laptops that don't have ACPI. On those laptops, you need to start laptop 46 has experimental support for APM, you might want to try that first.) 52 * The downside of laptop mode is that you have a chance of losing up to 10 55 so that you won't lose any data at the end of your battery life. 68 the control script will not recognize them as filesystems that need remounting. 71 * It has been reported that some versions of the mutt mail client use file access 81 present for all kernels that have the laptop mode patch, regardless of any 82 configuration options. When the knob is set, any physical disk I/O (that might 84 result of this is that after a disk has spun down, it will not be spun up [all …]
|
/linux-4.1.27/Documentation/networking/ |
D | radiotap-headers.txt | 18 There is a fixed portion at the start which contains a u32 bitmap that defines 19 if the possible argument associated with that bit is present or not. So if b0 20 of the it_present member of ieee80211_radiotap_header is set, it means that 29 we run out of space in the u32 it_present member, it is defined that b31 set 30 indicates that there is another u32 bitmap following (shown as "possible 34 Note also that the it_len member __le16 is set to the total number of bytes 57 the first byte of the radiotap header. The absolute alignment of that first 62 - the above point that there may be no absolute alignment for multibyte 63 entities in the fixed radiotap header or the argument region means that you 66 dereference, eg, a u16 pointer that is pointing to an odd address. Instead [all …]
|
D | LICENSE.qlge | 32 price. Our General Public Licenses are designed to make sure that you 34 this service if you wish), that you receive source code or can get it 35 if you want it, that you can change the software or use pieces of it 36 in new free programs; and that you know you can do these things. 38 To protect your rights, we need to make restrictions that forbid 44 gratis or for a fee, you must give the recipients all the rights that 45 you have. You must make sure that they, too, receive or can get the 54 that everyone understands that there is no warranty for this free 56 want its recipients to know that what they have is not the original, so 57 that any problems introduced by others will not reflect on the original [all …]
|
D | LICENSE.qlcnic | 32 price. Our General Public Licenses are designed to make sure that you 34 this service if you wish), that you receive source code or can get it 35 if you want it, that you can change the software or use pieces of it 36 in new free programs; and that you know you can do these things. 38 To protect your rights, we need to make restrictions that forbid 44 gratis or for a fee, you must give the recipients all the rights that 45 you have. You must make sure that they, too, receive or can get the 54 that everyone understands that there is no warranty for this free 56 want its recipients to know that what they have is not the original, so 57 that any problems introduced by others will not reflect on the original [all …]
|
D | netdev-FAQ.txt | 11 Note that some subsystems (e.g. wireless drivers) which have a high volume 20 Aside from subsystems like that mentioned above, all network-related Linux 49 Relating that to netdev: At the beginning of the 2-week merge window, 57 sent to netdev, but knowing the above, you can predict that in advance. 70 is fed back to Linus at regular (~weekly) intervals. Meaning that the 88 Then once decided, assuming that you use git, use the prefix flag, i.e. 121 There is a patchworks queue that you can see here: 145 Before you jump to go do the above, do note that the normal stable rules 148 impacted. In addition, you need to convince yourself that you _really_ 152 the better the odds that it is an OK candidate for stable. So scrambling [all …]
|
D | openvswitch.txt | 13 table" that userspace populates with "flows" that map from keys based 34 protocols that have become obsolete. Therefore, the Netlink interface 40 flow key that it parsed from the packet. Userspace then extracts its 59 that the kernel considers part of the flow must go to userspace, 61 determine that the values of the extra fields would not affect 73 information about a packet that cannot be extracted from the packet 83 corresponding to a TCP packet that arrived on vport 1: 111 that the kernel does not implement will simply result in additional flow setups. 112 The kernel module will also work with user space programs that neither support 128 responsibility of the user space program to ensure that any incoming packet [all …]
|
D | scaling.txt | 26 applying a filter to each packet that assigns it to one of a small number 32 that is not the focus of these techniques. 55 one for each memory domain, where a memory domain is a set of CPUs that 71 that can route each interrupt to a particular CPU. The active mapping 77 will be running irqbalance, a daemon that dynamically optimizes IRQ 92 Per-cpu load can be observed using the mpstat utility, but note that on 104 Whereas RSS selects the queue and hence CPU that will run the hardware 116 selects the queue that should process a packet. 132 and the packet is queued to the tail of that CPU’s backlog queue. At 158 interrupting CPU from the map since that already performs much work. [all …]
|
D | altera_tse.txt | 19 components that can be assembled and built into an FPGA using the Altera 20 Quartus toolchain. Quartus 13.1 and 14.0 were used to build the design that 115 e.g. using: ethtool -S ethX (that shows the statistics counters) 136 Section 5.2.2.1.2. This statistics is the count of frames that are successfully 140 Section 5.2.2.1.5. This statistic is the count of frames that are successfully 145 802.3-2012, Section 5.2.2.1.6. This statistic is the count of frames that are 150 Section 5.2.2.1.7. This statistic is the count of frames that are not an 171 a count of the number of packets received containing errors that prevented the 175 is a count of the number of packets that could not be transmitted due to errors. 178 statistic is a count of the number of packets received that were not addressed [all …]
|
/linux-4.1.27/Documentation/devicetree/bindings/powerpc/fsl/ |
D | pamu.txt | 5 The PAMU is an I/O MMU that provides device-to-memory access control and 18 PAMU v1.0, on an SOC that has five PAMU devices, the size 44 a bitmask which selects the bits that should be set if 49 Each child node represents one PAMU controller. Each SOC device that is 51 that links to the corresponding specific child PAMU controller. 61 Two cells that specify the geometry of the primary PAMU 67 Two cells that specify the geometry of the secondary PAMU 74 Devices that have LIODNs need to specify links to the parent PAMU controller 75 (the actual PAMU controller that this device is connected to) and a pointer to 82 the device tree to assist code that dynamically determines the [all …]
|
/linux-4.1.27/Documentation/security/ |
D | Smack.txt | 8 control that includes simplicity in its primary design goals. 23 works best with file systems that support extended attributes, 29 access to systems that use them as Smack does. 66 The extended attributes that Smack uses are: 71 of the process that created it. 73 The Smack label of a process that execs a program file with 83 the Smack rule (more below) that permitted the write access 169 permissions that are not allowed. The string "r-x--" would 181 permissions that are not allowed. The string "r-x--" would 204 that have Smack write access to the host label. All packets [all …]
|
D | keys-request-key.txt | 46 The main difference between the access points is that the in-kernel interface 52 calls, except that they permit auxiliary data to be passed to the upcaller (the 53 default is NULL). This is only useful for those key types that define their 56 The two async in-kernel calls may return keys that are still in the process of 65 The following example assumes that the key types involved don't define their 84 (3) request_key() sees that A doesn't have the desired key yet, so it creates 89 (b) An authorisation key V that refers to key U and notes that process A 94 keyring that contains a link to auth key V. 103 search notes that the session keyring has auth key V in its bottom level. 113 (9) Upon instantiating key U, auth key V is automatically revoked so that it [all …]
|
D | credentials.txt | 37 Objects are things in the system that may be acted upon directly by 53 Amongst the credentials of most objects, there will be a subset that 54 indicates the ownership of that object. This is used for resource 62 Also amongst the credentials of those objects, there will be a subset that 63 indicates the 'objective context' of that object. This may or may not be 67 The objective context is used as part of the security calculation that is 72 A subject is an object that is acting upon another object. 80 given to it by a task that called fcntl(F_SETOWN) upon it. In this case, 87 is used as part of the security calculation that is carried out when a 92 from the real UID and GID that normally form the objective context of the [all …]
|
/linux-4.1.27/Documentation/prctl/ |
D | no_new_privs.txt | 1 The execve system call can grant a newly-started program privileges that 5 careful to prevent the parent from doing anything that could subvert the 12 /etc/passwd to be replaced from the point of view of a process that 19 execution environment in a manner that persists across execve. Any task 22 promises not to grant the privilege to do anything that could not have 31 in no_new_privs mode. (This means that setting up a general-purpose 35 Note that no_new_privs does not prevent privilege changes that do not 48 given uid has no_new_privs set, then that uid will be unable to
|
/linux-4.1.27/Documentation/devicetree/bindings/ |
D | open-pic.txt | 5 based on the binding defined for Open PIC in [1] and is a superset of that 31 - pic-no-reset: The presence of this property indicates that the PIC 33 be defined. The presence of this property also mandates that any 42 - <1st-cell>: The interrupt-number that identifies the interrupt source. 61 // No address cells so that 'interrupt-map' nodes which reference 81 * An interrupt generating device that is wired to an Open PIC. 84 // Interrupt source '42' that is active high level-sensitive. 85 // Note that there are only two cells as specified in the interrupt 89 // The interrupt controller that this device is wired to.
|
/linux-4.1.27/Documentation/gpio/ |
D | gpio-legacy.txt | 5 These calls use the gpio_* naming prefix. No other calls should use that 16 which GPIOs. Drivers can be written generically, so that board setup code 24 also "GPIO Expander" chips that connect using the I2C or SPI serial busses. 31 options about how that value is driven, so that for example only one 58 Note that this is called a "convention" because you don't need to do it this 61 glue logic that may even change between board revisions, and can't ever be 62 used on a board that's wired differently. Only least-common-denominator 64 and that can be critical for glue logic. 76 ARCH_WANT_OPTIONAL_GPIOLIB in their Kconfig. Drivers that can't work without 86 Note that these operations include I/O barriers on platforms which need to [all …]
|
D | consumer.txt | 4 This document describes the consumer interface of the GPIO framework. Note that 12 Drivers that can't work without standard GPIO calls should have Kconfig entries 13 that depend on GPIOLIB. The functions that allow a driver to obtain and use 18 All the functions that work with the descriptor-based GPIO interface are 27 non-forgeable handler that must be obtained through a call to one of the 29 device that will use the GPIO and the function the requested GPIO is supposed to 36 device that displays digits), an additional index argument can be specified: 164 Be aware that there is no default direction for GPIOs. Therefore, **using a GPIO 186 reported earlier from gpiod_direction_*(). However, note that not all platforms 187 can read the value of output pins; those that can't should always return zero. [all …]
|
/linux-4.1.27/tools/perf/scripts/perl/Perf-Trace-Util/ |
D | README | 7 that the core perf support for Perl calls on and should always be 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 17 that you want to access - it's passed as the second parameter, 20 After you do that: 28 You can delete the Makefile, object files and anything else that was
|
/linux-4.1.27/Documentation/fmc/ |
D | API.txt | 4 The FMC core exports the usual 4 functions that are needed for a bus to 23 The data structure that describe a device is detailed in *note FMC 24 Device::, the one that describes a driver is detailed in *note FMC 25 Driver::. Please note that structures of type fmc_device must be 28 count reaches zero - actually, the device model does that in lieu of us. 31 by carriers that host more than one mezzanine. The devices must all be 37 If a carrier hosts slots that are driven by different FPGA devices, it 38 should register as a group only mezzanines that are driven by the same
|
/linux-4.1.27/Documentation/timers/ |
D | NO_HZ.txt | 4 This document describes Kconfig options and boot parameters that can 21 3. Omit scheduling-clock ticks on CPUs that are either idle or that 34 are incapable of omitting scheduling-clock ticks. It turns out that 37 that use short bursts of CPU, where there are very frequent idle 75 1,500 OS instances might find that half of its CPU time was consumed by 90 An idle CPU that is not receiving scheduling-clock interrupts is said to 94 There is also a boot parameter "nohz=" that can be used to disable 104 Note that omitting scheduling-clock ticks for CPUs with only one runnable 121 "nohz_full=1,6-8" says that CPUs 1, 6, 7, and 8 are to be adaptive-ticks 122 CPUs. Note that you are prohibited from marking all of the CPUs as [all …]
|
/linux-4.1.27/Documentation/video4linux/ |
D | README.pvrusb2 | 35 activities that ensure correct operation of the device. 46 lot of work went into the driver to ensure that any kind of 48 driver internally leverages V4L to do its work but that really has 52 about APIs and also feel that it is a good design principle to keep 57 possible to produce a DVB high level interface that can sit right 71 to link things up with that source tree. Please see the Makefile 72 here for comments that explain how to do that. 81 pvrusb2-audio.[ch] - This is glue logic that resides between this 98 messages that can be enabled within the driver. 106 pvrusb2-eeprom.[ch] - This is glue logic that resides between this [all …]
|
D | v4l2-controls.txt | 8 After all, the only part that a driver developer is interested in is: 18 All the rest is something that can be done centrally. 24 Note that the control framework relies on the presence of a struct v4l2_device 36 v4l2_ctrl_handler is the object that keeps track of controls. It maintains a 37 list of v4l2_ctrl objects that it owns and another list of references to 110 Note: this is a temporary solution only. Once all V4L2 drivers that depend 196 controls. There is no min argument since that is always 0 for menu controls, 202 v4l2_ctrl_new_std_menu in that it doesn't have the mask argument and takes 203 as the last argument an array of signed 64-bit integers that form an exact 209 control is the test pattern control for capture/display/sensors devices that [all …]
|
/linux-4.1.27/Documentation/dmaengine/ |
D | provider.txt | 15 entities that will be doing the copy, and requests what endpoints are 21 asserting that request line. 33 that requires data to be written exactly 16 or 24 bits at a time. This 41 using a parameter called the burst size, that defines how many single 46 that involve a single contiguous block of data. However, some of the 53 quite simple DMA controller that doesn't support it, and we'll have to 55 that implements in hardware scatter-gather. 59 over that collection, doing whatever we programmed there. 74 The one last thing is that usually, slave devices won't issue DRQ by 80 support other kind of transfers or memory operations that dmaengine [all …]
|
/linux-4.1.27/tools/testing/ktest/examples/ |
D | README | 7 and commented to show more generic use cases that are more helpful for 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 25 include/ - The include directory holds default configs that can be 26 included into other configs. This is a real use example that shows how 29 options and variables that will make the included config work for the
|
/linux-4.1.27/Documentation/spi/ |
D | spidev | 13 * Prototyping in an environment that's not crash-prone; stray pointers 19 Of course there are drivers that can never be written in userspace, because 21 of the driver stack) that are not accessible to userspace. 36 When you do that, the sysfs node for the SPI device will include a child 37 device node with a "dev" attribute that will be understood by udev or mdev. 44 that userspace programs will open, created by "udev" or "mdev". 50 binds to that device. (Directory or symlink, based on whether 57 If you unbind the "spidev" driver from that device, those two "spidev" nodes 88 Note that this request is limited to SPI mode flags that fit in a 93 not limited to the bits that fit in one byte. [all …]
|
D | spi-summary | 89 Many microcontrollers that can run Linux integrate one or more I/O 108 implies that its data is written half a clock before the first 117 trailing clock edge (CPHA=1), that's SPI mode 1. 119 Note that the clock mode is relevant as soon as the chipselect goes 130 main source code, and you should certainly read that chapter of the 171 /sys/bus/spi/devices/spiB.C ... symlink to that physical 175 that should be used with this device (for hotplug/coldplug) 184 Note that the actual location of the controller's class state depends 194 chips that do support some of automated discovery/enumeration. 205 maybe coupling it with code to initialize pin configurations, so that [all …]
|
/linux-4.1.27/Documentation/usb/ |
D | bulk-streams.txt | 5 device driver to overload a bulk endpoint so that multiple transfers can be 18 an out-of-band mechanism on another endpoint) that data is ready for that stream 21 device can refuse that transfer. Devices can switch between streams at any 32 Device drivers will call this API to request that the host controller driver 34 pass an array of usb_host_endpoints that need to be setup with similar stream 35 IDs. This is to ensure that a UASP driver will be able to use the same stream 63 Note that new API to choose the next stream ID will have to be added if the xHCI 78 ensure that drivers that don't support streams will be able to use the endpoint.
|
D | ehci.txt | 20 high speed "split transactions" that don't waste transfer bandwidth. 34 Note that USB 2.0 support involves more than just EHCI. It requires 47 It's believed to do all the right PCI magic so that I/O works even on 57 at this writing no Linux drivers have been using that support. 60 is not yet available. Note that split transaction support for ISO 67 Transfers of all types can be queued. This means that control transfers 69 ones from another driver, and that interrupt transfers can use periods 74 drivers; a OHCI or UHCI driver that works already doesn't need to change 82 limits on the number of periodic transactions that can be scheduled, 99 remove its module and then the driver for that companion controller will [all …]
|
D | hotplug.txt | 7 - Find a driver that can handle the device. That may involve 11 - Bind a driver to that device. Bus frameworks do that using a 20 be immediately usable means that any user mode actions can't wait for an 27 shell scripts that dispatch to more familiar administration tools. 30 that is currently available only when the drivers are dynamically linked, 41 reaction to a configuration change, from a thread in that subsystem. 45 the subsystem making that invocation. 51 Mailing list information is also available at that site. 72 alternate interfaces that complicate driver selection. By design, USB 74 of USB device setup without using that filesystem, and without running a [all …]
|
D | functionfs.txt | 7 that kernel level composite functions provide when they are added to 10 This in particular means that the composite initialisation functions 15 write descriptors and strings to that file. It does not need 26 numbers and changing of the configuration (which means that 33 What I also want to mention is that the FunctionFS is designed in such 34 a way that it is possible to mount it several times so in the end 35 a gadget could use several FunctionFS functions. The idea is that 39 One can imagine a gadget that has an Ethernet, MTP and HID interfaces
|
D | WUSB-Design-overview.txt | 11 This program is distributed in the hope that it will be useful, 56 UWB is a wide-band communication protocol that is to serve also as the 91 *WUSB*: the layer that sits on top of UWB to provide Wireless USB. 99 mere terms is a USB dongle that enables your PC to have UWB and Wireless 118 controller that is connected via USB instead of PCI. 133 eye, it looks like a hub that connects upstream wirelessly. 136 code with the HWA-RC driver; there is a bunch of factorization work that 137 has been done to support that in upcoming releases. 142 This is your usual PCI device that implements WHCI. Similar in concept 162 each device that pops up in radio presence (ie: the UWB host receives a [all …]
|
/linux-4.1.27/Documentation/scheduler/ |
D | sched-deadline.txt | 26 system behavior. As for -rt (group) scheduling, it is assumed that root users 36 that makes it possible to isolate the behavior of tasks between each other. 50 earliest scheduling deadline is selected for execution). Notice that the 56 that each task runs for at most its runtime every period, avoiding any 59 to be executed next. Thanks to this feature, tasks that do not strictly comply 125 scheduling discipline, even if it must be said that it is particularly 126 suited for periodic or sporadic real-time tasks that need guarantees on their 147 Note that total utilisation is defined as the sum of the utilisations 159 More precisely, it can be proven that using a global EDF scheduler the 175 (notice that this condition is only sufficient, and not necessary). [all …]
|
/linux-4.1.27/tools/perf/ |
D | design.txt | 10 thus be used to profile the code that runs on that CPU. 111 These are standardized types of events that work relatively uniformly 112 on all CPUs that implement Performance Counters support under Linux, 150 counters. A "counting" counter is one that is used for counting the 151 number of events that occur, and is characterised by having 160 * Bits that can be set in hw_event.read_format to request that 174 A "sampling" counter is one that is set up to generate an interrupt 180 * Bits that can be set in hw_event.record_type to request information 199 The 'inherit' bit, if set, specifies that this counter should count 205 The 'pinned' bit, if set, specifies that the counter should always be [all …]
|
/linux-4.1.27/Documentation/devicetree/bindings/ata/ |
D | sata_highbank.txt | 16 SATA port to a combophy and a lane within that 19 which indicates that the driver supports SGPIO 21 - calxeda,led-order : a u32 array that map port numbers to offsets within the 23 - calxeda,tx-atten : a u32 array that contains TX attenuation override 26 - calxeda,pre-clocks : a u32 that indicates the number of additional clock 28 - calxeda,post-clocks: a u32 that indicates the number of additional clock
|
/linux-4.1.27/tools/perf/Documentation/ |
D | perf-buildid-cache.txt | 26 Add specified kcore file to the cache. For the current host that is 27 /proc/kcore which requires root permissions to read. Be aware that 30 Note that the copied file contains only code sections not the whole core 31 image. Note also that files "kallsyms" and "modules" must also be in the 34 kcore in the cache (with the same build-id) that has the same modules at 50 Update specified file of the cache. Note that this doesn't remove 53 exactly same build-id, that is replaced by new one. It can be used
|
D | perf-sched.txt | 23 'perf sched script' to see a detailed trace of the workload that 26 'perf sched replay' to simulate the workload that was recorded 28 that mimic the workload based on the events in the trace. These 35 individual CPUs, and the two-letter shortcuts stand for tasks that 36 are running on a CPU. A '*' denotes the CPU that had the event, and
|
/linux-4.1.27/Documentation/early-userspace/ |
D | README | 7 "Early userspace" is a set of libraries and programs that provide 8 various pieces of functionality that are important enough to be 9 available while a Linux kernel is coming up, but that don't need to be 14 - gen_init_cpio, a program that builds a cpio-format archive 17 - initramfs, a chunk of code that unpacks the compressed cpio image 19 - klibc, a userspace C library, currently packaged separately, that is 30 You can create a cpio archive that contains the early userspace image. 50 INITRAMFS_ROOT_UID can be set to a user ID that needs to be mapped to 51 user root (0). INITRAMFS_ROOT_GID can be set to a group ID that needs 69 scripts/gen_initramfs_list.sh. This means that CONFIG_INITRAMFS_SOURCE [all …]
|
/linux-4.1.27/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/ |
D | qe.txt | 2 This represents qe module that is installed on PowerQUICC II Pro. 7 Basically, it is a bus of devices, that could act more or less 29 that contains the firmware that should be uploaded for this QE. 57 bus that can be allocated as data/parameter 74 This node defines a firmware binary that is embedded in the device tree, for 80 inside a QE node that needs it. Doing so eliminates the need for a 81 fsl,firmware-phandle property. Other QE nodes that need the same firmware 82 should define an fsl,firmware-phandle property that points to the firmware node 92 Definition: A standard property. Specify a string that indicates what
|
/linux-4.1.27/Documentation/nfc/ |
D | nfc-hci.txt | 36 of proprietary gates that must be part of the session. HCI will ensure all 39 can pass that information to HCI core. 45 a service, one must create a pipe to that gate and open it. In this 54 the HCI management. This makes it easier to maintain a driver for a chip that 88 - hci_ready() is an optional entry point that is called right after the hci 90 that must be performed using HCI commands. 92 - start_poll() is an optional entrypoint that shall set the hardware in polling 96 the p2p connection setup with hardware parameters that need to be passed back 111 - check_presence() is an optional entry point that will be called regularly 112 by the core to check that an activated tag is still in the field. If this is [all …]
|
/linux-4.1.27/Documentation/filesystems/nfs/ |
D | Exporting | 11 applications that access a filesystem via a remote filesystem protocol 34 tree. This means that if any filesystem object is in the dcache, then 35 all of the ancestors of that filesystem object are also in the dcache. 43 the dcache that are not needed for normal filesystem access. 45 1/ The dcache must sometimes contain objects that are not part of the 46 proper prefix. i.e that are not connected to the root. 49 that dentry into place (based on the parent and name in the 51 it is a dcache invariant that directories only have one dentry. 56 any dentry that might not be part of the proper prefix. 62 subtrees that are not in the proper prefix. These dentries, as [all …]
|
D | nfs.txt | 15 special features of the NFS client that can be configured by system 28 Without any other intervention, the Linux client uses a string that contains 30 take care to ensure that node names are fully qualified and do not change 32 administrative requirements that require particular behavior that does not 35 The nfs.nfs4_unique_id boot parameter specifies a unique string that can be 42 anything that is believed to be unique across all NFS clients. An 48 changed safely if care is taken that the client shuts down cleanly and all 60 NFSv4 allows for one server to refer the NFS client to data that has been 72 Assuming that the user has the 'rpc_pipefs' filesystem mounted in the usual 76 valid entry. If so, it returns that entry and exits.
|
D | rpc-cache.txt | 2 mechanisms in the sunrpc layer that is used, in particular, 10 There are a number of caches that are similar in structure though 14 Examples of caches that are likely to be needed are: 19 - mappings between local UID/GID and remote UID/GID for sites that 30 - delaying RPC requests that depend on as-yet incomplete 39 structure definition that must contain a 45 2/ A cache needs a "cache_detail" structure that 72 Optional. Used to provide a /proc file that lists the 92 includes it on a list of caches that will be regularly 114 believe that userspace might provide information soon. When the cache [all …]
|
D | nfsd-admin-interfaces.txt | 4 Note that normally these interfaces are used only by the utilities in 13 Before doing that, NFSD can be told which sockets to listen on by 14 writing to nfsd/portlist; that write may be: 27 are thrown away at that point. 39 Note that the rpc server requires the caller to serialize addition and
|
/linux-4.1.27/fs/cramfs/ |
D | README | 6 swapped around (though it does care that directory entries (inodes) in 37 One <file_data> for each file that's either a symlink or a 71 with -z if you want it to create files that can have holes in them. 87 (Block size in cramfs refers to the size of input data that is 91 The superblock ought to indicate the block size that the fs was 92 written for, since comments in <linux/pagemap.h> indicate that 96 Currently, mkcramfs #define's PAGE_CACHE_SIZE as 4096 and uses that 106 is that the generated cramfs cannot always be shared between different 113 One part of that is addressing endianness. The two options here are 137 The cost of option 1 is that kernels with a larger PAGE_CACHE_SIZE [all …]
|
/linux-4.1.27/Documentation/scsi/ |
D | LICENSE.qla4xxx | 33 price. Our General Public Licenses are designed to make sure that you 35 this service if you wish), that you receive source code or can get it 36 if you want it, that you can change the software or use pieces of it 37 in new free programs; and that you know you can do these things. 39 To protect your rights, we need to make restrictions that forbid 45 gratis or for a fee, you must give the recipients all the rights that 46 you have. You must make sure that they, too, receive or can get the 55 that everyone understands that there is no warranty for this free 57 want its recipients to know that what they have is not the original, so 58 that any problems introduced by others will not reflect on the original [all …]
|
D | LICENSE.qla2xxx | 34 price. Our General Public Licenses are designed to make sure that you 36 this service if you wish), that you receive source code or can get it 37 if you want it, that you can change the software or use pieces of it 38 in new free programs; and that you know you can do these things. 40 To protect your rights, we need to make restrictions that forbid 46 gratis or for a fee, you must give the recipients all the rights that 47 you have. You must make sure that they, too, receive or can get the 56 that everyone understands that there is no warranty for this free 58 want its recipients to know that what they have is not the original, so 59 that any problems introduced by others will not reflect on the original [all …]
|
D | ChangeLog.sym53c8xx | 5 - Backport from SYM-2 the work-around that allows to support 6 hardwares that fail PCI parity checking. 7 - Check that we received at least 8 bytes of INQUIRY response 8 for byte 7, that contains device capabilities, to be valid. 16 for chips that support SRUN bit in ISTAT1 and if SCRIPTS are 18 - In the CCB abort path, do not assume that the CCB is currently 43 The bus_dvma_to_mem() interface that reverses the actual 47 - Merge changes for linux-2.4 that declare the host template 50 - Increase SCSI message size up to 12 bytes, given that 8 62 from SCRIPTS that requires special alignments. [all …]
|
D | in2000.txt | 8 compiled for SMP. I've fixed that problem, and after 20 It appears that the driver works fine with serial 21 EPROMs (the 8-pin chip that defines hardware rev) as 22 old as 2.1, so we'll assume that all cards are OK. 26 Fixed a bug that caused incorrect SCSI status bytes to be 28 means that CDROM changers work now! Fixed a bug in the 38 Fixed a bug in the code that sets the transfer direction 40 are quite a few SCSI commands that do a write-to-device; 66 about; I figure that people who are really into it will 73 that would show up every now and then during extreme [all …]
|
/linux-4.1.27/Documentation/devicetree/bindings/pinctrl/ |
D | brcm,cygnus-gpio.txt | 10 Define the base and range of the I/O address space that contains the Cygnus 19 Specifies that the node is a GPIO controller 27 Specifies that the node is an interrupt controller 36 The list of pins (within the controller's own pin space) that properties 84 * Touchscreen that uses the CCM GPIO 0 and 1 93 /* Bluetooth that uses the ASIU GPIO 5, with polarity inverted */
|
D | pinctrl-bindings.txt | 3 Hardware modules that control pin multiplexing or configuration parameters 24 Note that pin controllers themselves may also be client devices of themselves. 30 bindings for the individual client devices in use by that board, i.e. whether 41 Each client device's own binding determines the set of states that must be 43 IDs that must be provided, or whether to define the set of state names that 49 nodes of the pin controller that they configure. Multiple 50 entries may exist in this list so that multiple pin 51 controllers may be configured, or so that a state may be built 61 the binding for that IP block requires certain pin states to 91 * but in use on an SoC that doesn't have any pin control hardware [all …]
|
/linux-4.1.27/drivers/usb/ |
D | README | 4 includes kerneldoc that should help you get a current overview. 30 includes UHCI, OHCI, EHCI, and others that might 38 first subdirectory in the list below that it fits into. 42 ../input/ - This is for any driver that uses the input subsystem, 45 radios, and any other drivers that talk to the v4l 50 class/ - This is for all USB device drivers that do not fit 53 misc/ - This is for all USB device drivers that do not fit
|
/linux-4.1.27/Documentation/hwmon/ |
D | pc87360 | 26 Note that this parameter has no effect for the PC87360, PC87363 and PC87364 29 Also note that for the PC87366, initialization levels 2 and 3 don't enable 54 The driver assumes that no more than one chip is present, and one of the 88 Note that not all RPM values can be represented, even when the best clock 98 that the fan is stopped, and 255 meaning that the fan goes at full speed. 126 Note that these three additional channels share their pins with the 129 the documents from National Semiconductor suggest that motherboard 164 is read at least once. This means that the cause for the alarm may already 165 have disappeared! Note that all hardware registers are read whenever any 171 Monitoring of in9 isn't enabled at lower init levels (<3) because that [all …]
|
/linux-4.1.27/ |
D | COPYING | 2 NOTE! This copyright does *not* cover user programs that use kernel 5 Also note that the GPL below is copyrighted by the Free Software 6 Foundation, but the instance of code that it refers to (the Linux 9 Also note that the only valid version of the GPL as far as the kernel 38 price. Our General Public Licenses are designed to make sure that you 40 this service if you wish), that you receive source code or can get it 41 if you want it, that you can change the software or use pieces of it 42 in new free programs; and that you know you can do these things. 44 To protect your rights, we need to make restrictions that forbid 50 gratis or for a fee, you must give the recipients all the rights that [all …]
|
/linux-4.1.27/Documentation/trace/ |
D | ftrace-design.txt | 8 Here we will cover the architecture pieces that the common function tracing 10 complexity so that you can start simple and at least get basic functionality. 12 Note that this focuses on architecture implementation details only. If you 38 We'll make the assumption below that the symbol is "mcount" just to keep things 41 Keep in mind that the ABI that is in effect inside of the mcount function is 52 so return immediately. If it isn't, then call that function in the same way 55 size of the mcount call that is embedded in the function). 62 Also keep in mind that this mcount function will be called *a lot*, so 69 Here is some pseudo code that should help (these functions should actually be 127 that will return the original return address with which you can return to the [all …]
|
D | events-nmi.txt | 11 You might want to use this tracepoint if you suspect that your 20 Let's say you suspect that perf_event_nmi_handler() is causing 21 you some problems and you only want to trace that handler 27 Let's also say you are only interested in when that function is 29 Note that the kernel's output is in milliseconds, but the input
|
D | ring-buffer-design.txt | 21 producer - the task that writes into the ring buffer (same as writer) 25 consumer - the task that reads from the buffer (same as reader) 32 head_page - a pointer to the page that the reader will use next 34 tail_page - a pointer to the page that will be written to next 38 cmpxchg - hardware-assisted atomic transaction that performs the following: 42 R = cmpxchg(A, C, B) is saying that we replace A with B if and only if 93 At initialization a reader page is allocated for the reader that is not 112 it wants with it, as long as a writer has left that page. 172 It is possible that the page swapped is the commit page and the tail page, 202 head page - the next page in the ring buffer that will be swapped [all …]
|
/linux-4.1.27/fs/sysv/ |
D | Kconfig | 10 If you have floppies or hard disk partitions like that, it is likely 11 that they contain binaries from those other Unix systems; in order 13 a set of kernel modules that lets you run SCO, Xenix, Wyse, 17 NOTE: that will work only for binaries from Intel-based systems; 24 Note that this option is generally not needed for floppies, since a 27 tar" or preferably "info tar"). Note also that this option has
|
/linux-4.1.27/drivers/staging/iio/Documentation/ |
D | ring.txt | 6 comments in the source code. Note that some drivers allow buffer 10 iio_ring_buffer and it is a pointer to this that is provided to the 18 of the core changing its current mode to indicate that the buffer 35 The primary buffer reading function. Note that it may well not return 39 If parameters have changed that require reinitialization or configuration of 46 Set the number of complete scans that may be held by the buffer.
|
/linux-4.1.27/Documentation/ABI/ |
D | README | 13 This directory documents the interfaces that the developer has 21 This directory documents interfaces that are felt to be stable, 27 aware of changes that can occur before these interfaces move to 28 be marked stable. Programs that use these interfaces are 30 these interfaces, so that the kernel developers can easily 35 This directory documents interfaces that are still remaining in 41 This directory contains a list of the old interfaces that have 53 the "testing" stage, so that kernel developers can work 54 with userspace developers to ensure that things do not 55 break in ways that are unacceptable. It is also
|
/linux-4.1.27/Documentation/arm64/ |
D | arm-acpi.txt | 5 Base Boot Requirements) [1] specifications. Please note that the SBBR 22 ACPI and Linux only, on an ARMv8 system -- that is, what Linux expects of 31 section we summarize a blog post [2] from Grant Likely that outlines the 42 -- ACPI’s OSPM defines a power management model that constrains what the 60 longer any reason to feel that ACPI is only belongs to Windows or that 70 to understand all the minute details of the hardware so that the OS doesn’t 81 really just duplicates something that already works. ACPI already does what 89 One of the primary motivations for ACPI is standardization, and using that 92 kernel and firmware to agree on a consistent abstraction that can be 100 not be optimal, with the earliest kernel version that first provides support [all …]
|
D | tagged-pointers.txt | 11 The kernel configures the translation tables so that translations made 16 (1) The kernel requires that all user addresses passed to EL1 17 are tagged with tag 0x00. This means that any syscall 22 This means that signal handlers in applications making use 30 since it is likely that C compilers will not hazard two
|
/linux-4.1.27/Documentation/devicetree/bindings/iommu/ |
D | iommu.txt | 10 * Remap address space to allow devices to access physical memory ranges that 15 * Implement scatter-gather at page level granularity so that the device does 34 "dma-ranges" property that describes how the physical address space of the 35 IOMMU maps to memory. An empty "dma-ranges" property means that there is a 48 This may also apply to multiple master IOMMU devices that do not allow the 49 association of masters to be configured. Note that an IOMMU can by design 62 Note that these are merely examples and real-world use-cases may use different 64 IOMMU binding for the exact meaning of the cells that make up the specifier. 70 Devices that access memory through an IOMMU are called masters. A device can 75 - iommus: A list of phandle and IOMMU specifier pairs that describe the IOMMU [all …]
|
/linux-4.1.27/Documentation/devicetree/bindings/mipi/dsi/ |
D | mipi-dsi-bus.txt | 12 set of properties that characterize the bus. Child nodes describe individual 13 peripherals on that bus. 15 The following assumes that only a single peripheral is connected to a DSI 16 host. Experience shows that this is true for the large majority of setups. 43 Some DSI peripherals respond to more than a single virtual channel. In that 46 that the peripheral responds to. 47 - If the virtual channels that a peripheral responds to are consecutive, the
|
/linux-4.1.27/Documentation/watchdog/ |
D | watchdog-kernel-api.txt | 14 So what does this document describe? It describes the API that can be used by 15 WatchDog Timer Drivers that want to use the WatchDog Timer Driver Core 16 Framework. This framework provides all interfacing towards user space so that 17 the same code does not have to be reproduced each time. This also means that 19 (operations) that control the watchdog timer (WDT). 23 Each watchdog timer driver that wants to use the WatchDog Timer Driver Core 69 * ops: a pointer to the list of watchdog operations that the watchdog supports. 79 * status: this field contains a number of status bits that give extra 101 It is important that you first define the module owner of the watchdog timer 122 * start: this is a pointer to the routine that starts the watchdog timer [all …]
|
D | watchdog-api.txt | 15 A Watchdog Timer (WDT) is a hardware circuit that can reset the 16 computer system in case of a software fault. You probably knew that 20 /dev/watchdog special device file that userspace is still alive, at 22 usually tell the hardware watchdog that everything is in order, and 23 that the watchdog should wait for yet another little while to reset 42 A more advanced driver could for example check that a HTTP server is 54 the nowayout module parameter so that this option can be controlled at 63 will assume that the daemon (and userspace in general) died, and will 73 All drivers that have an ioctl interface support at least one ioctl, 118 Note that the pretimeout is the number of seconds before the time [all …]
|
/linux-4.1.27/arch/x86/kernel/cpu/ |
D | perf_event_amd_uncore.c | 335 struct amd_uncore *that; in amd_uncore_find_online_sibling() local 338 that = *per_cpu_ptr(uncores, cpu); in amd_uncore_find_online_sibling() 340 if (!that) in amd_uncore_find_online_sibling() 343 if (this == that) in amd_uncore_find_online_sibling() 346 if (this->id == that->id) { in amd_uncore_find_online_sibling() 347 that->free_when_cpu_online = this; in amd_uncore_find_online_sibling() 348 this = that; in amd_uncore_find_online_sibling() 417 struct amd_uncore *that = *per_cpu_ptr(uncores, i); in uncore_down_prepare() local 422 if (this == that) { in uncore_down_prepare() 424 cpumask_clear_cpu(cpu, that->active_mask); in uncore_down_prepare() [all …]
|
/linux-4.1.27/Documentation/sound/oss/ |
D | ESS | 12 Every chip that's detected as a later-than-es1688 chip has a 6 bits logarithmic 15 Every chip that's detected as a ES1887 now has Full Duplex support. Made a 16 little testprogram that shows that is works, haven't seen a real program that
|
/linux-4.1.27/Documentation/fb/ |
D | udlfb.txt | 8 pairing that with a hardware framebuffer (16MB) on the other end of the 14 the minimal set of pixels that have changed; and compresses and sends those 17 Because of the efficiency of bulk transfers and a protocol on top that 18 does not require any acks - the effect is very low latency that 40 and a slightly modified "fbdev" X driver are among those that already do. 64 means that from a hardware and fbdev software perspective, everything is good. 66 At that point, a /dev/fb? interface will be present for user-mode applications 68 standard fbdev calls. Note that if mmap() is used, by default the user mode 72 that can work without explicit notifcation. 80 framebuffers that need damage info). These damage notifications allow [all …]
|
/linux-4.1.27/fs/reiserfs/ |
D | README | 6 Source code files that contain the phrase "licensing governed by 12 want it to be owned by Hans Reiser, put your copyright label on that 16 others or sending us a patch, and leaving the sentence in stating that 32 you can see that those restrictions on additional terms do not apply 39 If you have doubts about how to properly do that, or about what is 55 version of reiserfs that is in their kernel, with many important 58 reiserfs, this is a common source of confusion. Note that some of the 61 you to specify where that code can be found. 76 integration that you sell as an operating system. Let your competitors 90 could be, and to make his code the best that it could be. What resulted [all …]
|
/linux-4.1.27/Documentation/PCI/ |
D | pci-error-recovery.txt | 21 offered, so that the affected PCI device(s) are reset and put back 29 a PCI hardware error has resulted in a bus disconnect, that event 38 is forced by the need to handle multi-function devices, that is, 39 devices that have multiple device drivers associated with them. 44 If any driver requests a slot reset, that is what will be done. 47 again notified, so that they may then perform any device setup/config 48 that may be required. After these have all completed, a final 72 pci_driver. A driver that fails to provide the structure is "non-aware", 106 is assumed that the driver is not doing any direct recovery and requires 118 is isolated, in that all I/O is blocked: all reads return 0xffffffff, [all …]
|
/linux-4.1.27/Documentation/devicetree/ |
D | usage-model.txt | 15 is a description of hardware that is readable by an operating system 16 so that the operating system doesn't need to hard code details of the 35 incompatible, bindings for i2c busses that came about because the new 60 also added to the PowerPC boot wrapper (arch/powerpc/boot/*) so that 76 The most important thing to understand is that the DT is simply a data 77 structure that describes the hardware. There is nothing magical about 81 Linux kernel (or any other operating system for that matter). Using 102 machine during early boot so that it has the opportunity to run 126 claims that it compatible with the OMAP 3450 SoC, and the omap3 family 127 of SoCs in general. You'll notice that the list is sorted from most [all …]
|
D | booting-without-of.txt | 66 clarifies the fact that a lot of things are 71 May 24, 2005: Rev 0.3 - Precise that DT block has to be in RAM 80 that are referenced by other nodes need it. 88 already aligned, that means no specific 98 the tree that can be "compiled" by dtc. 112 names for cells that are not already defined by the existing 117 that currently have no standard, like the FSL CPM. 127 order to avoid the degeneration that had become the ppc32 kernel entry 130 but no new board support will be accepted in the main tree that 136 The main requirement that will be defined in more detail below is [all …]
|
/linux-4.1.27/Documentation/blockdev/ |
D | ramdisk.txt | 23 so that the VM subsystem does not try to reclaim them later. 67 The usage of the word (two bytes) that "rdev -r" sets in the kernel image is 70 14 indicates that a RAM disk is to be loaded, and bit 15 indicates whether a 83 Hence you want to set bits 0 to 13 as 0, meaning that your RAM disk 87 You want bit 14 as one, indicating that a RAM disk is to be loaded. 90 You want bit 15 as one, indicating that you want a prompt/keypress 91 sequence so that you have a chance to switch floppy disks. 94 Putting that together gives 2^15 + 2^14 + 0 = 49152 for an rdev word. 101 If you make a boot disk that has LILO, then for the above, you would use: 119 a) Decide on the RAM disk size that you want. Say 2 MB for this example. [all …]
|
/linux-4.1.27/Documentation/devicetree/bindings/sound/ |
D | nvidia,tegra-audio-rt5677.txt | 24 - nvidia,i2s-controller : The phandle of the Tegra I2S controller that's 27 assumes that AIF1 on the CODEC is connected to Tegra. 30 - nvidia,hp-det-gpios : The GPIO that detects headphones are plugged in 31 - nvidia,hp-en-gpios : The GPIO that enables headphone amplifier 32 - nvidia,mic-present-gpios: The GPIO that mic jack is plugged in 33 - nvidia,dmic-clk-en-gpios : The GPIO that gates DMIC clock signal
|
/linux-4.1.27/Documentation/devicetree/bindings/ufs/ |
D | ufshcd-pltfrm.txt | 21 - vcc-max-microamp : specifies max. load that can be drawn from vcc supply 22 - vccq-max-microamp : specifies max. load that can be drawn from vccq supply 23 - vccq2-max-microamp : specifies max. load that can be drawn from vccq2 supply 24 - <name>-fixed-regulator : boolean property specifying that <name>-supply is a fixed regulator 32 that the frequency is set by the parent clock or a 35 Note: If above properties are not defined it can be assumed that the supply
|
/linux-4.1.27/Documentation/devicetree/bindings/metag/ |
D | meta-intc.txt | 32 - <1st-cell>: The interrupt-number that identifies the interrupt source. 50 // No address cells so that 'interrupt-map' nodes which 71 * An interrupt generating device that is wired to a Meta external 75 // Interrupt source '5' that is level-sensitive. 76 // Note that there are only two cells as specified in the 80 // The interrupt controller that this device is wired to.
|
/linux-4.1.27/drivers/staging/gs_fpgaboot/ |
D | README | 21 An FPGA (Field Programmable Gate Array) is a programmable hardware that is 45 You would do that with a dedicated JTAG, which usually a limited 50 b. For the FPGA that runs without config after the download, which 53 We download FPGA firmware from user triggered or some other way, and that's it. 54 Since that FPGA runs on its own, it doesn't require a linux driver 57 c. For the FPGA that requires config after the download, which talk to
|
/linux-4.1.27/Documentation/devicetree/bindings/dma/ |
D | mv-xor.txt | 10 The DT node must also contains sub-nodes for each XOR channel that the 16 - dmacap,memcpy to indicate that the XOR channel is capable of memcpy operations 17 - dmacap,memset to indicate that the XOR channel is capable of memset operations 18 - dmacap,xor to indicate that the XOR channel is capable of xor operations
|
/linux-4.1.27/Documentation/devicetree/bindings/phy/ |
D | phy-bindings.txt | 14 phy-supply: Phandle to a regulator that provides power to the PHY. This 29 That node describes an IP block (PHY provider) that implements 2 different PHYs. 53 This node represents a controller that uses two PHYs, one for usb2 and one for 68 This node represents a controller that uses one of the PHYs of the PHY provider 69 device defined previously. Note that the phy handle has an additional specifier
|
/linux-4.1.27/Documentation/cpu-freq/ |
D | intel-pstate.txt | 12 setpolicy() instead of target(). Scaling drivers that implement 28 max_perf_pct: limits the maximum P state that will be requested by 33 min_perf_pct: limits the minimum P state that will be requested by 40 turbo_pct: displays the percentage of the total performance that 41 is supported by hardware that is in the turbo range. This number 44 num_pstates: displays the number of pstates that are supported 50 performance levels. The idea that frequency can be set to a single
|
/linux-4.1.27/Documentation/filesystems/configfs/ |
D | configfs.txt | 14 configfs is a ram-based filesystem that provides the converse of 23 write(2). The important point is that the object is created and 46 These are modules that register their item types with configfs as 70 Imagine there's a Network Block Device (NBD) driver that allows you to 72 for its configuration. Obviously, there will be a nice program that 73 sysadmins use to configure FakeNBD, but somehow that program has to tell 105 object in the subsystem. It has attributes that match values on that 106 object. configfs handles the filesystem representation of that object 111 collection of items that share the same attributes and operations. 113 handles that. The group has a set of operations to perform these tasks [all …]
|
/linux-4.1.27/tools/usb/usbip/ |
D | COPYING | 22 price. Our General Public Licenses are designed to make sure that you 24 this service if you wish), that you receive source code or can get it 25 if you want it, that you can change the software or use pieces of it 26 in new free programs; and that you know you can do these things. 28 To protect your rights, we need to make restrictions that forbid 34 gratis or for a fee, you must give the recipients all the rights that 35 you have. You must make sure that they, too, receive or can get the 44 that everyone understands that there is no warranty for this free 46 want its recipients to know that what they have is not the original, so 47 that any problems introduced by others will not reflect on the original [all …]
|
/linux-4.1.27/drivers/staging/rtl8192e/ |
D | license | 28 General Public Licenses are designed to make sure that you have the freedom 30 wish), that you receive source code or can get it if you want it, that you 31 can change the software or use pieces of it in new free programs; and that 34 To protect your rights, we need to make restrictions that forbid anyone to 40 for a fee, you must give the recipients all the rights that you have. You 41 must make sure that they, too, receive or can get the source code. And you 48 Also, for each author's protection and ours, we want to make certain that 49 everyone understands that there is no warranty for this free software. If 51 recipients to know that what they have is not the original, so that any 56 wish to avoid the danger that redistributors of a free program will [all …]
|
/linux-4.1.27/drivers/staging/rtl8192u/ |
D | copying | 22 price. Our General Public Licenses are designed to make sure that you 24 this service if you wish), that you receive source code or can get it 25 if you want it, that you can change the software or use pieces of it 26 in new free programs; and that you know you can do these things. 28 To protect your rights, we need to make restrictions that forbid 34 gratis or for a fee, you must give the recipients all the rights that 35 you have. You must make sure that they, too, receive or can get the 44 that everyone understands that there is no warranty for this free 46 want its recipients to know that what they have is not the original, so 47 that any problems introduced by others will not reflect on the original [all …]
|
/linux-4.1.27/drivers/staging/android/ion/ |
D | Kconfig | 9 from userspace that can be shared between drivers. 17 Choose this option to create a device that can be used to test the 24 Provides a dummy ION driver that registers the 27 one doesn't have access to hardware drivers that
|
/linux-4.1.27/Documentation/aoe/ |
D | aoe.txt | 1 ATA over Ethernet is a network protocol that provides simple access to 15 The aoetools are userland programs that are designed to work with this 31 There is a udev-install.sh script that shows how to install these 34 There is also an autoload script that shows how to edit 35 /etc/modprobe.d/aoe.conf to ensure that the aoe module is loaded when 63 ... so that "e0.2" is the third blade from the left (slot 2) in the 65 partition on that disk would be "e0.2p1". 72 "down,closewait" state shows that the device is still open and 79 There is a script in this directory that formats this information in 126 seconds that the driver will wait for an AoE device to provide a [all …]
|
/linux-4.1.27/Documentation/s390/ |
D | kvm.txt | 2 The kvm module is currently in EXPERIMENTAL state for s390. This means that 4 prepared that we keep breaking your userspace application and guest 10 kvm-vm file descriptors, and the kvm-vcpu file descriptors that differ from x86. 13 KVM does support the following ioctls on s390 that are common with other 30 calling process to be single-threaded. Note that the first call to KVM_CREATE_VM 32 KVM_S390_ENABLE_SIE before. User processes that want to launch multiple threads 40 KVM does support the following ioctls on s390 that are common with other 48 at guest absolute address zero and at a user address that is aligned on any 74 KVM does support the following ioctls on s390 that are common with other 109 its prefix page just like the dump tool that comes with zipl. This is useful [all …]
|
/linux-4.1.27/Documentation/ABI/stable/ |
D | syscalls | 7 Note that this interface is different for every architecture 8 that Linux supports. Please see the architecture-specific 9 documentation for details on the syscall numbers that are to be
|
/linux-4.1.27/arch/arm/nwfpe/ |
D | ChangeLog | 26 and needs various things to be re-worked so that we won't 29 * The changes are designed to break any patch that goes on top 30 of this code, so that the authors properly review their changes. 44 * I discovered several bugs. First and worst is that the kernel 48 user_fp is smaller. This meant that the FPE scribbled on things 60 that occurs. It is controlled by init_flag in FPA11. The 62 this to be zero. Not so. I found that the kernel recycles task 63 structures, and that recycled ones may not have init_flag zeroed. 64 I couldn't even find anything that guarantees it is zeroed when
|
/linux-4.1.27/Documentation/phy/ |
D | samsung-usb2.txt | 10 create a one driver that would fit all these PHY controllers. Often 24 phy. They carry out the common work that has to be done on all version 33 structures that describe particular SoCs. 50 array that contains the configuration for each phy. The has_mode_switch 51 property is a boolean flag that determines whether the SoC has USB host 68 that should be written in the hardware register. 125 Enable USB PHY support for Exynos 4210. This option requires that 126 Samsung USB 2.0 PHY driver is enabled and means that support for this 130 The newly created file that supports the new SoC has to be also added to the
|
/linux-4.1.27/Documentation/virtual/kvm/ |
D | msr.txt | 7 Custom MSRs have a range reserved for them, that goes from 30 Users that want to reliably query this information more than once have 34 time information and check that they are both equal and even. 44 Note that although MSRs are per-CPU entities, the effect of this 76 time information and check that they are both equal and even. 92 quantity to nanoseconds. This shift will ensure that 131 data and functioning: same as MSR_KVM_WALL_CLOCK_NEW. Use that instead. 141 data and functioning: same as MSR_KVM_SYSTEM_TIME_NEW. Use that instead. 177 of 1 means that the page referred to by the page fault is not 178 present. Value 2 means that the page is now available. Disabling [all …]
|