{"id":716,"date":"2012-06-20T19:39:56","date_gmt":"2012-06-20T11:39:56","guid":{"rendered":"http:\/\/www.dogeye.net\/?p=716"},"modified":"2012-06-20T19:39:56","modified_gmt":"2012-06-20T11:39:56","slug":"%e5%a6%82%e4%bd%95%e6%ad%a3%e7%a1%ae%e5%9c%b0%e6%8f%90%e4%ba%a4%e5%86%85%e6%a0%b8%e8%a1%a5%e4%b8%81%e5%8c%85","status":"publish","type":"post","link":"https:\/\/ykyi.net\/?p=716","title":{"rendered":"\u5982\u4f55\u6b63\u786e\u5730\u63d0\u4ea4\u5185\u6838\u8865\u4e01\u5305"},"content":{"rendered":"<p>\u539f\u6587\uff1a<a href=\"https:\/\/lwn.net\/Articles\/500443\/\">https:\/\/lwn.net\/Articles\/500443\/<\/a><\/p>\n<p>\u7ffb\u8bd1\uff1a<a href=\"http:\/\/ykyi.net\">ykyi.net&nbsp;<\/a><\/p>\n<p><span style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Greg Kroah-Hartman(\u53c8Greg KH)\u5728\u6267\u884c\u4e00\u4e2a\u4e86\u4e0d\u8d77\u7684\u4f5c\u52a1\uff1a\u51cf\u5c11\u5185\u6838\u5f00\u53d1\u8005\uff0c\u5c24\u5176\u662f\u7ef4\u62a4\u8005\u7684\u66b4\u8e81\u60c5\u7eea\u3002\u4ed6\u5728\u65e5\u672c\u6a2a\u6ee8\u4e3e\u884c\u7684\u5168\u7403Linux\u5927\u4f1a\u4e0a\u7684\u8bb2\u6f14\u547c\u5401\u516c\u4f17\u7406\u89e3\u5185\u6838\u7ef4\u62a4\u8005\u7684\u5de5\u4f5c\uff0c\u5185\u6838\u8d21\u732e\u8005\u7684\u4ec0\u4e48\u6837\u7684\u884c\u4e3a\u4f1a\u5bfc\u81f4\u5185\u6838\u7ef4\u62a4\u8005\u53d8\u5f97\u66b4\u623e\u3002\u4f46\u662f\uff0c\u5982\u679c\u5185\u6838\u8d21\u732e\u8005\u4eec\u80fd\u591f\u9075\u5b88\u4e00\u4e9b\u7ea6\u675f\uff0c\u4ed6\u4ee3\u8868\u4ed6\u81ea\u5df1\u505a\u4e86\u8bb8\u591a\u627f\u8bfa\u3002<\/span><\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Greg&nbsp;Kroah&nbsp;Hartman\u628aLinux\u5185\u6838\u79f0\u4e4b\u4e3a&quot;\u6709\u53f2\u4ee5\u6765\u6700\u5b8f\u5927\u7684\u8f6f\u4ef6\u5f00\u53d1\u9879\u76ee&quot;\uff0c\u800c\u4e14\u5b83\u7684\u5f00\u53d1\u901f\u5ea6\u4e5f\u662f&ldquo;\u4e98\u53e4\u672a\u6709&rdquo;\u3002\u4ece3.0\u52303.4\uff0c\u6709373\u4e2a\u516c\u53f8\u76842833\u4f4d\u5f00\u53d1\u8005\u53c2\u4e8e\u4e86Linux\u5185\u6838\u7684\u5f00\u53d1\u3002\u8fd9\u4e00\u5e74\uff0c(2011\u5e74\u76845\u6708\u5230\uff0c2012\u5e74\u76845\u6708)\uff0cLinux\u5185\u6838\u5728\u6bcf\u4e2a\u5c0f\u65f6\u4f1a\u67095.79\u5904\u53d8\u52a8\u3002\u800c\u4e14\u8fd9\u4e2a\u5f00\u53d1\u901f\u5ea6\u4ecd\u7136\u8981\u52a0\u901f\uff0c\u5982\u679c\u4f60\u770b\u770b3.4\u7684\u5f00\u53d1\u8fc7\u7a0b\uff0c\u6bcf\u5c0f\u65f6\u5171\u67097.21\u5904\u53d8\u52a8\u3002\u8fd9\u91cc\u6240\u8bf4\u7684\u53d8\u52a8\u4ec5\u4ec5\u6307\u80fd\u591f\u88ab\u5408\u5e76\u5230\u4e3b\u5e72\u7684\u8865\u4e01\u5305\uff0c\u800c\u90a3\u4e9b\u88ab\u62d2\u7edd\u7684\u8865\u4e01\u5305\u6ca1\u6709\u88ab\u7edf\u8ba1\u8fdb\u6765\u3002<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\u8865\u4e01\u5305\u4fee\u6539\u4e86\u54ea\u4e9b\u6587\u4ef6\uff0c\u5185\u6838\u5f00\u53d1\u8005\u5c31\u628a\u8865\u4e01\u5305\u53d1\u7ed9\u8d1f\u8d23\u8fd9\u4e9b\u6587\u4ef6\u7684\u7ef4\u62a4\u8005\u3002\u6240\u4ee5\u7684\u5185\u6838\u7ef4\u62a4\u8005\uff0c\u73b0\u5728\u5927\u6982\u6709700\u4eba\u3002\u4ed6\u4eec\u628a\u6539\u53d8\u5e94\u7528\u5230130\u4e2a\u5b50\u7cfb\u7edf\u7684\u7ef4\u62a4\u8005\u90a3\u91cc\u3002\u518d\u4ece\u5b50\u7cfb\u7edf\u7684\u7ef4\u62a4\u8005\u5230Linus\u7684Linux\u5185\u6838\u4ee3\u7801\u5206\u652f\u3002\u6700\u540e\u5e76\u5fc5Linux\u5185\u6838\u7684\u4e3b\u5e72\u3002\u5982\u679c\u63d0\u4ea4\u7684\u8865\u4e01\u5305\u4e00\u8def\u901a\u8fc7\u7684\u8bdd\u3002<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\u56e0\u6b64\uff0c\u6765\u770b\u770b\u4e3a\u4ec0\u4e48\u4e00\u4e9b\u8865\u4e01\u5305\u4e0d\u4f1a\u88ab\u63a5\u53d7\u5462\uff1fGreg&nbsp;Kroah&nbsp;Hartman\u4ee5\u521a\u8fc7\u53bb\u7684\u4e24\u4e2a\u661f\u671f\u6536\u5230\u7684\u8865\u4e01\u5305\u4e3a\u4f8b\uff0c\u8fd9\u4e24\u4e2a\u661f\u671f\u521a\u597d\u5904\u4e8e3.5\u7248\u672c\u7684Merge Window\u65f6\u95f4\u3002Merge Window\u662f\u4e00\u4e2a\u4ed6\u786e\u4e0d\u5e94\u8be5\u63a5\u6536\u5230\u8bb8\u591a\u8865\u4e01\u5305\u7684\u65f6\u95f4\u6bb5\u3002\u4ed6\u5e94\u8be5\u5728Merge Window\u5f00\u59cb\u524d\u6536\u5230\u6240\u4ee5\u6709\u53ef\u80fd\u4f1a\u5728Merge Window\u5176\u95f4\u88ab\u53d1\u5f80Linux Torvalds\u7684\u8865\u4e01\u5305\u3002\u4e0d\u8fc7\uff0c\u4ed6\u8bf4\u4ed6\u5728\u8fd9\u4e24\u4e2a\u661f\u671f\u7684\u65f6\u95f4\u91cc\u6536\u5230487\u4e2a\u8865\u4e01\u5305\u3002\u5176\u4e2d\u7684\u5927\u591a\u6570\u90fd\u6709\u5f88\u591a\u95ee\u9898\uff0c\u6709\u4e9b\u8865\u4e01\u5305\u6765\u81ea\u90a3\u4e9b\u672c\u5e94\u8be5\u5bf9\u5185\u6838\u6709\u66f4\u597d\u7406\u89e3\u7684\u5185\u6838\u5f00\u53d1\u8005\u4eec\u3002<\/p>\n<h4 style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\u574f\u7684\u8865\u4e01\u5305<\/h4>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Greg KH\u4e3e\u4f8b\u8bf4\u660e\u4e86\u4e00\u4e9b\u4ed6\u6536\u5230\u7684\u574f\u7684\u8865\u4e01\u5305\u3002\u5176\u4e2d\u4e00\u4e2a\u8865\u4e01\u5305\u88ab\u547d\u540d\u4e3a\uff1apatch 48\/48(\u4e00\u4e2a\u670948\u4e2a\u8865\u4e01\u96c6\u7684\u6700\u540e\u4e00\u4e2a)\uff0c\u4f46\u662f\u5176\u5b83\u768447\u4e2a\u90fd\u6ca1\u6709\u3002\u4ed6\u8fd8\u6536\u5230\u4e00\u5806\u8865\u4e01\u4f46\u6ca1\u6709\u5199\u6e05\u695a\u5148\u540e\u987a\u5e8f\u3002\u5982\u6b64\uff0c\u4ed6\u8981\u4e48\u731c\u6d4b\u4e00\u4e2a\u987a\u5e8f\uff0c\u8fd9\u6beb\u65e0\u7591\u95ee\u4f1a\u5931\u8d25\u3002\u53e6\u4e00\u4e2a\u66ff\u4ee3\u65b9\u6848\u5c31\u662f\u5b89\u5168\u4e0d\u7ba1\u8fd9\u4e2a\u8865\u4e01\u4e86\u3002\u53e6\u5916\u8fd8\u6536\u5230\u8fc7\u670910\u4e2a\u8865\u4e01\u7684\u8865\u4e01\u96c6\uff0c\u4f46\u662f2\u53f7\u8865\u4e01\u786e\u4e22\u5931\u4e86\u3002<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\u53e6\u5916\u6709\u4e00\u4e2a\u901a\u8fc7\u90ae\u4ef6\u53d1\u9001\u6765\u7684\u8865\u4e01\u5305\u88ab\u58f0\u660e&ldquo;\u673a\u5bc6&rdquo;\u3002Greg KH\u8bf4\u4ed6\u7ecf\u5e38\u6536\u5230\u6b64\u7c7b\u65b9\u5f0f\u7684\u8865\u4e01\u3002\u5bf9\u4e8e\u6b64\u7c7b\u8865\u4e01\uff0c\u4f60\u65e0\u80fd\u4e3a\u529b\u3002\u56e0\u4e3aLinux\u662f\u5728\u5f00\u653e\u7684\u751f\u6001\u4e2d\u5f00\u53d1\u7684\uff0c\u4f60\u4e0d\u80fd\u591f\u7ed9\u90ae\u4ef6\u5217\u8868\u53d1\u9001\u4e00\u4e2a\u673a\u5bc6\u90ae\u4ef6\u5077\u5077\u5c31\u5408\u5e76\u4e00\u4e2a\u8865\u4e01\u3002\u5f88\u660e\u663e\uff0c\u8fd9\u79cd\u65b9\u5f0f\u53d1\u6765\u7684\u8865\u4e01\u662f\u56e0\u4e3a\u5728\u5904\u7406\u90ae\u4ef6\u9636\u6bb5\u7684\u6a21\u677f\u9020\u6210\u7684\uff0c\u4f46\u662f&#39;\u673a\u5bc6&#39;\u5fc5\u987b\u88ab\u53bb\u6389\u3002<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\u8fd8\u6709\u4e0d\u826f\u6392\u7248\u7684\u8865\u4e01\u5305\u3002\u6bd4\u5982\u6240\u6709\u7684Tab\u7b26\u90fd\u88ab\u8f6c\u6210\u4e86\u7a7a\u683c\uff0cMicrosoft Exchange\u5e38\u5e38\u8fd9\u4e48\u505a\u3002\u5982\u679c\u5bf9\u4e8e\u4f60\uff0c\u5f00\u53d1\u73af\u5883\u662f\u4e2a\u95ee\u9898\u7684\u8bdd\uff0c\u90a3\u53ef\u4ee5\u50cfIBM\uff0cMicrosoft\u6216\u8005\u8fd8\u6709\u5176\u5b83\u516c\u53f8\u90a3\u6837\uff0c\u5728\u89d2\u843d\u91cc\u518d\u653e\u4e00\u53f0Linux\u673a\u5668\u7ed9\u5f00\u53d1\u8005\u7528\u6765\u53d1\u9001\u90ae\u4ef6\u3002\u6709\u65f6\u5019diff\u7684\u8f93\u51fa\u7684\u884c\u524d\u7a7a\u683c\u90fd\u88ab\u5265\u53bb\u4e86\uff0c\u6216\u8005diff\u7684\u8f93\u51fa\u5e76\u4e0d\u662funified\u683c\u5f0f(<a href=\"http:\/\/ykyi.net\/2011\/02\/diff-patch-and-friendsdiff-patch%E5%92%8C%E4%BB%96%E4%BB%AC%E7%9A%84%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7%E7%AC%AC%E4%B8%80%E7%AF%87\/\" target=\"_blank\" rel=\"noopener\">\u89c1\u53e6\u4e00\u7bc7\u535a\u6587\uff0c\u8bb2\u8ff0\u5982\u4f55\u7528diff\u751f\u6210linux\u5185\u6838\u8865\u4e01\u5305<\/a>)\u3002\u867d\u7136\u4e45\u7ecf\u8003\u9a8c\u7684Linux\u5f00\u53d1\u8005\u4eec\u53ef\u4ee5\u719f\u7ec3\u7684\u7f16\u8f91\u539f\u59cbdiff\u8f93\u51fa\u683c\u5f0f\uff0c\u4f46\u662fdiff\u7684\u539f\u59cb\u8f93\u51fa\u672c\u8eab\u662f\u4ef6\u5f88\u4ee4\u4eba\u6050\u6016\u7684\u4e8b\u60c5\uff0c\u4ed6\u4eec\u672c\u4e0d\u5e94\u8be5\u88ab\u5982\u6b64\u5bf9\u5f85\u7f16\u8f91\u5b83\u4eec\u3002<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\u6709\u4e9b\u8865\u4e01\u5305\u662f\u5728\u9519\u8bef\u7684\u76ee\u5f55\u4e0b\u88ab\u521b\u5efa\u7684\uff0c\u6bd4\u5982\u5728\u4e00\u4e2a\u9a71\u52a8\u5668\u76ee\u5f55\u4e0b\u3002\u6709\u4e2a\u8865\u4e01\u5305\u5728\/usr\/src\/linux-2.6.32\u76ee\u5f55\u4e0b\u88ab\u521b\u5efa\uff0c\u4f46\u662f\u8fd9\u4e2a\u8865\u4e01\u5305\u91cc\u9762\u6709\u597d\u4e9b\u9519\u8bef\uff0c\u5305\u62ec\u6e90\u4ee3\u7801\u6811\u7684\u5e74\u9f84\uff0c\u800c\u4e14\u5b83\u9690\u542b\u5047\u8bbe\u5b83\u662f\u5728root\u4e0a\u6784\u5efa\u3002\u5728root\u4e0a\u6784\u5efa\u662f\u76f8\u5f53\u4e4b\u5371\u9669\uff0c\u5982\u679clinux\u7684\u6784\u5efa\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u4e00\u4e2abug\uff0c\u5c31\u6709\u53ef\u4ee5\u628a\u6574\u4e2a\u6587\u4ef6\u7cfb\u7edf\u90fd\u5220\u9664\u3002\u6ca1\u6709\u4e00\u4e2a\u5185\u6838\u6838\u5fc3\u5f00\u53d1\u8005\u7559\u610f\u5230\u4e86\u8fd9\u4e2a\u60c5\u51b5\uff0c\u56e0\u4e3a\u4ed6\u4eec\u6ca1\u6709\u4f7f\u7528root\u3002\u6709\u5efa\u8bae\u8bf4\u628a\u8fd9\u79cdbug\u7559\u4e0b\u6765\u5f53\u6210\u4e00\u79cd\u5a01\u6151\u529b\uff08\u539f\u4f5c\u8005\u5f00\u73a9\u7b11\uff09\uff0c\u81ea\u7136\u4e0d\u4f1a\u88ab\u91c7\u7eb3\uff0c\u4e0d\u8fc7\u90a3\u4e48\u6781\u7aef\u7684\u5371\u9669\u60c5\u51b5\u662f\u771f\u7684\u6709\u53ef\u80fd\u53d1\u751f\u554a\u3002<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\u8fd8\u6709\u79bb\u8c31\u7684\uff0c\u6709\u4e9b\u8865\u4e01\u5305\u662f\u9488\u5bf9\u4e00\u4e2a\u672c\u6765\u4e0e\u8fd9\u4e2a\u8865\u4e01\u5305\u6beb\u65e0\u5173\u7cfb\u7684\u4ee3\u7801\u6811\u3002Greg KH\u8bf4\u4ed6\u66fe\u7ecf\u6536\u5230\u4e00\u4e2a\u8865\u4e01\u5305\u9488\u5bf9SCSI\u4ee3\u7801\u6811\uff0c\u5b9e\u5728\u60f3\u4e0d\u901a\u8fd9\u4e2a\u4e0eSCSI\u6beb\u65e0\u5173\u7cfb\u7684\u8865\u4e01\u5173\u600e\u4e48\u4f1a\u9488\u5bf9SCSI\u4ee3\u7801\u6811\u521b\u5efa\u3002<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\u7136\u540e\u8fd8\u6709\u4ee3\u7801\u98ce\u683c\u7684\u95ee\u9898\u3002\u6709\u4e9b\u8865\u4e01\u5305\u6ca1\u6709\u4f7f\u7528Linux\u5185\u6838\u7684\u4ee3\u7801\u98ce\u683c\u3002\u63d0\u4ea4\u8865\u4e01\u5305\u7684\u5f00\u53d1\u8005\u4e5f\u77e5\u6653\u8fd9\u4e2a\u95ee\u9898\uff0c\u4f46\u662f\u4ed6\u4eec\u4f3c\u4e4e\u5728\u8bf4&ldquo;\u6211\u4e0d\u7ba1\uff0c\u8ba9\u6211\u7684\u4ee3\u7801\u901a\u8fc7\u5427\uff01&rdquo;Greg KH\u8bf4\uff0c\u73b0\u6709\u4e00\u4e9b\u5de5\u5177\u53ef\u4ee5\u5e2e\u52a9\u5b9a\u4f4d\u5230\u6709\u8fd9\u4e9b\u95ee\u9898\u7684\u4ee3\u7801\u5e76\u4fee\u590d\u5b83\u4eec\u3002\u6240\u4ee5\uff0c\u6ca1\u6709\u4efb\u4f55\u501f\u53e3\u53d1\u9001\u4e0d\u7b26\u5408\u4ee3\u7801\u98ce\u683c\u7684\u8865\u4e01\u5305\u3002<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Greg KH\u8fd8\u7740\u91cd\u8bf4\u4e86\u7f16\u8bd1\u4e0d\u80fd\u901a\u8fc7\u7684\u95ee\u9898\u3002\u4ed6\u8bf4\uff0c\u6709\u4e9b\u5185\u6838\u5185\u6838\u8d21\u732e\u8005\u628a\u4e0d\u80fd\u901a\u8fc7\u7f16\u8bd1\u7684\u8865\u4e01\u5305\u4e5f\u53d1\u8fc7\u6765\u3002\u6216\u8005\u6709\u4e9b\u8865\u4e01\u5305\u96c63\/6\u5931\u8d25\u4e86\uff0c\u57286\/6\u4fee\u590d\u4e86\u3002\u6211\u751a\u4e8e\u6536\u5230\u8fc7\u8865\u4e01\u5305\u57285\/8\u5931\u8d25\uff0c\u4f46\u662f\u4f5c\u8005\u9644\u5e26\u4e86\u4e00\u4e2a\u8bf4\u660e\u8bf4\u4f5c\u8005\u5728\u672a\u6765\u67d0\u4e2a\u65f6\u5019\u4f1a\u53d1\u6765\u6539\u6b63\u65b9\u6848\u3002\u53e6\u5916\u8fd8\u6709\u8865\u4e01\u5305\u5f88\u660e\u663e\u6ca1\u6709\u6b63\u786e\u7684\u5185\u6838\u6587\u6863\u90e8\u5206\uff0c\u56e0\u4e3a\u5728\u6784\u5efa\u6587\u6863\u7684\u65f6\u5019\u4f1a\u5931\u8d25\uff0c\u5f88\u660e\u663e\u8865\u4e01\u5305\u7684\u521b\u5efa\u8005\u6839\u672c\u5c31\u6ca1\u6709\u8fd0\u884c\u8fc7\u5185\u6838\u6587\u6863\u62bd\u53d6\u5de5\u5177\u3002(\u4e0d\u60f3\u8bd1\u4e86\uff0c\u592a\u591a\u4e86&#8230;\u545c~~\u7d2f\u6b7b\u4e86.)<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">One of the patches he got &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">had nothing to do with me<\/span>&quot;. It was an x86 core kernel patch, which is not an area of the kernel he has ever dealt with. But the patch was sent only to him. &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">I get odd patches<\/span>&quot; a lot, he said.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">The last patch he mentioned was 450K in size, with 4500 lines added. Somebody suggested that it be broken up, but in the meantime several maintainers actually reviewed it, so the submitter didn&#39;t really learn from that mistake.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">All of this occurred during a &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">calm two weeks<\/span>&quot;, he said. These are examples of what maintainers deal with on a weekly basis and explains why they can be grumpy. That said, he did note that this is the &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">best job I&#39;ve ever had<\/span>&quot;, but that&#39;s not to say it couldn&#39;t be improved.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">If someone sends him a patch and he accepts it, that means he may have to maintain it and fix bugs in it down the road. So it&#39;s in his self interest to ignore the patch, which is an interesting dynamic, he said. The way around that is to &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">give me no excuse to reject your patch<\/span>&quot;; it is as simple as that, really.<\/p>\n<h4 style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Rules<\/h4>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Kroah-Hartman then laid out the rules that contributors need to follow in order to avoid the kinds of problems he described. Use&nbsp;<tt>checkpatch.pl<\/tt>, he said, because he will run it on your patch and it is a waste of his time to have to forward the results back when it fails. Send the patch to the right people and there is even a script available (<tt>get_maintainer.pl<\/tt>) to list the proper people and mailing lists where a patch should be sent.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Send the patch with a proper subject that is &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">short, sweet, and descriptive<\/span>&quot; because it is going to be in the kernel changelog. It should not be something like &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">fix bugs in driver 1\/10<\/span>&quot;. In addition, the changelog comment should clearly say what the patch does, but also&nbsp;<i>why<\/i>&nbsp;it is needed.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Make small changes in patches. You don&#39;t replace the scheduler in one patch, he said, you do it over five years. Small patches make it easier for reviewers and easier for maintainers to accept. In a ten-patch series, he might accept the first three, which means that the submitter just needs to continue working on the last seven. The best thing to do is to make the patch &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">obviously correct<\/span>&quot;, which makes it easy for a maintainer to accept it.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Echoing the problems he listed earlier, he said that patches should say what tree they are based on. In addition, the order of the patches is important, as is not breaking the build. The latter &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">seems like it would be obvious<\/span>&quot; but he has seen too many patches that fail that test. To the extent that you can, make sure that the patch works. It is fine to submit patches for hardware that you don&#39;t have access to, but you should test on any hardware that you do have.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Review comments should not be ignored, he said. It is simply common courtesy if he takes time to review the code that those comments should be acted upon or responded to. It&#39;s fine to disagree with review comments, but submitters need to say why they disagree. If a patch gets resent, it should be accompanied with a reason for doing so. When reviewer&#39;s comments are ignored, they are unlikely to review code the next time.<\/p>\n<h4 style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Maintainer&#39;s role<\/h4>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">When you follow those rules there are certain things you can expect from him, Kroah-Hartman said, and that you should expect from the other maintainers as well. That statement may make other maintainers mad, he joked, but it is reasonable to expect certain things. For his part, he will review patches within one or two weeks. Other maintainers do an even better job than that, he said, specifically pointing to David Miller as one who often reviews code within 48 hours of its submission. If you don&#39;t get a response to a patch within a week, it is fine to ask him what the status is.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">He can&#39;t promise that he will always give constructive criticism, but he will always give &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">semi-constructive criticism<\/span>&quot;. Sometimes he is tired or grumpy, so he can&#39;t quite get to the full &quot;constructive&quot; level. He will also keep submitters informed of the status of their patch. He has scripts that will help him do so, and let the submitter know when the patch gets merged into his tree or accepted into the mainline. That is unlike some other maintainers, he said, where he has submitted patches that just drop into a &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">big black hole<\/span>&quot; before eventually popping up in the mainline three months later.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">He ended by putting up a&nbsp;<a href=\"https:\/\/lwn.net\/Articles\/490383\/\" style=\"text-decoration: none; color: rgb(0, 0, 139); \">quote from Torvalds<\/a>&nbsp;(&quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">Publicly making fun of people is half the fun of open source programming. &#8230;<\/span>&quot;) that was made as a comment on one of Kroah-Hartman&#39;s Google+ postings. The&nbsp;<a href=\"https:\/\/plus.google.com\/111049168280159033135\/posts\/5YtkxtuRXTy\" style=\"text-decoration: none; color: rgb(0, 0, 139); \">post<\/a>&nbsp;was a rant about a driver that had been submitted, which even contained comments suggesting that it should not be submitted upstream. He felt bad about publicly posting that at first, but Torvalds&#39;s comment made him rethink that.<\/p>\n<p style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Because kernel development is done in the open, we are taking &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">personal pride in the work we do<\/span>&quot;. As the code comment indicated, the driver developer didn&#39;t think it should be submitted because they realized the code was not in the proper shape to do so. It is that pride in the work that &quot;<span style=\"color: rgb(139, 0, 0); background-color: white; \">makes Linux the best engineering project ever<\/span>&quot;, he said. Sometimes public mocking is part of the process and can actually help instill that pride more widely.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u539f\u6587\uff1ahttps:\/\/lwn.net\/Articles\/500443\/ \u7ffb\u8bd1\uff1aykyi.net&nbsp; Greg Kroah-Hartman(\u53c8Greg KH)\u5728\u6267\u884c\u4e00\u4e2a\u4e86\u4e0d\u8d77\u7684\u4f5c\u52a1\uff1a\u51cf\u5c11\u5185\u6838\u5f00\u53d1\u8005\uff0c\u5c24\u5176\u662f\u7ef4\u62a4\u8005\u7684\u66b4\u8e81\u60c5\u7eea\u3002\u4ed6\u5728\u65e5\u672c\u6a2a\u6ee8\u4e3e\u884c\u7684\u5168\u7403Linux\u5927\u4f1a\u4e0a\u7684\u8bb2\u6f14\u547c\u5401\u516c\u4f17\u7406\u89e3\u5185\u6838\u7ef4\u62a4\u8005\u7684\u5de5\u4f5c\uff0c\u5185\u6838\u8d21\u732e\u8005\u7684\u4ec0\u4e48\u6837\u7684\u884c\u4e3a\u4f1a\u5bfc\u81f4\u5185\u6838\u7ef4\u62a4\u8005\u53d8\u5f97\u66b4\u623e\u3002\u4f46\u662f\uff0c\u5982\u679c\u5185\u6838\u8d21\u732e\u8005\u4eec\u80fd\u591f\u9075\u5b88\u4e00\u4e9b\u7ea6\u675f\uff0c\u4ed6\u4ee3\u8868\u4ed6\u81ea\u5df1\u505a\u4e86\u8bb8\u591a\u627f\u8bfa\u3002 Greg&nbsp;Kroah&nbsp;Hartman\u628aLinux\u5185\u6838\u79f0\u4e4b\u4e3a&quot;\u6709\u53f2\u4ee5\u6765\u6700\u5b8f\u5927\u7684\u8f6f\u4ef6\u5f00\u53d1\u9879\u76ee&quot;\uff0c\u800c\u4e14\u5b83\u7684\u5f00\u53d1\u901f\u5ea6\u4e5f\u662f&ldquo;\u4e98\u53e4\u672a\u6709&rdquo;\u3002\u4ece3.0\u52303.4\uff0c\u6709373\u4e2a\u516c\u53f8\u76842833\u4f4d\u5f00\u53d1\u8005\u53c2\u4e8e\u4e86Linux\u5185\u6838\u7684\u5f00\u53d1\u3002\u8fd9\u4e00\u5e74\uff0c(2011\u5e74\u76845\u6708\u5230\uff0c2012\u5e74\u76845\u6708)\uff0cLinux\u5185\u6838\u5728\u6bcf\u4e2a\u5c0f\u65f6\u4f1a\u67095.79\u5904\u53d8\u52a8\u3002\u800c\u4e14\u8fd9\u4e2a\u5f00\u53d1\u901f\u5ea6\u4ecd\u7136\u8981\u52a0\u901f\uff0c\u5982\u679c\u4f60\u770b\u770b3.4\u7684\u5f00\u53d1\u8fc7\u7a0b\uff0c\u6bcf\u5c0f\u65f6\u5171\u67097.21\u5904\u53d8\u52a8\u3002\u8fd9\u91cc\u6240\u8bf4\u7684\u53d8\u52a8\u4ec5\u4ec5\u6307\u80fd\u591f\u88ab\u5408\u5e76\u5230\u4e3b\u5e72\u7684\u8865\u4e01\u5305\uff0c\u800c\u90a3\u4e9b\u88ab\u62d2\u7edd\u7684\u8865\u4e01\u5305\u6ca1\u6709\u88ab\u7edf\u8ba1\u8fdb\u6765\u3002 \u8865\u4e01\u5305\u4fee\u6539\u4e86\u54ea\u4e9b\u6587\u4ef6\uff0c\u5185\u6838\u5f00\u53d1\u8005\u5c31\u628a\u8865\u4e01\u5305\u53d1\u7ed9\u8d1f\u8d23\u8fd9\u4e9b\u6587\u4ef6\u7684\u7ef4\u62a4\u8005\u3002\u6240\u4ee5\u7684\u5185\u6838\u7ef4\u62a4\u8005\uff0c\u73b0\u5728\u5927\u6982\u6709700\u4eba\u3002\u4ed6\u4eec\u628a\u6539\u53d8\u5e94\u7528\u5230130\u4e2a\u5b50\u7cfb\u7edf\u7684\u7ef4\u62a4\u8005\u90a3\u91cc\u3002\u518d\u4ece\u5b50\u7cfb\u7edf\u7684\u7ef4\u62a4\u8005\u5230Linus\u7684Linux\u5185\u6838\u4ee3\u7801\u5206\u652f\u3002\u6700\u540e\u5e76\u5fc5Linux\u5185\u6838\u7684\u4e3b\u5e72\u3002\u5982\u679c\u63d0\u4ea4\u7684\u8865\u4e01\u5305\u4e00\u8def\u901a\u8fc7\u7684\u8bdd\u3002 \u56e0\u6b64\uff0c\u6765\u770b\u770b\u4e3a\u4ec0\u4e48\u4e00\u4e9b\u8865\u4e01\u5305\u4e0d\u4f1a\u88ab\u63a5\u53d7\u5462\uff1fGreg&nbsp;Kroah&nbsp;Hartman\u4ee5\u521a\u8fc7\u53bb\u7684\u4e24\u4e2a\u661f\u671f\u6536\u5230\u7684\u8865\u4e01\u5305\u4e3a\u4f8b\uff0c\u8fd9\u4e24\u4e2a\u661f\u671f\u521a\u597d\u5904\u4e8e3.5\u7248\u672c\u7684Merge Window\u65f6\u95f4\u3002Merge Window\u662f\u4e00\u4e2a\u4ed6\u786e\u4e0d\u5e94\u8be5\u63a5\u6536\u5230\u8bb8\u591a\u8865\u4e01\u5305\u7684\u65f6\u95f4\u6bb5\u3002\u4ed6\u5e94\u8be5\u5728Merge Window\u5f00\u59cb\u524d\u6536\u5230\u6240\u4ee5\u6709\u53ef\u80fd\u4f1a\u5728Merge Window\u5176\u95f4\u88ab\u53d1\u5f80Linux Torvalds\u7684\u8865\u4e01\u5305\u3002\u4e0d\u8fc7\uff0c\u4ed6\u8bf4\u4ed6\u5728\u8fd9\u4e24\u4e2a\u661f\u671f\u7684\u65f6\u95f4\u91cc\u6536\u5230487\u4e2a\u8865\u4e01\u5305\u3002\u5176\u4e2d\u7684\u5927\u591a\u6570\u90fd\u6709\u5f88\u591a\u95ee\u9898\uff0c\u6709\u4e9b\u8865\u4e01\u5305\u6765\u81ea\u90a3\u4e9b\u672c\u5e94\u8be5\u5bf9\u5185\u6838\u6709\u66f4\u597d\u7406\u89e3\u7684\u5185\u6838\u5f00\u53d1\u8005\u4eec\u3002 \u574f\u7684\u8865\u4e01\u5305 Greg KH\u4e3e\u4f8b\u8bf4\u660e\u4e86\u4e00\u4e9b\u4ed6\u6536\u5230\u7684\u574f\u7684\u8865\u4e01\u5305\u3002\u5176\u4e2d\u4e00\u4e2a\u8865\u4e01\u5305\u88ab\u547d\u540d\u4e3a\uff1apatch 48\/48(\u4e00\u4e2a\u670948\u4e2a\u8865\u4e01\u96c6\u7684\u6700\u540e\u4e00\u4e2a)\uff0c\u4f46\u662f\u5176\u5b83\u768447\u4e2a\u90fd\u6ca1\u6709\u3002\u4ed6\u8fd8\u6536\u5230\u4e00\u5806\u8865\u4e01\u4f46\u6ca1\u6709\u5199\u6e05\u695a\u5148\u540e\u987a\u5e8f\u3002\u5982\u6b64\uff0c\u4ed6\u8981\u4e48\u731c\u6d4b\u4e00\u4e2a\u987a\u5e8f\uff0c\u8fd9\u6beb\u65e0\u7591\u95ee\u4f1a\u5931\u8d25\u3002\u53e6\u4e00\u4e2a\u66ff\u4ee3\u65b9\u6848\u5c31\u662f\u5b89\u5168\u4e0d\u7ba1\u8fd9\u4e2a\u8865\u4e01\u4e86\u3002\u53e6\u5916\u8fd8\u6536\u5230\u8fc7\u670910\u4e2a\u8865\u4e01\u7684\u8865\u4e01\u96c6\uff0c\u4f46\u662f2\u53f7\u8865\u4e01\u786e\u4e22\u5931\u4e86\u3002 \u53e6\u5916\u6709\u4e00\u4e2a\u901a\u8fc7\u90ae\u4ef6\u53d1\u9001\u6765\u7684\u8865\u4e01\u5305\u88ab\u58f0\u660e&ldquo;\u673a\u5bc6&rdquo;\u3002Greg KH\u8bf4\u4ed6\u7ecf\u5e38\u6536\u5230\u6b64\u7c7b\u65b9\u5f0f\u7684\u8865\u4e01\u3002\u5bf9\u4e8e\u6b64\u7c7b\u8865\u4e01\uff0c\u4f60\u65e0\u80fd\u4e3a\u529b\u3002\u56e0\u4e3aLinux\u662f\u5728\u5f00\u653e\u7684\u751f\u6001\u4e2d\u5f00\u53d1\u7684\uff0c\u4f60\u4e0d\u80fd\u591f\u7ed9\u90ae\u4ef6\u5217\u8868\u53d1\u9001\u4e00\u4e2a\u673a\u5bc6\u90ae\u4ef6\u5077\u5077\u5c31\u5408\u5e76\u4e00\u4e2a\u8865\u4e01\u3002\u5f88\u660e\u663e\uff0c\u8fd9\u79cd\u65b9\u5f0f\u53d1\u6765\u7684\u8865\u4e01\u662f\u56e0\u4e3a\u5728\u5904\u7406\u90ae\u4ef6\u9636\u6bb5\u7684\u6a21\u677f\u9020\u6210\u7684\uff0c\u4f46\u662f&#39;\u673a\u5bc6&#39;\u5fc5\u987b\u88ab\u53bb\u6389\u3002 \u8fd8\u6709\u4e0d\u826f\u6392\u7248\u7684\u8865\u4e01\u5305\u3002\u6bd4\u5982\u6240\u6709\u7684Tab\u7b26\u90fd\u88ab\u8f6c\u6210\u4e86\u7a7a\u683c\uff0cMicrosoft Exchange\u5e38\u5e38\u8fd9\u4e48\u505a\u3002\u5982\u679c\u5bf9\u4e8e\u4f60\uff0c\u5f00\u53d1\u73af\u5883\u662f\u4e2a\u95ee\u9898\u7684\u8bdd\uff0c\u90a3\u53ef\u4ee5\u50cfIBM\uff0cMicrosoft\u6216\u8005\u8fd8\u6709\u5176\u5b83\u516c\u53f8\u90a3\u6837\uff0c\u5728\u89d2\u843d\u91cc\u518d\u653e\u4e00\u53f0Linux\u673a\u5668\u7ed9\u5f00\u53d1\u8005\u7528\u6765\u53d1\u9001\u90ae\u4ef6\u3002\u6709\u65f6\u5019diff\u7684\u8f93\u51fa\u7684\u884c\u524d\u7a7a\u683c\u90fd\u88ab\u5265\u53bb\u4e86\uff0c\u6216\u8005diff\u7684\u8f93\u51fa\u5e76\u4e0d\u662funified\u683c\u5f0f(\u89c1\u53e6\u4e00\u7bc7\u535a\u6587\uff0c\u8bb2\u8ff0\u5982\u4f55\u7528diff\u751f\u6210linux\u5185\u6838\u8865\u4e01\u5305)\u3002\u867d\u7136\u4e45\u7ecf\u8003\u9a8c\u7684Linux\u5f00\u53d1\u8005\u4eec\u53ef\u4ee5\u719f\u7ec3\u7684\u7f16\u8f91\u539f\u59cbdiff\u8f93\u51fa\u683c\u5f0f\uff0c\u4f46\u662fdiff\u7684\u539f\u59cb\u8f93\u51fa\u672c\u8eab\u662f\u4ef6\u5f88\u4ee4\u4eba\u6050\u6016\u7684\u4e8b\u60c5\uff0c\u4ed6\u4eec\u672c\u4e0d\u5e94\u8be5\u88ab\u5982\u6b64\u5bf9\u5f85\u7f16\u8f91\u5b83\u4eec\u3002 \u6709\u4e9b\u8865\u4e01\u5305\u662f\u5728\u9519\u8bef\u7684\u76ee\u5f55\u4e0b\u88ab\u521b\u5efa\u7684\uff0c\u6bd4\u5982\u5728\u4e00\u4e2a\u9a71\u52a8\u5668\u76ee\u5f55\u4e0b\u3002\u6709\u4e2a\u8865\u4e01\u5305\u5728\/usr\/src\/linux-2.6.32\u76ee\u5f55\u4e0b\u88ab\u521b\u5efa\uff0c\u4f46\u662f\u8fd9\u4e2a\u8865\u4e01\u5305\u91cc\u9762\u6709\u597d\u4e9b\u9519\u8bef\uff0c\u5305\u62ec\u6e90\u4ee3\u7801\u6811\u7684\u5e74\u9f84\uff0c\u800c\u4e14\u5b83\u9690\u542b\u5047\u8bbe\u5b83\u662f\u5728root\u4e0a\u6784\u5efa\u3002\u5728root\u4e0a\u6784\u5efa\u662f\u76f8\u5f53\u4e4b\u5371\u9669\uff0c\u5982\u679clinux\u7684\u6784\u5efa\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u4e00\u4e2abug\uff0c\u5c31\u6709\u53ef\u4ee5\u628a\u6574\u4e2a\u6587\u4ef6\u7cfb\u7edf\u90fd\u5220\u9664\u3002\u6ca1\u6709\u4e00\u4e2a\u5185\u6838\u6838\u5fc3\u5f00\u53d1\u8005\u7559\u610f\u5230\u4e86\u8fd9\u4e2a\u60c5\u51b5\uff0c\u56e0\u4e3a\u4ed6\u4eec\u6ca1\u6709\u4f7f\u7528root\u3002\u6709\u5efa\u8bae\u8bf4\u628a\u8fd9\u79cdbug\u7559\u4e0b\u6765\u5f53\u6210\u4e00\u79cd\u5a01\u6151\u529b\uff08\u539f\u4f5c\u8005\u5f00\u73a9\u7b11\uff09\uff0c\u81ea\u7136\u4e0d\u4f1a\u88ab\u91c7\u7eb3\uff0c\u4e0d\u8fc7\u90a3\u4e48\u6781\u7aef\u7684\u5371\u9669\u60c5\u51b5\u662f\u771f\u7684\u6709\u53ef\u80fd\u53d1\u751f\u554a\u3002 \u8fd8\u6709\u79bb\u8c31\u7684\uff0c\u6709\u4e9b\u8865\u4e01\u5305\u662f\u9488\u5bf9\u4e00\u4e2a\u672c\u6765\u4e0e\u8fd9\u4e2a\u8865\u4e01\u5305\u6beb\u65e0\u5173\u7cfb\u7684\u4ee3\u7801\u6811\u3002Greg KH\u8bf4\u4ed6\u66fe\u7ecf\u6536\u5230\u4e00\u4e2a\u8865\u4e01\u5305\u9488\u5bf9SCSI\u4ee3\u7801\u6811\uff0c\u5b9e\u5728\u60f3\u4e0d\u901a\u8fd9\u4e2a\u4e0eSCSI\u6beb\u65e0\u5173\u7cfb\u7684\u8865\u4e01\u5173\u600e\u4e48\u4f1a\u9488\u5bf9SCSI\u4ee3\u7801\u6811\u521b\u5efa\u3002 \u7136\u540e\u8fd8\u6709\u4ee3\u7801\u98ce\u683c\u7684\u95ee\u9898\u3002\u6709\u4e9b\u8865\u4e01\u5305\u6ca1\u6709\u4f7f\u7528Linux\u5185\u6838\u7684\u4ee3\u7801\u98ce\u683c\u3002\u63d0\u4ea4\u8865\u4e01\u5305\u7684\u5f00\u53d1\u8005\u4e5f\u77e5\u6653\u8fd9\u4e2a\u95ee\u9898\uff0c\u4f46\u662f\u4ed6\u4eec\u4f3c\u4e4e\u5728\u8bf4&ldquo;\u6211\u4e0d\u7ba1\uff0c\u8ba9\u6211\u7684\u4ee3\u7801\u901a\u8fc7\u5427\uff01&rdquo;Greg KH\u8bf4\uff0c\u73b0\u6709\u4e00\u4e9b\u5de5\u5177\u53ef\u4ee5\u5e2e\u52a9\u5b9a\u4f4d\u5230\u6709\u8fd9\u4e9b\u95ee\u9898\u7684\u4ee3\u7801\u5e76\u4fee\u590d\u5b83\u4eec\u3002\u6240\u4ee5\uff0c\u6ca1\u6709\u4efb\u4f55\u501f\u53e3\u53d1\u9001\u4e0d\u7b26\u5408\u4ee3\u7801\u98ce\u683c\u7684\u8865\u4e01\u5305\u3002 Greg KH\u8fd8\u7740\u91cd\u8bf4\u4e86\u7f16\u8bd1\u4e0d\u80fd\u901a\u8fc7\u7684\u95ee\u9898\u3002\u4ed6\u8bf4\uff0c\u6709\u4e9b\u5185\u6838\u5185\u6838\u8d21\u732e\u8005\u628a\u4e0d\u80fd\u901a\u8fc7\u7f16\u8bd1\u7684\u8865\u4e01\u5305\u4e5f\u53d1\u8fc7\u6765\u3002\u6216\u8005\u6709\u4e9b\u8865\u4e01\u5305\u96c63\/6\u5931\u8d25\u4e86\uff0c\u57286\/6\u4fee\u590d\u4e86\u3002\u6211\u751a\u4e8e\u6536\u5230\u8fc7\u8865\u4e01\u5305\u57285\/8\u5931\u8d25\uff0c\u4f46\u662f\u4f5c\u8005\u9644\u5e26\u4e86\u4e00\u4e2a\u8bf4\u660e\u8bf4\u4f5c\u8005\u5728\u672a\u6765\u67d0\u4e2a\u65f6\u5019\u4f1a\u53d1\u6765\u6539\u6b63\u65b9\u6848\u3002\u53e6\u5916\u8fd8\u6709\u8865\u4e01\u5305\u5f88\u660e\u663e\u6ca1\u6709\u6b63\u786e\u7684\u5185\u6838\u6587\u6863\u90e8\u5206\uff0c\u56e0\u4e3a\u5728\u6784\u5efa\u6587\u6863\u7684\u65f6\u5019\u4f1a\u5931\u8d25\uff0c\u5f88\u660e\u663e\u8865\u4e01\u5305\u7684\u521b\u5efa\u8005\u6839\u672c\u5c31\u6ca1\u6709\u8fd0\u884c\u8fc7\u5185\u6838\u6587\u6863\u62bd\u53d6\u5de5\u5177\u3002(\u4e0d\u60f3\u8bd1\u4e86\uff0c\u592a\u591a\u4e86&#8230;\u545c~~\u7d2f\u6b7b\u4e86.) One of the patches he got &quot;had nothing to do with me&quot;. It was an x86 core kernel patch, which is not an area of the kernel &hellip; <a href=\"https:\/\/ykyi.net\/?p=716\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;\u5982\u4f55\u6b63\u786e\u5730\u63d0\u4ea4\u5185\u6838\u8865\u4e01\u5305&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,7],"tags":[52],"class_list":["post-716","post","type-post","status-publish","format-standard","hentry","category-tech_articles","category-unix_linux","tag-linux-kernel"],"_links":{"self":[{"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/posts\/716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ykyi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=716"}],"version-history":[{"count":0,"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/posts\/716\/revisions"}],"wp:attachment":[{"href":"https:\/\/ykyi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ykyi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ykyi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}