หลังจากสองเดือนของการพัฒนา Linus Torvalds ประกาศเปิดตัวเคอร์เนล Linux 6.1 เวอร์ชันใหม่ซึ่งในการเปลี่ยนแปลงที่โดดเด่นที่สุด: รองรับการพัฒนาไดรเวอร์และโมดูลในภาษา Rust, ความทันสมัยของกลไกในการกำหนดหน้าหน่วยความจำที่ใช้, ตัวจัดการหน่วยความจำพิเศษสำหรับโปรแกรม BPF, ระบบวินิจฉัยปัญหาของหน่วยความจำ KMSAN กลไกการป้องกัน KCFI (Kernel Control -Flow Integrity) การแนะนำของต้นไม้โครงสร้างเมเปิ้ล
รุ่นใหม่ ได้รับการแก้ไข 15115 จากนักพัฒนา 2139ขนาดแพตช์คือ 51 MB ซึ่งน้อยกว่าขนาดของแพตช์เคอร์เนล 2 และ 6.0 ประมาณ 5.19 เท่า
ข่าวหลักใน Linux 6.1
ในเคอร์เนลเวอร์ชันใหม่ที่นำเสนอนี้ เราพบว่า เพิ่มความสามารถในการใช้ Rust เป็นภาษาที่สอง เพื่อพัฒนาไดรเวอร์และโมดูลเคอร์เนล เหตุผลหลักที่อยู่เบื้องหลังการรองรับ Rust คือการทำให้ง่ายต่อการเขียนไดรเวอร์อุปกรณ์คุณภาพสูงและปลอดภัยโดยลดโอกาสที่หน่วยความจำจะผิดพลาด
การสนับสนุนสนิมถูกปิดใช้งานตามค่าเริ่มต้น และไม่ทำให้สนิมรวมเป็นการสร้างเคอร์เนลที่จำเป็น จนถึงตอนนี้ เคอร์เนลได้ใช้เวอร์ชันแพตช์ขั้นต่ำแบบแยกส่วน ซึ่งลดโค้ดจาก 40 เหลือ 13 บรรทัดและให้โค้ดขั้นต่ำเปล่าเท่านั้น ซึ่งเพียงพอที่จะสร้างโมดูลเคอร์เนลอย่างง่ายที่เขียนใน Rust
ในอนาคตมีการวางแผนที่จะค่อยๆ เพิ่มฟังก์ชันการทำงานที่มีอยู่พอร์ตการเปลี่ยนแปลงอื่นๆ จากสาขา Rust-for-Linux ในขณะเดียวกัน โครงการกำลังได้รับการพัฒนาเพื่อใช้โครงสร้างพื้นฐานที่เสนอเพื่อพัฒนาตัวควบคุมดิสก์ NVMe, โปรโตคอลเครือข่าย 9p และ Apple M1 GPU บน Rust
การเปลี่ยนแปลงที่โดดเด่นอีกอย่างคือใน AArch64, RISC-V และ LoongArch พร้อม EFI ซึ่งใช้ความสามารถในการโหลดอิมเมจเคอร์เนลที่บีบอัดโดยตรงนอกจากนี้พวกเขายังเพิ่ม ไดรเวอร์สำหรับการโหลด รัน และดาวน์โหลดเคอร์เนลอิมเมจ เรียกโดยตรงจาก EFI zboot
มีการเพิ่มไดรเวอร์สำหรับการติดตั้งและลบโปรโตคอลจากฐานข้อมูลโปรโตคอล EFI ก่อนหน้านี้ การคลายแพ็กทำได้โดย bootloader แยกต่างหาก แต่ตอนนี้สามารถทำได้โดยไดรเวอร์ในเคอร์เนลเอง: อิมเมจเคอร์เนลถูกสร้างขึ้นเป็นแอปพลิเคชัน EFI
ส่วนหนึ่งของแพทช์ ถูกนำมาใช้กับการดำเนินการของรูปแบบการจัดการหน่วยความจำ ในระดับต่างๆนั้น อนุญาตให้ธนาคารหน่วยความจำแยกต่างหากที่มีลักษณะการทำงานที่แตกต่างกัน. ตัวอย่างเช่น เพจที่ใช้บ่อยอาจถูกจัดเก็บไว้ในหน่วยความจำที่เร็วที่สุด ในขณะที่เพจที่ใช้บ่อยน้อยกว่าอาจถูกจัดเก็บไว้ในหน่วยความจำที่ค่อนข้างช้า เคอร์เนล 6.1 ใช้กลไกเพื่อตรวจสอบว่าเพจที่ใช้งานหนักอยู่ในหน่วยความจำช้าหรือไม่ เพื่อที่จะย้ายเพจไปยังหน่วยความจำเร็ว และใช้แนวคิดทั่วไปของระดับหน่วยความจำและประสิทธิภาพที่สัมพันธ์กัน
นอกจากนี้เรายังสามารถพบได้ว่า เพิ่มความสามารถในการสร้างโปรแกรม BPF ที่ "ทำลายล้าง" ให้กับระบบย่อย BPF ออกแบบมาโดยเฉพาะเพื่อทำให้เกิดข้อขัดข้องผ่านการเรียก crash_kexec() โปรแกรม BPF ดังกล่าวอาจจำเป็นสำหรับการดีบักเพื่อทริกเกอร์การสร้างการถ่ายโอนข้อมูลหน่วยความจำในช่วงเวลาหนึ่ง การเข้าถึงการดำเนินการทำลายเมื่อโหลดโปรแกรม BPF จำเป็นต้องระบุแฟล็ก BPF_F_DESTRUCTIVE ตั้งค่า sysctl kernel.destructive_bpf_enabled และตั้งค่าสิทธิ์ CAP_SYS_BOOT
เคยทำแล้วo การเพิ่มประสิทธิภาพที่สำคัญในระบบไฟล์ Btrfsเหนือสิ่งอื่นใด ประสิทธิภาพของการดำเนินการ fiemap และ lseek เพิ่มขึ้นตามลำดับความสำคัญ (การตรวจสอบส่วนขยายที่ใช้ร่วมกันนั้นเร็วขึ้น 2-3 เท่า และการเปลี่ยนตำแหน่งในไฟล์เร็วขึ้น 1.3-4 เท่า) อีกด้วย, เพิ่มความเร็วในการบันทึกไอโหนดสำหรับไดเร็กทอรี (ประสิทธิภาพเพิ่มขึ้น 25% และลดเวลาแฝงลง 21% ใน dbench) I/O ที่บัฟเฟอร์ได้รับการปรับปรุงและการใช้หน่วยความจำลดลง
Ext4 เพิ่มการปรับแต่งประสิทธิภาพ ที่เกี่ยวข้องกับการทำเจอร์นัลและการอ่านอย่างเดียว ยกเลิกการรองรับแอตทริบิวต์ noacl และ nouser_xattr ที่เลิกใช้แล้ว รวมถึงใน EROFS (Enhanced Read-Only File System) ที่ออกแบบมาเพื่อใช้กับพาร์ติชันแบบอ่านอย่างเดียว ใช้ความเป็นไปได้ในการจัดเก็บชุดข้อมูลที่ซ้ำกันในไฟล์อื่น ระบบ
ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:
- เพิ่มการรองรับสำหรับระบบย่อยเสียงที่ใช้ในโปรเซสเซอร์ Apple Silicon, Intel SkyLake และ Intel KabyLake
- ตัวควบคุมเสียง HDA CS35L41 รองรับโหมดสลีป
- เพิ่มการรองรับคอนโทรลเลอร์ AHCI SATA ที่ใช้ใน Baikal-T1 SoC
- เพิ่มการรองรับชิป Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, การเชื่อมต่อในตัว), Realtek RTL8852C, RTW8852AE และ RTL8761BUV (Edimax BT-8500)
- เพิ่มไดรเวอร์สำหรับ PinePhone Keyboard, InterTouch Touchpads (ThinkPad P1 G3), X-Box Adaptive Controller, PhoenixRC Flight Controller, VRC-2 Car Controller, DualSense Edge Controller, IBM Operation Panels, XBOX One Elite, XP-PEN Deco Pro S Tablets และ Intuos Pro ขนาดเล็ก (PTH-460)
- เพิ่มไดรเวอร์สำหรับตัวเร่งความเร็วการเข้ารหัส Aspeed HACE (Hash และ Crypto Engine)
- เพิ่มการรองรับสำหรับคอนโทรลเลอร์ Intel Meteor Lake Thunderbolt/USB4
- เพิ่มการสนับสนุนสำหรับ Sony Xperia 1 IV, Samsung Galaxy E5, E7 และ Grand Max, สมาร์ทโฟน Pine64 Pinephone Pro
- ARM SoC เข้ากันได้กับ AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 และ RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8062 /BL i.MX8MM OSM-S , MT8195 (Acer Tomato), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p ข้อมูลเกี่ยวกับ SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom และ NXP
สุดท้ายนี้ หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม สามารถปรึกษารายละเอียดได้ ในลิงค์ต่อไปนี้.