แพตช์เวอร์ชันที่สองพร้อมการปรับโครงสร้างไฟล์ส่วนหัวเคอร์เนล Linux

Ingo Molnar นำเสนอชุดแพตช์เวอร์ชันที่สองซึ่งสามารถลดเวลาในการสร้างเคอร์เนลใหม่ได้อย่างมากโดยการปรับโครงสร้างลำดับชั้นของไฟล์ส่วนหัวใหม่และลดจำนวนการพึ่งพาข้ามกัน เวอร์ชันใหม่แตกต่างจากเวอร์ชันแรกที่เสนอเมื่อไม่กี่วันก่อนโดยได้รับการดัดแปลงสำหรับเคอร์เนล 5.16-rc8 เพิ่มการเพิ่มประสิทธิภาพเพิ่มเติม และดำเนินการสนับสนุนสำหรับการสร้างโดยใช้คอมไพเลอร์ Clang เมื่อใช้ Clang การใช้แพตช์จะช่วยลดเวลาในการสร้างลง 88% หรือ 77% ในแง่ของการใช้ทรัพยากร CPU เมื่อสร้างเคอร์เนลใหม่ทั้งหมดด้วยคำสั่ง “make -j96 vmlinux” เวลาในการสร้างลดลงจาก 337.788 เป็น 179.773 วินาที

เวอร์ชันใหม่ยังแก้ปัญหาด้วยปลั๊กอิน GCC แก้ไขข้อผิดพลาดที่ระบุในระหว่างกระบวนการตรวจสอบเบื้องต้น และรวมการประกาศซ้ำของโครงสร้าง "task_struct_per_task" นอกจากนี้ การปรับให้เหมาะสมของไฟล์ส่วนหัว linux/sched.h ยังคงดำเนินต่อไป และการปรับให้เหมาะสมของไฟล์ส่วนหัวของระบบย่อย RDMA (infiniband) ได้ถูกนำมาใช้ ซึ่งทำให้สามารถลดเวลาในการสร้างเพิ่มเติมได้อีก 9% เมื่อเทียบกับเวอร์ชันแรก ของแพทช์ จำนวนไฟล์เคอร์เนล C ที่มีไฟล์ส่วนหัว linux/sched.h ลดลงจาก 68% เป็น 36% เมื่อเทียบกับเวอร์ชันแรกของแพตช์ (จาก 99% เป็น 36% เมื่อเทียบกับเคอร์เนลดั้งเดิม)

ที่มา: opennet.ru

เพิ่มความคิดเห็น