Loading Documentation/SubmittingPatches +46 −0 Original line number Original line Diff line number Diff line Loading @@ -327,6 +327,52 @@ Some people also put extra tags at the end. They'll just be ignored for now, but you can do this to mark internal company procedures or just now, but you can do this to mark internal company procedures or just point out some special detail about the sign-off. point out some special detail about the sign-off. If you are a subsystem or branch maintainer, sometimes you need to slightly modify patches you receive in order to merge them, because the code is not exactly the same in your tree and the submitters'. If you stick strictly to rule (c), you should ask the submitter to rediff, but this is a totally counter-productive waste of time and energy. Rule (b) allows you to adjust the code, but then it is very impolite to change one submitter's code and make him endorse your bugs. To solve this problem, it is recommended that you add a line between the last Signed-off-by header and yours, indicating the nature of your changes. While there is nothing mandatory about this, it seems like prepending the description with your mail and/or name, all enclosed in square brackets, is noticeable enough to make it obvious that you are responsible for last-minute changes. Example : Signed-off-by: Random J Developer <random@developer.example.org> [lucky@maintainer.example.org: struct foo moved from foo.c to foo.h] Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org> This practise is particularly helpful if you maintain a stable branch and want at the same time to credit the author, track changes, merge the fix, and protect the submitter from complaints. Note that under no circumstances can you change the author's identity (the From header), as it is the one which appears in the changelog. Special note to back-porters: It seems to be a common and useful practise to insert an indication of the origin of a patch at the top of the commit message (just after the subject line) to facilitate tracking. For instance, here's what we see in 2.6-stable : Date: Tue May 13 19:10:30 2008 +0000 SCSI: libiscsi regression in 2.6.25: fix nop timer handling commit 4cf1043593db6a337f10e006c23c69e5fc93e722 upstream And here's what appears in 2.4 : Date: Tue May 13 22:12:27 2008 +0200 wireless, airo: waitbusy() won't delay [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a] Whatever the format, this information provides a valuable help to people tracking your trees, and to people trying to trouble-shoot bugs in your tree. 13) When to use Acked-by: and Cc: 13) When to use Acked-by: and Cc: Loading Documentation/cciss.txt +5 −0 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,11 @@ This driver is known to work with the following cards: * SA E200 * SA E200 * SA E200i * SA E200i * SA E500 * SA E500 * SA P212 * SA P410 * SA P410i * SA P411 * SA P812 Detecting drive failures: Detecting drive failures: ------------------------- ------------------------- Loading Documentation/cpusets.txt +6 −3 Original line number Original line Diff line number Diff line Loading @@ -199,7 +199,7 @@ using the sched_setaffinity, mbind and set_mempolicy system calls. The following rules apply to each cpuset: The following rules apply to each cpuset: - Its CPUs and Memory Nodes must be a subset of its parents. - Its CPUs and Memory Nodes must be a subset of its parents. - It can only be marked exclusive if its parent is. - It can't be marked exclusive unless its parent is. - If its cpu or memory is exclusive, they may not overlap any sibling. - If its cpu or memory is exclusive, they may not overlap any sibling. These rules, and the natural hierarchy of cpusets, enable efficient These rules, and the natural hierarchy of cpusets, enable efficient Loading Loading @@ -345,7 +345,7 @@ is modified to perform an inline check for this PF_SPREAD_PAGE task flag, and if set, a call to a new routine cpuset_mem_spread_node() flag, and if set, a call to a new routine cpuset_mem_spread_node() returns the node to prefer for the allocation. returns the node to prefer for the allocation. Similarly, setting 'memory_spread_cache' turns on the flag Similarly, setting 'memory_spread_slab' turns on the flag PF_SPREAD_SLAB, and appropriately marked slab caches will allocate PF_SPREAD_SLAB, and appropriately marked slab caches will allocate pages from the node returned by cpuset_mem_spread_node(). pages from the node returned by cpuset_mem_spread_node(). Loading Loading @@ -709,7 +709,10 @@ Now you want to do something with this cpuset. In this directory you can find several files: In this directory you can find several files: # ls # ls cpus cpu_exclusive mems mem_exclusive mem_hardwall tasks cpu_exclusive memory_migrate mems tasks cpus memory_pressure notify_on_release mem_exclusive memory_spread_page sched_load_balance mem_hardwall memory_spread_slab sched_relax_domain_level Reading them will give you information about the state of this cpuset: Reading them will give you information about the state of this cpuset: the CPUs and Memory Nodes it can use, the processes that are using the CPUs and Memory Nodes it can use, the processes that are using Loading Documentation/filesystems/ext4.txt +10 −2 Original line number Original line Diff line number Diff line Loading @@ -139,8 +139,16 @@ commit=nrsec (*) Ext4 can be told to sync all its data and metadata Setting it to very large values will improve Setting it to very large values will improve performance. performance. barrier=1 This enables/disables barriers. barrier=0 disables barrier=<0|1(*)> This enables/disables the use of write barriers in it, barrier=1 enables it. the jbd code. barrier=0 disables, barrier=1 enables. This also requires an IO stack which can support barriers, and if jbd gets an error on a barrier write, it will disable again with a warning. Write barriers enforce proper on-disk ordering of journal commits, making volatile disk write caches safe to use, at some performance penalty. If your disks are battery-backed in one way or another, disabling barriers may safely improve performance. orlov (*) This enables the new Orlov block allocator. It is orlov (*) This enables the new Orlov block allocator. It is enabled by default. enabled by default. Loading Documentation/kernel-doc-nano-HOWTO.txt +99 −0 Original line number Original line Diff line number Diff line kernel-doc nano-HOWTO kernel-doc nano-HOWTO ===================== ===================== How to format kernel-doc comments --------------------------------- In order to provide embedded, 'C' friendly, easy to maintain, but consistent and extractable documentation of the functions and data structures in the Linux kernel, the Linux kernel has adopted a consistent style for documenting functions and their parameters, and structures and their members. The format for this documentation is called the kernel-doc format. It is documented in this Documentation/kernel-doc-nano-HOWTO.txt file. This style embeds the documentation within the source files, using a few simple conventions. The scripts/kernel-doc perl script, some SGML templates in Documentation/DocBook, and other tools understand these conventions, and are used to extract this embedded documentation into various documents. In order to provide good documentation of kernel functions and data structures, please use the following conventions to format your kernel-doc comments in Linux kernel source. We definitely need kernel-doc formatted documentation for functions that are exported to loadable modules using EXPORT_SYMBOL. We also look to provide kernel-doc formatted documentation for functions externally visible to other kernel files (not marked "static"). We also recommend providing kernel-doc formatted documentation for private (file "static") routines, for consistency of kernel source code layout. But this is lower priority and at the discretion of the MAINTAINER of that kernel source file. Data structures visible in kernel include files should also be documented using kernel-doc formatted comments. The opening comment mark "/**" is reserved for kernel-doc comments. Only comments so marked will be considered by the kernel-doc scripts, and any comment so marked must be in kernel-doc format. Do not use "/**" to be begin a comment block unless the comment block contains kernel-doc formatted comments. The closing comment marker for kernel-doc comments can be either "*/" or "**/". Kernel-doc comments should be placed just before the function or data structure being described. Example kernel-doc function comment: /** * foobar() - short function description of foobar * @arg1: Describe the first argument to foobar. * @arg2: Describe the second argument to foobar. * One can provide multiple line descriptions * for arguments. * * A longer description, with more discussion of the function foobar() * that might be useful to those using or modifying it. Begins with * empty comment line, and may include additional embedded empty * comment lines. * * The longer description can have multiple paragraphs. **/ The first line, with the short description, must be on a single line. The @argument descriptions must begin on the very next line following this opening short function description line, with no intervening empty comment lines. Example kernel-doc data structure comment. /** * struct blah - the basic blah structure * @mem1: describe the first member of struct blah * @mem2: describe the second member of struct blah, * perhaps with more lines and words. * * Longer description of this structure. **/ The kernel-doc function comments describe each parameter to the function, in order, with the @name lines. The kernel-doc data structure comments describe each structure member in the data structure, with the @name lines. The longer description formatting is "reflowed", losing your line breaks. So presenting carefully formatted lists within these descriptions won't work so well; derived documentation will lose the formatting. See the section below "How to add extractable documentation to your source files" for more details and notes on how to format kernel-doc comments. Components of the kernel-doc system ----------------------------------- Many places in the source tree have extractable documentation in the Many places in the source tree have extractable documentation in the form of block comments above functions. The components of this system form of block comments above functions. The components of this system are: are: Loading Loading
Documentation/SubmittingPatches +46 −0 Original line number Original line Diff line number Diff line Loading @@ -327,6 +327,52 @@ Some people also put extra tags at the end. They'll just be ignored for now, but you can do this to mark internal company procedures or just now, but you can do this to mark internal company procedures or just point out some special detail about the sign-off. point out some special detail about the sign-off. If you are a subsystem or branch maintainer, sometimes you need to slightly modify patches you receive in order to merge them, because the code is not exactly the same in your tree and the submitters'. If you stick strictly to rule (c), you should ask the submitter to rediff, but this is a totally counter-productive waste of time and energy. Rule (b) allows you to adjust the code, but then it is very impolite to change one submitter's code and make him endorse your bugs. To solve this problem, it is recommended that you add a line between the last Signed-off-by header and yours, indicating the nature of your changes. While there is nothing mandatory about this, it seems like prepending the description with your mail and/or name, all enclosed in square brackets, is noticeable enough to make it obvious that you are responsible for last-minute changes. Example : Signed-off-by: Random J Developer <random@developer.example.org> [lucky@maintainer.example.org: struct foo moved from foo.c to foo.h] Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org> This practise is particularly helpful if you maintain a stable branch and want at the same time to credit the author, track changes, merge the fix, and protect the submitter from complaints. Note that under no circumstances can you change the author's identity (the From header), as it is the one which appears in the changelog. Special note to back-porters: It seems to be a common and useful practise to insert an indication of the origin of a patch at the top of the commit message (just after the subject line) to facilitate tracking. For instance, here's what we see in 2.6-stable : Date: Tue May 13 19:10:30 2008 +0000 SCSI: libiscsi regression in 2.6.25: fix nop timer handling commit 4cf1043593db6a337f10e006c23c69e5fc93e722 upstream And here's what appears in 2.4 : Date: Tue May 13 22:12:27 2008 +0200 wireless, airo: waitbusy() won't delay [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a] Whatever the format, this information provides a valuable help to people tracking your trees, and to people trying to trouble-shoot bugs in your tree. 13) When to use Acked-by: and Cc: 13) When to use Acked-by: and Cc: Loading
Documentation/cciss.txt +5 −0 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,11 @@ This driver is known to work with the following cards: * SA E200 * SA E200 * SA E200i * SA E200i * SA E500 * SA E500 * SA P212 * SA P410 * SA P410i * SA P411 * SA P812 Detecting drive failures: Detecting drive failures: ------------------------- ------------------------- Loading
Documentation/cpusets.txt +6 −3 Original line number Original line Diff line number Diff line Loading @@ -199,7 +199,7 @@ using the sched_setaffinity, mbind and set_mempolicy system calls. The following rules apply to each cpuset: The following rules apply to each cpuset: - Its CPUs and Memory Nodes must be a subset of its parents. - Its CPUs and Memory Nodes must be a subset of its parents. - It can only be marked exclusive if its parent is. - It can't be marked exclusive unless its parent is. - If its cpu or memory is exclusive, they may not overlap any sibling. - If its cpu or memory is exclusive, they may not overlap any sibling. These rules, and the natural hierarchy of cpusets, enable efficient These rules, and the natural hierarchy of cpusets, enable efficient Loading Loading @@ -345,7 +345,7 @@ is modified to perform an inline check for this PF_SPREAD_PAGE task flag, and if set, a call to a new routine cpuset_mem_spread_node() flag, and if set, a call to a new routine cpuset_mem_spread_node() returns the node to prefer for the allocation. returns the node to prefer for the allocation. Similarly, setting 'memory_spread_cache' turns on the flag Similarly, setting 'memory_spread_slab' turns on the flag PF_SPREAD_SLAB, and appropriately marked slab caches will allocate PF_SPREAD_SLAB, and appropriately marked slab caches will allocate pages from the node returned by cpuset_mem_spread_node(). pages from the node returned by cpuset_mem_spread_node(). Loading Loading @@ -709,7 +709,10 @@ Now you want to do something with this cpuset. In this directory you can find several files: In this directory you can find several files: # ls # ls cpus cpu_exclusive mems mem_exclusive mem_hardwall tasks cpu_exclusive memory_migrate mems tasks cpus memory_pressure notify_on_release mem_exclusive memory_spread_page sched_load_balance mem_hardwall memory_spread_slab sched_relax_domain_level Reading them will give you information about the state of this cpuset: Reading them will give you information about the state of this cpuset: the CPUs and Memory Nodes it can use, the processes that are using the CPUs and Memory Nodes it can use, the processes that are using Loading
Documentation/filesystems/ext4.txt +10 −2 Original line number Original line Diff line number Diff line Loading @@ -139,8 +139,16 @@ commit=nrsec (*) Ext4 can be told to sync all its data and metadata Setting it to very large values will improve Setting it to very large values will improve performance. performance. barrier=1 This enables/disables barriers. barrier=0 disables barrier=<0|1(*)> This enables/disables the use of write barriers in it, barrier=1 enables it. the jbd code. barrier=0 disables, barrier=1 enables. This also requires an IO stack which can support barriers, and if jbd gets an error on a barrier write, it will disable again with a warning. Write barriers enforce proper on-disk ordering of journal commits, making volatile disk write caches safe to use, at some performance penalty. If your disks are battery-backed in one way or another, disabling barriers may safely improve performance. orlov (*) This enables the new Orlov block allocator. It is orlov (*) This enables the new Orlov block allocator. It is enabled by default. enabled by default. Loading
Documentation/kernel-doc-nano-HOWTO.txt +99 −0 Original line number Original line Diff line number Diff line kernel-doc nano-HOWTO kernel-doc nano-HOWTO ===================== ===================== How to format kernel-doc comments --------------------------------- In order to provide embedded, 'C' friendly, easy to maintain, but consistent and extractable documentation of the functions and data structures in the Linux kernel, the Linux kernel has adopted a consistent style for documenting functions and their parameters, and structures and their members. The format for this documentation is called the kernel-doc format. It is documented in this Documentation/kernel-doc-nano-HOWTO.txt file. This style embeds the documentation within the source files, using a few simple conventions. The scripts/kernel-doc perl script, some SGML templates in Documentation/DocBook, and other tools understand these conventions, and are used to extract this embedded documentation into various documents. In order to provide good documentation of kernel functions and data structures, please use the following conventions to format your kernel-doc comments in Linux kernel source. We definitely need kernel-doc formatted documentation for functions that are exported to loadable modules using EXPORT_SYMBOL. We also look to provide kernel-doc formatted documentation for functions externally visible to other kernel files (not marked "static"). We also recommend providing kernel-doc formatted documentation for private (file "static") routines, for consistency of kernel source code layout. But this is lower priority and at the discretion of the MAINTAINER of that kernel source file. Data structures visible in kernel include files should also be documented using kernel-doc formatted comments. The opening comment mark "/**" is reserved for kernel-doc comments. Only comments so marked will be considered by the kernel-doc scripts, and any comment so marked must be in kernel-doc format. Do not use "/**" to be begin a comment block unless the comment block contains kernel-doc formatted comments. The closing comment marker for kernel-doc comments can be either "*/" or "**/". Kernel-doc comments should be placed just before the function or data structure being described. Example kernel-doc function comment: /** * foobar() - short function description of foobar * @arg1: Describe the first argument to foobar. * @arg2: Describe the second argument to foobar. * One can provide multiple line descriptions * for arguments. * * A longer description, with more discussion of the function foobar() * that might be useful to those using or modifying it. Begins with * empty comment line, and may include additional embedded empty * comment lines. * * The longer description can have multiple paragraphs. **/ The first line, with the short description, must be on a single line. The @argument descriptions must begin on the very next line following this opening short function description line, with no intervening empty comment lines. Example kernel-doc data structure comment. /** * struct blah - the basic blah structure * @mem1: describe the first member of struct blah * @mem2: describe the second member of struct blah, * perhaps with more lines and words. * * Longer description of this structure. **/ The kernel-doc function comments describe each parameter to the function, in order, with the @name lines. The kernel-doc data structure comments describe each structure member in the data structure, with the @name lines. The longer description formatting is "reflowed", losing your line breaks. So presenting carefully formatted lists within these descriptions won't work so well; derived documentation will lose the formatting. See the section below "How to add extractable documentation to your source files" for more details and notes on how to format kernel-doc comments. Components of the kernel-doc system ----------------------------------- Many places in the source tree have extractable documentation in the Many places in the source tree have extractable documentation in the form of block comments above functions. The components of this system form of block comments above functions. The components of this system are: are: Loading