ข้ามไปเนื้อหาหลัก

Arm64 เตรียมถอด Big-Endian พร้อมบูตซีพียูขนานใน Linux 7.4

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

เรียบเรียงโดย AI
Inewgen
08 Sep 20264 นาทีอ่าน (0 ครั้ง)
แชร์
Arm64 เตรียมถอด Big-Endian พร้อมบูตซีพียูขนานใน 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 อย่างชัดเจนในช่วงบูตระบบช่วงแรก

linux kernel server rack data center

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

สำหรับทีมพัฒนาแบบฝังตัว (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) จากหัวเว่ยที่เสนอไว้เมื่อเดือนมิถุนายนที่ผ่านมา

41%เวลาบูตระบบลดลงบนเซิร์ฟเวอร์ 192 คอร์
19แพตช์ในชุดอัปเกรด PSCI v0.2

กลไกเบื้องหลังการทำงานนี้อาศัยความสามารถของ PSCI v0.2 ที่อนุญาตให้การเรียกใช้งาน CPU_ON ส่งอาร์กิวเมนต์บริบทไปยังซีพียูตัวใหม่ได้โดยตรงผ่านทางเฟิร์มแวร์ ซึ่งช่วยขจัดจุดคอขวดที่ซีพียูแต่ละตัวต้องระบุตัวเองเทียบกับสถานะส่วนกลางที่ต้องแชร์ร่วมกัน ทำให้ arm64 สามารถยกเลิกการซิงโครไนซ์ซีพียูสำรองแบบกำหนดเอง และหันมาใช้กลไกมาตรฐานอย่าง HOTPLUG_PARALLEL, HOTPLUG_SPLIT_STARTUP และระบบซิงก์คอร์แบบเดียวกับสถาปัตยกรรมอื่นได้ ผลลัพธ์จากการวัดผลในรุ่นก่อนหน้าพบว่าเซิร์ฟเวอร์ HiSilicon ขนาด 192 คอร์ สามารถบูตซีพียูได้ในเวลา 8.6 วินาที จากเดิมที่เคยใช้เวลา 14.6 วินาที ซึ่งเป็นการลดลงถึง 41 เปอร์เซ็นต์

ที่มา:

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้