| /Documentation/process/ |
| D | management-style.rst | 7 on who you ask) management style for the linux kernel. It's meant to 15 might not actually be true. You'll have to decide for yourself. 19 companies. If you sign purchase orders or you have any clue about the 20 budget of your group, you're almost certainly not a kernel manager. 21 These suggestions may or may not apply to you. 43 particular, if somebody tells you "choose (a) or (b), we really need you 44 to decide on this", you're in trouble as a manager. The people you 45 manage had better know the details better than you, so if they come to 46 you for a technical decision, you're screwed. You're clearly not 49 (Corollary:if the people you manage don't know the details better than [all …]
|
| D | 6.Followthrough.rst | 6 At this point, you have followed the guidelines given so far and, with the 16 code. You, as the author of that code, will be expected to work with the 28 process. Life can be made much easier, though, if you keep a few things in 31 - If you have explained your patch well, reviewers will understand its 32 value and why you went to the trouble of writing it. But that value 35 Many of the changes you may be asked to make - from coding style tweaks 42 they see the same mistakes being made over and over again. If you get a 45 the people, and code reviewers are not attacking you personally. 61 What all of this comes down to is that, when reviewers send you comments, 62 you need to pay attention to the technical observations that they are [all …]
|
| D | maintainer-pgp-guide.rst | 66 Your distro should already have GnuPG installed by default, you just 67 need to verify that you are using a reasonably recent version of it. 72 If you have version 2.2 or above, then you are good to go. If you have a 80 you use the ``gpg`` command and run in the background with the purpose 81 of caching the private key passphrase. There are two options you should 84 - ``default-cache-ttl`` (seconds): If you use the same key again before 87 - ``max-cache-ttl`` (seconds): Regardless of how recently you've used 89 countdown expires, you'll have to enter the passphrase again. The 92 If you find either of these defaults too short (or too long), you can 102 beginning of your shell session. You may want to check your rc files [all …]
|
| D | backporting.rst | 21 techniques you can use to make the process smoother and increase your 30 Sometimes the patch you are backporting already exists as a git commit, 31 in which case you just cherry-pick it directly using 33 often does for the Linux kernel, you will need to apply it to a tree 36 If you've ever used ``git am``, you probably already know that it is 38 fact, you've probably had nightmares about ``.rej`` files and trying to 44 you resolve conflicts with the help of git and any other conflict 45 resolution tools you might prefer to use. For example, if you want to 46 apply a patch that just arrived on LKML to an older stable kernel, you 63 If you are using `b4`_. and you are applying the patch directly from an [all …]
|
| D | applying-patches.rst | 12 manually, you'll almost certainly want to look at using Git instead. 17 will explain this to you. 31 To correctly apply a patch you need to know what base it was generated from 40 You apply a patch with the ``patch`` program. The patch program reads a diff 52 unlabeled patch was generated against) you should change into your kernel 58 So, if you applied a patch like this:: 62 You can revert (undo) it like this:: 78 If you just want to be able to follow the examples below and don't want to 79 know of more than one way to use patch, then you can stop reading this 87 If your patch file is compressed with gzip or xz and you don't want to [all …]
|
| /Documentation/admin-guide/ |
| D | spkguide.txt | 23 interface to Speakup, a Linux Screen Reader. If you need instructions 33 the system is shutdown. This means that if you have obtained Linux 35 of its kernel, you will be able, as a blind person, to install Linux 43 specific synthesizer by default, then all you need to do to use Speakup 52 synthesizers and not others. If you find that this is the case, and 59 synthesizer set, or you would like to use a different synthesizer than 60 the default one, then you may issue the following command at the boot 66 DoubleTalk LT at boot up. You may replace the ltlk synthesizer keyword 67 with the keyword for whatever synthesizer you wish to use. The 107 administrator. This will mean that you will hear some, but not all, of [all …]
|
| D | quickly-build-trimmed-linux.rst | 14 *[If you are new to compiling Linux, ignore this TLDR and head over to the next 18 which might be relevant for you.]* 24 you then use to configure, build and install your own kernel:: 29 # Hint: if you want to apply patches, do it at this point. See below for details. 32 # Hint: at this point you might want to adjust the build configuration; you'll 33 # have to, if you are running Debian. See below for details. 40 If you later want to build a newer mainline snapshot, use these commands:: 44 # Note: the next command will discard any changes you did to the code: 46 # Reminder: if you want to (re)apply patches, do it at this point. 47 # Reminder: you might want to add or modify a build tag at this point. [all …]
|
| D | reporting-issues.rst | 11 Are you facing a regression with vanilla kernels from the same stable or 15 you don't find any, install `the latest release from that series 25 search the `LKML <https://lore.kernel.org/lkml/>`_ and the web, too. If you 29 The issue was fixed there, but you would like to see it resolved in a still 40 If you are facing multiple issues with the Linux kernel at once, report each 44 to pin-point the culprit with a bisection; if you succeed, include its 47 Once the report is out, answer any questions that come up and help where you 63 a slightly different order. That's in your interest, to make sure you notice 65 something else. These steps thus help to ensure the time you invest in this 68 * Are you facing an issue with a Linux kernel a hardware or software vendor [all …]
|
| D | verify-bugs-and-bisect-regressions.rst | 20 Note: if you see this note, you are reading the text's source file. You 22 read and navigate this document -- especially when you want to look something 23 up in the reference section, then jump back to where you left off. 31 *[If you are new to building or bisecting Linux, ignore this section and head 38 **In case you want to check if a bug is present in code currently supported by 40 consider the newest Linux kernel you regularly use to be the 'working' kernel. 44 **In case you face a regression**, follow the steps at least till the end of 45 *segment 2*. Then you can submit a preliminary report -- or continue with 56 # * If you are not already running the 'working' kernel, reboot into it. 65 # * Hint: if you used an existing clone, ensure no stale .config is around. [all …]
|
| /Documentation/hid/ |
| D | uhid.rst | 19 dynamically so you need to rely on udev (or similar) to create the device node. 22 If a new device is detected by your HID I/O Driver and you want to register this 23 device with the HID subsystem, then you need to open /dev/uhid once for each 24 device you want to register. All further communication is done by read()'ing or 39 payloads are sent. You must not split a single event across multiple read()'s or 42 If you want to handle multiple events in a single syscall, then use vectored 48 The first thing you should do is send a UHID_CREATE2 event. This will 49 register the device. UHID will respond with a UHID_START event. You can now 52 That is, you might put your device asleep unless you receive the UHID_OPEN 53 event. If you receive the UHID_OPEN event, you should start I/O. If the last [all …]
|
| /Documentation/arch/s390/ |
| D | 3270.rst | 21 You may have 3270s in-house and not know it. If you're using the 23 the command "DEF GRAF <hex-address>" This paper presumes you will be 31 Your network connection from VM-ESA allows you to use x3270, tn3270, or 34 and this Linux-390 3270 driver, you have another way of talking to your 44 You install the driver by installing a patch, doing a kernel build, and 47 WARNING: If you are using 3270 console support, you must rerun the 48 configuration script every time you change the console's address (perhaps 50 you should rerun the configuration script every time your set of 3270s, 55 If you have chosen to make tub3270 a module, you add a line to a 56 configuration file under /etc/modprobe.d/. If you are working on a VM [all …]
|
| /Documentation/filesystems/ |
| D | journalling.rst | 10 The journalling layer is easy to use. You need to first of all create a 12 how you decide to allocate the physical media on which the journal 16 journal_t is a typedef for a struct pointer, so when you are finally 17 finished make sure you call jbd2_journal_destroy() on it to free up 20 Once you have got your journal_t object you need to 'mount' or load the 23 When loading the journal you must call jbd2_journal_load() to process 30 jbd2_journal_skip_recovery() for you if it detects any outstanding 35 Now you can go ahead and start modifying the underlying filesystem. 38 You still need to actually journal your filesystem changes, this is done 39 by wrapping them into transactions. Additionally you also need to wrap [all …]
|
| D | bfs.rst | 11 In order to access /stand partition under Linux you obviously need to 21 When you have finished using it and umounted you need to also deallocate 26 You can simplify mounting by just typing:: 32 loaded automatically, make sure that you have compiled the module and 35 /proc/mounts. You will need to do it manually using "-d" switch of 38 To create the BFS image under UnixWare you need to find out first which 43 (assuming your root disk is on target=0, lun=0, bus=0, controller=0). Then you 45 information you can use dd(1) to create the BFS image:: 50 Just in case, you can verify that you have done the right thing by checking 57 If you have any patches, questions or suggestions regarding this BFS
|
| /Documentation/networking/ |
| D | arcnet.rst | 10 and cabling information if you're like many of us and didn't happen to get a 22 The point is: I REALLY REALLY REALLY REALLY REALLY want to hear from you if 23 you test this and get it working. Or if you don't. Or anything. 36 If you don't e-mail me about your success/failure soon, I may be forced to 39 (You know, it might be argued that I'm pushing this point a little too much. 40 If you think so, why not flame me in a quick little e-mail? Please also 41 include the type of card(s) you're using, software, size of network, and 83 You can try my ARCNET page on the World Wide Web at: 87 Also, SMC (one of the companies that makes ARCnet cards) has a WWW site you 101 You can get the Crynwr packet driver collection (including arcether.com, the [all …]
|
| /Documentation/core-api/ |
| D | xarray.rst | 14 resizable array. Unlike a hash, it allows you to sensibly go to the 25 ``ULONG_MAX`` then the XArray is not the data type for you. The most 31 nor for function pointers. You can store pointers to statically allocated 34 You can also store integers between 0 and ``LONG_MAX`` in the XArray. 35 You must first convert it into an entry using xa_mk_value(). 36 When you retrieve an entry from the XArray, you can check whether it is 40 Some users want to tag the pointers they store in the XArray. You can 44 are used to distinguish value entries from normal pointers, so you must 66 You can then set entries using xa_store() and get entries 68 new entry and return the previous entry stored at that index. You can [all …]
|
| D | idr.rst | 30 You can call idr_alloc() to allocate an unused ID. Look up 31 the pointer you associated with the ID by calling idr_find() 34 If you need to change the pointer associated with an ID, you can call 42 idr_alloc_u32(). If you need IDs that will not fit in a u32, 43 we will work with you to address your needs. 45 If you need to allocate IDs sequentially, you can use 49 To perform an action on all pointers used by the IDR, you can 51 iterator-style idr_for_each_entry(). You may need to use 52 idr_for_each_entry_continue() to continue an iteration. You can 55 When you have finished using an IDR, you can call idr_destroy() [all …]
|
| D | dma-isa-lpc.rst | 14 To do ISA style DMA you need to include two headers:: 23 this is not present on all platforms make sure you construct your 34 (You usually need a special buffer for DMA transfers instead of 39 or 128 KiB depending on which channel you use). 42 requirements you pass the flag GFP_DMA to kmalloc. 44 Unfortunately the memory available for ISA DMA is scarce so unless you 48 (This scarcity also means that you should allocate the buffer as 58 is really all you need. Remember that even though the DMA controller 75 You allocate these in a similar fashion as all basic resources: 80 The ability to use 16-bit or 8-bit transfers is _not_ up to you as a [all …]
|
| D | kref.rst | 17 krefs allow you to add reference counters to your objects. If you 19 you don't have refcounts, your code is almost certainly broken. If 20 you want refcounts, krefs are the way to go. 38 You must initialize the kref after you allocate it. To do this, call 53 Once you have an initialized kref, you must follow the following 56 1) If you make a non-temporary copy of a pointer, especially if 57 it can be passed to another thread of execution, you must 62 If you already have a valid pointer to a kref-ed structure (the 63 refcount cannot go to zero) you may do this without a lock. 65 2) When you are done with a pointer, you must call kref_put():: [all …]
|
| /Documentation/filesystems/bcachefs/ |
| D | CodingStyle.rst | 12 good. But appreciate beauty when you see it - and let people know. 14 The code that you are afraid to touch is the code most in need of refactoring. 18 Put real thought into how you organize things. 24 the course of writing a patchset you encounter a condition that shouldn't 26 you're not sure if it can happen and not sure how to handle it yet - make it a 29 By the time you finish the patchset, you should understand better which 34 we're not stuck debugging undefined behaviour should it turn out that you were 43 Good assertions are based on state, not logic. To write good assertions, you 47 means that you can run them in only a few places in the checked in version, but 48 should you need to debug something that caused the assertion to fail, you can [all …]
|
| /Documentation/dev-tools/ |
| D | kgdb.rst | 12 debugger front ends and dynamically transition between them if you 15 Kdb is simplistic shell-style interface which you can use on a system 16 console with a keyboard or serial console. You can use it to inspect 19 you can set breakpoints and execute some basic kernel run control. Kdb 21 diagnosing kernel problems. You can access some symbols by name in 46 - In order to enable compilation of kdb, you must first enable kgdb. 54 To enable ``CONFIG_KGDB`` you should look under 58 While it is not a hard requirement that you have symbols in your vmlinux 59 file, gdb tends not to be very useful without the symbolic data, so you 63 It is advised, but not required, that you turn on the [all …]
|
| /Documentation/pcmcia/ |
| D | devicetable.rst | 14 You should use the helpers in include/pcmcia/device_id.h for generating the 17 If you want to match product ID strings, you also need to pass the crc32 18 hashes of the string to the macro, e.g. if you want to match the product ID 19 string 1, you need to use 23 If the hash is incorrect, the kernel will inform you about this in "dmesg" 24 upon module initialization, and tell you of the correct hash. 26 You can determine the hash of the product ID strings by catting the file 34 Alternatively, you can use crc32hash (see tools/pcmcia/crc32hash.c) 35 to determine the crc32 hash. Simply pass the string you want to evaluate
|
| /Documentation/gpu/amdgpu/display/ |
| D | dc-debug.rst | 10 information. In general, you can enable this debug option by using:: 15 wants to enable, you will see some of these debug cases in the following 21 If you want to enable or debug multiple planes in a specific user-space 22 application, you can leverage a debug feature named visual confirm. For 23 enabling it, you will need:: 27 You need to reload your GUI to see the visual confirmation. When the plane 52 confirmation is also handy for this case. Similar to the MPO case, you can use 57 In this case, if you have a pipe split, you will see one small red bar at the 59 covering the second pipe. In other words, you will see a bit high bar in the 66 hardware configuration. Via debugfs, you can capture those status values by [all …]
|
| /Documentation/driver-api/ |
| D | ipmi.rst | 15 To use this, you need an interface to an IPMI controller in your 19 This document describes how to use the IPMI driver for Linux. If you 27 The Linux IPMI driver is modular, which means you have to pick several 32 No matter what, you must pick 'IPMI top-level message handler' to use 33 IPMI. What you do beyond that depends on your needs and hardware. 36 Kernel code (like the watchdog) can still use it. If you need access 37 from userland, you need to select 'Device interface for IPMI' if you 42 and just work. If you have a board with a standard interface (These 52 You should generally enable ACPI on your system, as systems with IPMI 55 If you have a standard interface and the board manufacturer has done [all …]
|
| /Documentation/power/ |
| D | swsusp.rst | 11 If you touch anything on disk between suspend and resume... 14 If you do resume from initrd after your filesystems are mounted... 19 If you have unsupported ( ) devices using DMA, you may have some 21 it may cause some problems, too. If you change kernel command line 22 between suspend and resume, it may do something wrong. If you change 28 If you have any filesystems on USB devices mounted before software suspend, 29 they won't be accessible after resume and you may lose data, as though 30 you have unplugged the USB devices with mounted filesystems on them; 35 You need to append resume=/dev/your_swap_partition to kernel command 39 If using a swapfile you can also specify a resume offset using [all …]
|
| /Documentation/locking/ |
| D | spinlocks.rst | 32 The above is usually pretty simple (you usually need and want only one 35 sequences that you **know** need to be split up: avoid it at all cost if you 38 This is really the only really hard part about spinlocks: once you start 39 using spinlocks they tend to expand to areas you might not have noticed 40 before, because you have to make sure the spinlocks correctly protect the 45 NOTE! The spin-lock is safe only when you **also** use the lock itself 55 If your data accesses have a very natural pattern where you usually tend 62 simple spinlocks. Unless the reader critical section is long, you 87 Also, you cannot "upgrade" a read-lock to a write-lock, so if you at _any_ 88 time need to do any changes (even if you don't do it every time), you have [all …]
|