ලිනක්ස් කර්නල් ශීර්ෂ ගොනු ප්‍රතිව්‍යුහගත කිරීම සහිත පැච් වල දෙවන අනුවාදය

Ingo Molnar විසින් ශීර්ෂ ගොනු වල ධුරාවලිය ප්‍රතිව්‍යුහගත කිරීමෙන් සහ හරස් පරායත්තතා ගණන අඩු කිරීමෙන් කර්නලය නැවත ගොඩනැංවීමේ කාලය සැලකිය යුතු ලෙස අඩු කළ හැකි පැච් කට්ටලයක දෙවන අනුවාදය ඉදිරිපත් කරන ලදී. 5.16-rc8 කර්නලය සඳහා අනුවර්තනය වීම, අමතර ප්‍රශස්තිකරණයන් එකතු කිරීම සහ Clang සම්පාදකය භාවිතයෙන් ගොඩනැගීම සඳහා සහාය ක්‍රියාත්මක කිරීම මගින් නව අනුවාදය දින කිහිපයකට පෙර යෝජනා කරන ලද පළමු අනුවාදයට වඩා වෙනස් වේ. Clang භාවිතා කරන විට, පැච් යෙදීමෙන් CPU සම්පත් පරිභෝජනය අනුව ගොඩනැගීමේ කාලය 88% හෝ 77% කින් අඩු විය. "make -j96 vmlinux" විධානය සමඟ කර්නලය සම්පූර්ණයෙන්ම නැවත ගොඩනඟන විට, ගොඩනැගීමේ කාලය තත්පර 337.788 සිට 179.773 දක්වා අඩු විය.

නව අනුවාදය GCC ප්ලගීන සමඟ ඇති ගැටළුව විසඳයි, මූලික සමාලෝචන ක්‍රියාවලියේදී හඳුනාගත් දෝෂ නිවැරදි කරයි, සහ “task_struct_per_task” ව්‍යුහයේ අනුපිටපත් ප්‍රකාශ ඒකාබද්ධ කරයි. මීට අමතරව, linux/sched.h ශීර්ෂ ගොනුවේ ප්‍රශස්තිකරණය අඛණ්ඩව සිදු වූ අතර RDMA උප පද්ධතියේ (infiniband) ශීර්ෂ ගොනු ප්‍රශස්ත කිරීම ක්‍රියාත්මක කරන ලද අතර එමඟින් පළමු අනුවාදයට සාපේක්ෂව ගොඩනැගීමේ කාලය 9% කින් තවදුරටත් අඩු කිරීමට හැකි විය. පැච් වල. පැච් වල පළමු අනුවාදයට සාපේක්ෂව linux/sched.h ශීර්ෂ ගොනුව ඇතුළත් කර්නල් C ගොනු සංඛ්‍යාව 68% සිට 36% දක්වා අඩු කර ඇත (මුල් කර්නලය හා සසඳන විට 99% සිට 36% දක්වා).

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න