Arm64 เตรียมถอด Big-Endian พร้อมบูตซีพียูขนานใน Linux 7.4
วิล ดีคอน ผู้ดูแลแพลตฟอร์ม arm64 เสนอแพตช์ลบระบบ Big-Endian และเพิ่มการบูตซีพียูสำรองแบบขนานผ่าน PSCI มุ่งเป้าบรรจุในเคอร์เนล Linux 7.4

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- arm64 เตรียมถอดซัพพอร์ต Big-Endian ใน Linux 7.4
- แพตช์บูตซีพียูกนานช่วยลดเวลาบูตระบบ 192คอร์ได้ 41%
- ทีมฝังตัวควรตรวจสอบเฟิร์มแวร์ PSCI และโค้ดภายใน
ทิศทางของแพลตฟอร์ม arm64 กลายเป็นประเด็นสำคัญประจำสัปดาห์นี้ หลังจาก วิล ดีคอน (Will Deacon) ผู้ดูแลระบบ ได้ส่งชุดแพตช์เวอร์ชันสองเพื่อถอดการสนับสนุนเคอร์เนลแบบ Big-Endian ออก ซึ่งเตรียมนำไปใช้ในเคอร์เนล Linux 7.4 พร้อมกันนี้ยังได้เสนอชุดแพตช์อีก 19 รายการเพื่อให้ arm64 สามารถเปิดใช้งานซีพียูสำรอง (secondary CPU) แบบขนานกันได้ผ่านทางอาร์กิวเมนต์ CPU_ON ของ PSCI v0.2 นอกจากนี้ในสัปดาห์เดียวกันยังมีข่าวการปล่อย Linux 7.3-rc2 พร้อมการแก้ไขตัวจัดคิวงาน รวมถึง Buildroot 2026.08 ที่มาพร้อม GCC 16 และ kernel.org ที่ระบุว่า AI crawlers กินทรัพยากร Git ไปถึงหนึ่งในห้าส่วน
การถอดระบบ Big-Endian ออกนั้นไม่ใช่การตัดสินใจที่เกิดขึ้นกะทันหัน แต่เป็นกระบวนการที่มีการวางแผนมาอย่างยาวนาน โดยตัวเลือก CONFIG_CPU_BIG_ENDIAN ได้ถูกกำหนดให้ขึ้นตรงกับสถานะ BROKEN มาตั้งแต่เวอร์ชัน 6.18 เพื่อทำให้โค้ดไม่สามารถคอมไพล์ได้ในทางปฏิบัติ และชิ้นส่วนโค้ดที่ตายไปแล้วก็ทยอยถูกลบออกจากทรีทีละน้อย ชุดแพตช์เวอร์ชันสองในวันที่ 7 กันยายนนี้ประกอบด้วย 14 แพตช์ที่ลบโค้ดการจัดการ Big-Endian ออกราว 540 บรรทัดจากทรีของ arm64 ส่งผลให้ส่วนประกอบอย่าง BPF JIT, โค้ดแอสเซมบลีเข้ารหัส, รูทีนสตริงที่ปรับแต่งแล้ว, บิลด์ compat vDSO และไฮเปอร์ไวเซอร์ KVM ต่างสูญเสียเส้นทาง Big-Endian ไปทั้งหมด พร้อมทั้งบังคับใช้โหมด Little-Endian อย่างชัดเจนในช่วงบูตระบบช่วงแรก

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
สำหรับทีมพัฒนาแบบฝังตัว (embedded teams) มีรายละเอียดสำคัญสองประการที่ต้องทราบ ประการแรกคือการจำลอง SETEND สำหรับงานผู้ใช้แบบ 32 บิตยังคงอยู่ ทำให้ระบบ 32 บิตแบบผสมยังคงทำงานได้ต่อไป ประการที่สอง ในเธรดการตรวจสอบ อาร์นด์ เบิร์กมันน์ (Arnd Bergmann) ได้ยืนยันว่ากระบวนการเดียวกันนี้จะเกิดขึ้นบน Arm 32 บิตด้วย โดยโหมด Big-Endian จะถูกระบุว่าเลิกใช้งานแล้วในเวอร์ชัน 7.3 และคาดว่าการถอดถอนบน arm32 จะรออีกหนึ่งรุ่นซัพพอร์ตระยะยาว (LTS)
การที่ชุมชนเคอร์เนล Linux ทยอยปลดระวางสถาปัตยกรรมหรือฟีเจอร์เก่าที่ไม่ค่อยมีผู้ใช้งาน เช่น Big-Endian บน arm64 สะท้อนถึงความพยายามในการลดภาระการบำรุงรักษาโค้ดฐาน (codebase) ให้มีความสะอาดและปลอดภัยมากขึ้น การตัดฟีเจอร์เหล่านี้ช่วยให้นักพัฒนาสามารถมุ่งเน้นทรัพยากรไปที่การพัฒนาประสิทธิภาพในส่วนที่ใช้งานจริงในปัจจุบันได้เต็มที่ โดยเฉพาะในยุคที่ฮาร์ดแวร์สมัยใหม่นิยมใช้ Little-Endian เป็นมาตรฐานหลัก
ในวันเดียวกัน วิล ดีคอน ยังได้โพสต์ชุดแพตช์ 19 รายการในหัวข้อ "arm64: Implement parallel CPU onlining with PSCI v0.2+" ซึ่งช่วยให้ arm64 สามารถดึงซีพียูสำรองเข้าสู่เคอร์เนลพร้อมกันได้ แทนที่จะต้องทำทีละตัวอย่างเคร่งครัดเหมือนในอดีตที่ผ่านมา โดยสถาปัตยกรรมอย่าง x86, MIPS และ RISC-V มีระบบการบูตแบบขนานนี้มาก่อนแล้ว ขณะที่ arm64 เป็นฝ่ายที่รอกลุ่มสุดท้าย ชุดแพตช์นี้ต่อยอดมาจากงาน HOTPLUG_PARALLEL ของ จินเจี๋ย รวน (Jinjie Ruan) จากหัวเว่ยที่เสนอไว้เมื่อเดือนมิถุนายนที่ผ่านมา
กลไกเบื้องหลังการทำงานนี้อาศัยความสามารถของ PSCI v0.2 ที่อนุญาตให้การเรียกใช้งาน CPU_ON ส่งอาร์กิวเมนต์บริบทไปยังซีพียูตัวใหม่ได้โดยตรงผ่านทางเฟิร์มแวร์ ซึ่งช่วยขจัดจุดคอขวดที่ซีพียูแต่ละตัวต้องระบุตัวเองเทียบกับสถานะส่วนกลางที่ต้องแชร์ร่วมกัน ทำให้ arm64 สามารถยกเลิกการซิงโครไนซ์ซีพียูสำรองแบบกำหนดเอง และหันมาใช้กลไกมาตรฐานอย่าง HOTPLUG_PARALLEL, HOTPLUG_SPLIT_STARTUP และระบบซิงก์คอร์แบบเดียวกับสถาปัตยกรรมอื่นได้ ผลลัพธ์จากการวัดผลในรุ่นก่อนหน้าพบว่าเซิร์ฟเวอร์ HiSilicon ขนาด 192 คอร์ สามารถบูตซีพียูได้ในเวลา 8.6 วินาที จากเดิมที่เคยใช้เวลา 14.6 วินาที ซึ่งเป็นการลดลงถึง 41 เปอร์เซ็นต์
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น