123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- Linux Kernel patch sumbittal checklist
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Here are some basic things that developers should do if they
- want to see their kernel patch submittals accepted quicker.
- These are all above and beyond the documentation that is provided
- in Documentation/SubmittingPatches and elsewhere about submitting
- Linux kernel patches.
- - Builds cleanly with applicable or modified CONFIG options =y, =m, and =n.
- No gcc warnings/errors, no linker warnings/errors.
- - Passes allnoconfig, allmodconfig
- - Builds on multiple CPU arch-es by using local cross-compile tools
- or something like PLM at OSDL.
- - ppc64 is a good architecture for cross-compilation checking because it
- tends to use `unsigned long' for 64-bit quantities.
- - Matches kernel coding style(!)
- - Any new or modified CONFIG options don't muck up the config menu.
- - All new Kconfig options have help text.
- - Has been carefully reviewed with respect to relevant Kconfig
- combinations. This is very hard to get right with testing --
- brainpower pays off here.
- - Check cleanly with sparse.
- - Use 'make checkstack' and 'make namespacecheck' and fix any
- problems that they find. Note: checkstack does not point out
- problems explicitly, but any one function that uses more than
- 512 bytes on the stack is a candidate for change.
- - Include kernel-doc to document global kernel APIs. (Not required
- for static functions, but OK there also.) Use 'make htmldocs'
- or 'make mandocs' to check the kernel-doc and fix any issues.
- - Has been tested with CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT,
- CONFIG_DEBUG_SLAB, CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES,
- CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_SPINLOCK_SLEEP all simultaneously
- enabled.
- - Has been build- and runtime tested with and without CONFIG_SMP and
- CONFIG_PREEMPT.
- - If the patch affects IO/Disk, etc: has been tested with and without
- CONFIG_LBD.
- 2006-APR-27
|