เจชเฉˆเจšเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจฆเฉ‡ เจจเจฟเจฐเจฎเจพเจฃ เจจเฉ‚เฉฐ 50-80% เจคเฉฑเจ• เจคเฉ‡เจœเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

Ingo Molnar, เจ‡เฉฑเจ• เจฎเจธเจผเจนเฉ‚เจฐ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจ…เจคเฉ‡ CFS (เจ•เฉฐเจชเจฒเฉ€เจŸเจฒเฉ€ เจซเฉ‡เจ…เจฐ เจธเจผเจกเจฟเจŠเจฒเจฐ) เจŸเจพเจธเจ• เจธเจผเจกเจฟเจŠเจฒเจฐ เจฆเฉ‡ เจฒเฉ‡เจ–เจ•, เจจเฉ‡ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจฎเฉ‡เจฒเจฟเฉฐเจ— เจฒเจฟเจธเจŸ 'เจคเฉ‡ เจšเจฐเจšเจพ เจฒเจˆ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจฒเฉœเฉ€ เจนเฉˆ เจœเฉ‹ เจ•เจฐเจจเจฒ เจธเจฐเฉ‹เจคเจพเจ‚ เจตเจฟเฉฑเจš เจ…เฉฑเจงเฉ‡ เจคเฉ‹เจ‚ เจตเฉฑเจง เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ 50-80% เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจธเฉฐเจชเฉ‚เจฐเจจ เจ•เจฐเจจเจฒ เจฐเฉ€เจฌเจฟเจฒเจก เจฆเฉ€ เจ—เจคเฉ€ เจตเจฟเฉฑเจš เจตเจพเจงเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเฉ‹เฅค เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ เจ‡เจธ เจตเจฟเฉฑเจš เจ•เจฐเจจเจฒ เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจ‡เจคเจฟเจนเจพเจธ เจตเจฟเฉฑเจš เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจกเฉ‡ เจฌเจฆเจฒเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเจพ เจธเจผเจพเจฎเจฒ เจนเฉˆ - 2297 เจชเฉˆเจšเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฒเจˆ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, 25 เจนเจœเจผเจพเจฐ เจคเฉ‹เจ‚ เจตเฉฑเจง เจซเจพเจˆเจฒเจพเจ‚ ("เจธเจผเจพเจฎเจฒ/" เจตเจฟเฉฑเจš 10 เจนเจœเจผเจพเจฐ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ. เจ…เจคเฉ‡ โ€œarch/*/include/โ€เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚โ€ เจ…เจคเฉ‡ เจธเจฐเฉ‹เจค เจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจจเจพเจฒ 15 เจนเจœเจผเจพเจฐ เจซเจพเจˆเจฒเจพเจ‚)เฅค

เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฆเฉ€ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจ•เฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฒเจพเจญ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ. เจ‡เจน เจจเฉ‹เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจ•เจฐเจจเจฒ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจคเฉ€เจน เจธเจพเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง, เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฐ-เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ เจจเจฟเจฐเจพเจธเจผเจพเจœเจจเจ• เจฐเฉ‚เจช เจฒเฉˆ เจ—เจˆ เจนเฉˆเฅค เจธเจฟเจฐเจฒเฉ‡เจ– เจซเจพเจˆเจฒ เจฆเฉ‡ เจชเฉเจจเจฐเจ—เจ เจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจพเจฒ เจคเฉ‹เจ‚ เจตเฉฑเจง เจฆเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจพ เจ…เจคเฉ‡ เจฒเฉœเฉ€เจตเจพเจฐ เจ…เจคเฉ‡ เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ‡ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฎเฉเฉœ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€เฅค เจชเฉเจจเจฐเจ—เจ เจจ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฐเจจเจฒ เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจฒเจˆ เจŸเจพเจˆเจช เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจ…เจคเฉ‡ API เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเจจ เจฒเจˆ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจ•เฉ€เจคเฉ€เจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚: เจ‰เฉฑเจš-เจชเฉฑเจงเจฐเฉ€ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจคเฉ‹เจ‚ เจตเฉฑเจ– เจ•เจฐเจจเจพ, เจ‡เจจเจฒเจพเจˆเจจ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจเจพ เจœเฉ‹ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเฉ‡ เจนเจจ, เจ•เจฟเจธเจฎเจพเจ‚ เจ…เจคเฉ‡ API เจฒเจˆ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเจจเจพ, เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเฉฑเจ–เจฐเฉ€ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ (เจฒเจ—เจญเจ— 80 เจซเจพเจˆเจฒเจพเจ‚ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจตเจฟเฉฑเจš เจฆเจ–เจฒ เจฆเฉ‡เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจ…เจธเจฟเฉฑเจงเฉ‡ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ‚ เจธเจจ, เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจ—เจŸ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚เฅค เจนเฉ‹เจฐ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚), ".h" เจ…เจคเฉ‡ ".c" เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ‚ เจฆเจพ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจœเฉ‹เฉœ, เจธเจฟเจฐเจฒเฉ‡เจ– เจซเจพเจˆเจฒเจพเจ‚ เจฆเจพ เจ•เจฆเจฎ-เจฆเจฐ-เจ•เจฆเจฎ เจ…เจจเฉเจ•เฉ‚เจฒเจจ, "CONFIG_KALLSYMS_FAST=y" เจฎเฉ‹เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚, เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฌเจฒเจพเจ•เจพเจ‚ เจตเจฟเฉฑเจš C เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจšเฉ‹เจฃเจตเฉ€เจ‚ เจ‡เจ•เจธเจพเจฐเจคเจพเฅค เจ†เจฌเจœเฉˆเจ•เจŸ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจ˜เจŸเจพเจ“.

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจ•เฉ€เจคเฉ‡ เจ—เจ เจ•เฉฐเจฎ เจจเฉ‡ เจชเฉ‹เจธเจŸ-เจชเฉเจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจชเฉœเจพเจ… 'เจคเฉ‡ เจธเฉฐเจธเจพเจงเจฟเจค เจธเจฟเจฐเจฒเฉ‡เจ– เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ 1-2 เจ†เจฐเจกเจฐ เจฆเฉ€ เจคเฉ€เจฌเจฐเจคเจพ เจจเจพเจฒ เจ˜เจŸเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‡เจ† เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒ โ€œlinux/gfp.hโ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ 13543 เจฒเจพเจˆเจจเจพเจ‚ เจ…เจคเฉ‡ 303 เจจเจฟเจฐเจญเจฐ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†, เจ…เจคเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ 181 เจฒเจพเจˆเจจเจพเจ‚ เจ…เจคเฉ‡ 26 เจจเจฟเจฐเจญเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจคเฉฑเจ• เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ†เฅค เจœเจพเจ‚ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ‰เจฆเจพเจนเจฐเจจ: เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจชเฉˆเจš เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจซเจพเจˆเจฒ โ€œkernel/pid.cโ€ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ€-เจชเฉเจฐเฉ‹เจธเฉˆเฉฑเจธ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ 94 เจนเจœเจผเจพเจฐ เจฒเจพเจˆเจจเจพเจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ pid.c เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจตเจฐเจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเจจ เจจเจพเจฒ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจก เจ•เฉ‹เจก เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจจเฉ‚เฉฐ เจคเจฟเฉฐเจจ เจ—เฉเจฃเจพ เจ˜เจŸเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจ—เจฟเจ†, เจชเฉเจฐเฉ‹เจธเฉˆเจธเจก เจฒเจพเจˆเจจเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ 36 เจนเจœเจผเจพเจฐ เจคเฉฑเจ• เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆเฅค

เจœเจฆเฉ‹เจ‚ เจŸเฉˆเจธเจŸ เจธเจฟเจธเจŸเจฎ 'เจคเฉ‡ เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ "make -j96 vmlinux" เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€, เจคเจพเจ‚ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‡ v5.16-rc7 เจธเจผเจพเจ–เจพ เจฆเฉ‡ เจฌเจฟเจฒเจก เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš 231.34 เจคเฉ‹เจ‚ 129.97 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจคเฉฑเจ• (15.5 เจคเฉ‹เจ‚ 27.7 เจฌเจฟเจฒเจกเจพเจ‚ เจคเฉฑเจ•) เจฆเฉ€ เจ•เจฎเฉ€ เจฆเจฟเจ–เจพเจˆ เจนเฉˆเฅค เจชเฉเจฐเจคเฉ€ เจ˜เฉฐเจŸเจพ), เจ…เจคเฉ‡ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€เจ†เจ‚ เจฆเฉŒเจฐเจพเจจ CPU เจ•เฉ‹เจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉเจธเจผเจฒเจคเจพ เจจเฉ‚เฉฐ เจตเฉ€ เจตเจงเจพเจ‡เจ† เจนเฉˆเฅค เจ‡เฉฑเจ• เจตเจงเฉ€ เจนเฉ‹เจˆ เจฌเจฟเจฒเจก เจฆเฉ‡ เจจเจพเจฒ, เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจฆเจพ เจชเฉเจฐเจญเจพเจต เจนเฉ‹เจฐ เจตเฉ€ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ - เจธเจฟเจฐเจฒเฉ‡เจ– เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‰เจฃ เจฆเจพ เจธเจฎเจพเจ‚ เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจ—เจฟเจ† เจนเฉˆ (112% เจคเฉ‹เจ‚ 173% เจคเฉฑเจ• เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡)เฅค เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ ARM64, MIPS, Sparc เจ…เจคเฉ‡ x86 (32- เจ…เจคเฉ‡ 64-เจฌเจฟเฉฑเจŸ) เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจนเจจเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹