diff options
Diffstat (limited to 'Documentation/zh_CN/SubmitChecklist')
| -rw-r--r-- | Documentation/zh_CN/SubmitChecklist | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/Documentation/zh_CN/SubmitChecklist b/Documentation/zh_CN/SubmitChecklist new file mode 100644 index 00000000000..4c741d6bc04 --- /dev/null +++ b/Documentation/zh_CN/SubmitChecklist | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | Chinese translated version of Documentation/SubmitChecklist | ||
| 2 | |||
| 3 | If you have any comment or update to the content, please contact the | ||
| 4 | original document maintainer directly. However, if you have a problem | ||
| 5 | communicating in English you can also ask the Chinese maintainer for | ||
| 6 | help. Contact the Chinese maintainer if this translation is outdated | ||
| 7 | or if there is a problem with the translation. | ||
| 8 | |||
| 9 | Chinese maintainer: Harry Wei <harryxiyou@gmail.com> | ||
| 10 | --------------------------------------------------------------------- | ||
| 11 | Documentation/SubmitChecklist 的中文翻译 | ||
| 12 | |||
| 13 | 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 | ||
| 14 | 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 | ||
| 15 | 译存在问题,请联系中文版维护者。 | ||
| 16 | |||
| 17 | 中文版维护者: 贾威威 Harry Wei <harryxiyou@gmail.com> | ||
| 18 | 中文版翻译者: 贾威威 Harry Wei <harryxiyou@gmail.com> | ||
| 19 | 中文版校译者: 贾威威 Harry Wei <harryxiyou@gmail.com> | ||
| 20 | |||
| 21 | |||
| 22 | 以下为正文 | ||
| 23 | --------------------------------------------------------------------- | ||
| 24 | Linux内核提交清单 | ||
| 25 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 26 | |||
| 27 | 这里有一些内核开发者应该做的基本事情,如果他们想看到自己的内核补丁提交 | ||
| 28 | 被接受的更快。 | ||
| 29 | |||
| 30 | 这些都是超出Documentation/SubmittingPatches文档里所提供的以及其他 | ||
| 31 | 关于提交Linux内核补丁的说明。 | ||
| 32 | |||
| 33 | 1:如果你使用了一个功能那么就#include定义/声明那个功能的那个文件。 | ||
| 34 | 不要依靠其他间接引入定义/声明那个功能的头文件。 | ||
| 35 | |||
| 36 | 2:构建简洁适用或者更改CONFIG选项 =y,=m,或者=n。 | ||
| 37 | 不要有编译警告/错误, 不要有链接警告/错误。 | ||
| 38 | |||
| 39 | 2b:通过 allnoconfig, allmodconfig | ||
| 40 | |||
| 41 | 2c:当使用 0=builddir 成功地构建 | ||
| 42 | |||
| 43 | 3:通过使用本地交叉编译工具或者其他一些构建产所,在多CPU框架上构建。 | ||
| 44 | |||
| 45 | 4:ppc64 是一个很好的检查交叉编译的框架,因为它往往把‘unsigned long’ | ||
| 46 | 当64位值来使用。 | ||
| 47 | |||
| 48 | 5:按照Documentation/CodingStyle文件里的详细描述,检查你补丁的整体风格。 | ||
| 49 | 使用补丁风格检查琐碎的违规(scripts/checkpatch.pl),审核员优先提交。 | ||
| 50 | 你应该调整遗留在你补丁中的所有违规。 | ||
| 51 | |||
| 52 | 6:任何更新或者改动CONFIG选项都不能打乱配置菜单。 | ||
| 53 | |||
| 54 | 7:所有的Kconfig选项更新都要有说明文字。 | ||
| 55 | |||
| 56 | 8:已经认真地总结了相关的Kconfig组合。这是很难通过测试做好的--脑力在这里下降。 | ||
| 57 | |||
| 58 | 9:检查具有简洁性。 | ||
| 59 | |||
| 60 | 10:使用'make checkstack'和'make namespacecheck'检查,然后修改所找到的问题。 | ||
| 61 | 注意:堆栈检查不会明确地出现问题,但是任何的一个函数在堆栈上使用多于512字节 | ||
| 62 | 都要准备修改。 | ||
| 63 | |||
| 64 | 11:包含kernel-doc到全局内核APIs文件。(不要求静态的函数,但是包含也无所谓。) | ||
| 65 | 使用'make htmldocs'或者'make mandocs'来检查kernel-doc,然后修改任何 | ||
| 66 | 发现的问题。 | ||
| 67 | |||
| 68 | 12:已经通过CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT, | ||
| 69 | CONFIG_DEBUG_SLAB, CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES, | ||
| 70 | CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_ATOMIC_SLEEP测试,并且同时都 | ||
| 71 | 使能。 | ||
| 72 | |||
| 73 | 13:已经都构建并且使用或者不使用 CONFIG_SMP 和 CONFIG_PREEMPT测试执行时间。 | ||
| 74 | |||
| 75 | 14:如果补丁影响IO/Disk,等等:已经通过使用或者不使用 CONFIG_LBDAF 测试。 | ||
| 76 | |||
| 77 | 15:所有的codepaths已经行使所有lockdep启用功能。 | ||
| 78 | |||
| 79 | 16:所有的/proc记录更新都要作成文件放在Documentation/目录下。 | ||
| 80 | |||
| 81 | 17:所有的内核启动参数更新都被记录到Documentation/kernel-parameters.txt文件中。 | ||
| 82 | |||
| 83 | 18:所有的模块参数更新都用MODULE_PARM_DESC()记录。 | ||
| 84 | |||
| 85 | 19:所有的用户空间接口更新都被记录到Documentation/ABI/。查看Documentation/ABI/README | ||
| 86 | 可以获得更多的信息。改变用户空间接口的补丁应该被邮件抄送给linux-api@vger.kernel.org。 | ||
| 87 | |||
| 88 | 20:检查它是不是都通过`make headers_check'。 | ||
| 89 | |||
| 90 | 21:已经通过至少引入slab和page-allocation失败检查。查看Documentation/fault-injection/。 | ||
| 91 | |||
| 92 | 22:新加入的源码已经通过`gcc -W'(使用"make EXTRA_CFLAGS=-W")编译。这样将产生很多烦恼, | ||
| 93 | 但是对于寻找漏洞很有益处,例如:"warning: comparison between signed and unsigned"。 | ||
| 94 | |||
| 95 | 23:当它被合并到-mm补丁集后再测试,用来确定它是否还和补丁队列中的其他补丁一起工作以及在VM,VFS | ||
| 96 | 和其他子系统中各个变化。 | ||
| 97 | |||
| 98 | 24:所有的内存屏障{e.g., barrier(), rmb(), wmb()}需要在源代码中的一个注释来解释他们都是干什么的 | ||
| 99 | 以及原因。 | ||
| 100 | |||
| 101 | 25:如果有任何输入输出控制的补丁被添加,也要更新Documentation/ioctl/ioctl-number.txt。 | ||
| 102 | |||
| 103 | 26:如果你的更改代码依靠或者使用任何的内核APIs或者与下面的kconfig符号有关系的功能,你就要 | ||
| 104 | 使用相关的kconfig符号关闭, and/or =m(如果选项提供)[在同一时间不是所用的都启用,仅仅各个或者自由 | ||
| 105 | 组合他们]: | ||
| 106 | |||
| 107 | CONFIG_SMP, CONFIG_SYSFS, CONFIG_PROC_FS, CONFIG_INPUT, CONFIG_PCI, | ||
| 108 | CONFIG_BLOCK, CONFIG_PM, CONFIG_HOTPLUG, CONFIG_MAGIC_SYSRQ, | ||
| 109 | CONFIG_NET, CONFIG_INET=n (后一个使用 CONFIG_NET=y) | ||
