เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจชเฉเจจเจฐเจ—เจ เจจ เจจเจพเจฒ เจชเฉˆเจšเจพเจ‚ เจฆเจพ เจฆเฉ‚เจœเจพ เจธเฉฐเจธเจ•เจฐเจฃ

เจ‡เฉฐเจ—เฉ‹ เจฎเฉ‹เจฒเจจเจฐ เจจเฉ‡ เจชเฉˆเจšเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจฆเจพ เจฆเฉ‚เจœเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจœเฉ‹ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจฒเฉœเฉ€ เจฆเจพ เจชเฉเจจเจฐเจ—เจ เจจ เจ•เจฐเจ•เฉ‡ เจ…เจคเฉ‡ เจ…เฉฐเจคเจฐ-เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเฉ‚เฉฐ เจ˜เจŸเจพ เจ•เฉ‡ เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจฃ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ˜เจŸเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ 5.16-rc8 เจ•เจฐเจจเจฒ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เจฐเจ•เฉ‡, เจตเจพเจงเฉ‚ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจœเฉ‹เฉœ เจ•เฉ‡ เจ…เจคเฉ‡ เจ•เจฒเฉˆเจ‚เจ— เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเจฟเจฒเจกเจฟเฉฐเจ— เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฒเจพเจ—เฉ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉเจ เจฆเจฟเจจ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจชเจนเจฟเจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเจพ เจนเฉˆเฅค เจ•เจฒเฉˆเจ‚เจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจชเฉˆเจšเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจจเจพเจฒ CPU เจธเจฐเฉ‹เจค เจฆเฉ€ เจ–เจชเจค เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจฌเจฟเจฒเจก เจŸเจพเจˆเจฎ เจจเฉ‚เฉฐ 88% เจœเจพเจ‚ 77% เจคเฉฑเจ• เจ˜เจŸเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ "make -j96 vmlinux" เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจฌเจฟเจฒเจก เจŸเจพเจˆเจฎ 337.788 เจคเฉ‹เจ‚ เจ˜เจŸเจพ เจ•เฉ‡ 179.773 เจธเจ•เจฟเฉฐเจŸ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ GCC เจชเจฒเฉฑเจ—เจ‡เจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจตเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ, เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจธเจฎเฉ€เจ–เจฟเจ† เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉŒเจฐเจพเจจ เจชเจ›เจพเจฃเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ "task_struct_per_task" เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจกเฉเจชเจฒเฉ€เจ•เฉ‡เจŸ เจ˜เฉ‹เจธเจผเจฃเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เจธเจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, linux/sched.h เจธเจฟเจฐเจฒเฉ‡เจ– เจซเจพเจˆเจฒ เจฆเจพ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจœเจพเจฐเฉ€ เจฐเจฟเจนเจพ เจ…เจคเฉ‡ RDMA เจธเจฌ-เจธเจฟเจธเจŸเจฎ (เจ‡เจจเจซเจฟเจจเฉ€เจฌเฉˆเจ‚เจก) เจฆเฉ€เจ†เจ‚ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฆเจพ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ†, เจœเจฟเจธ เจจเจพเจฒ เจชเจนเจฟเจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจฌเจฟเจฒเจก เจŸเจพเจˆเจฎ เจจเฉ‚เฉฐ 9% เจนเฉ‹เจฐ เจ˜เจŸเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจ—เจฟเจ†เฅค เจชเฉˆเจš เจฆเฉ‡. เจ•เจฐเจจเจฒ C เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจœเจฟเจธ เจตเจฟเฉฑเจš linux/sched.h เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจจเฉ‚เฉฐ เจชเฉˆเจš เจฆเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ 68% เจคเฉ‹เจ‚ 36% เจคเฉฑเจ• เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ (เจ…เจธเจฒ เจ•เจฐเจจเจฒ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ 99% เจคเฉ‹เจ‚ 36% เจคเฉฑเจ•)เฅค

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

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