Linux 6.13 มาพร้อมกับโมเดลการจอง Lazy ใหม่ รองรับการเขียนแบบอะตอมมิก และอื่นๆ อีกมากมาย

ลินุกซ์

หลังจากทำงานมาสองเดือน Linus Torvalds ได้ประกาศเปิดตัวและเคอร์เนลเวอร์ชันใหม่ ลินุกซ์ 6.13, ซึ่งนำมาซึ่งความก้าวหน้าและความแปลกใหม่ที่สำคัญ ในบรรดาผลิตภัณฑ์ใหม่ที่นำเสนอนั้น มีความโดดเด่น: รูปแบบการจอง Lazy ซึ่งอยู่ระหว่างโหมดสมัครใจและโหมดเต็ม การรวมของ รองรับการเขียนแบบอะตอมมิกไปยังระบบไฟล์เช่น XFS และ Ext4

การเปลี่ยนแปลงอื่น ๆ ได้แก่ ไดรเวอร์ virtual-cpufreq, netlink net-shap API ใหม่เอ้อและโหมดเมานต์ tmpfs ที่ตอนนี้คำนึงถึงขนาดตัวพิมพ์ด้วย รองรับส่วนขยาย POSIX ใน SMB3 และไดรเวอร์เพิ่มประสิทธิภาพแคชจาก AMD

เวอร์ชันใหม่นี้ได้รับการสนับสนุนจากนักพัฒนา 2086 รายที่ทำการแก้ไขทั้งหมด 14,172 รายการ ส่งผลกระทบต่อไฟล์ 15,375 ไฟล์ และส่งผลให้มีการเพิ่มโค้ด 598,707 บรรทัด โดยกำจัดบรรทัด 406,294 บรรทัด

ข่าวหลักใน Linux 6.13

Kernel 6.13 หนึ่งในการเปลี่ยนแปลงที่สำคัญที่สุด คือการเปิดตัวกลไก "การประทับเวลาแบบละเอียด" ซึ่งปรับปรุงความแม่นยำในการรับข้อมูลเกี่ยวกับการแก้ไขหรือการเข้าถึงไฟล์ ทำให้ได้ความแม่นยำที่มากกว่ามิลลิวินาที โดยไม่ส่งผลเสียต่อประสิทธิภาพการทำงาน

คุณสมบัติใหม่อีกอย่างหนึ่งที่ Linux Kernel 6.13 นำเสนอคือ sรองรับการเขียนแบบอะตอมมิก ซึ่งทำให้มั่นใจได้ว่าข้อมูลที่มีขนาดใหญ่กว่าขนาดของเซกเตอร์จะถูกเขียนแบบอะตอมมิกไปยังอุปกรณ์ที่รองรับคุณสมบัตินี้ ปัจจุบันฟังก์ชั่นนี้ มีอยู่ในระบบไฟล์เช่น XFS, Ext4 ในโหมด O_DIRECT และในการกำหนดค่า RAID 0/1/10 ด้วย md

ในส่วนของระบบไฟล์อื่นๆ Linux 6.13 ถือเป็นการลบ ReiserFS ครั้งสุดท้ายขณะนี้ EROFS รองรับตัวเลือก SEEK_HOLE และ SEEK_DATA ใน lseek() ในขณะที่ F2FS ได้เพิ่มการรองรับนามแฝงของอุปกรณ์sy XFS ได้เพิ่มการรองรับโควต้าบนอุปกรณ์แบบเรียลไทม์และปรับปรุงการจัดการไดเร็กทอรี metadata นอกจากนี้ SMB3 ยังรองรับส่วนขยาย POSIX ที่จำเป็นในการจัดเก็บไฟล์พิเศษ เช่น ลิงก์สัญลักษณ์และไฟล์อุปกรณ์

ในบริการหน่วยความจำและระบบ โมเดลการตั้งค่าขี้เกียจใหม่ (PREMPT_LAZY) รุ่นนี้ ช่วยให้คุณสามารถรักษาความสามารถในการจองได้ เสร็จสิ้นสำหรับงานแบบเรียลไทม์ ในขณะเดียวกันก็ชะลอการจองงานปกติจนถึงขีดจำกัด นอกจากนี้ โมเดลยังช่วยลดความซับซ้อนของตรรกะของตัวกำหนดเวลางานโดยการลบไดรเวอร์ออกจากส่วนอื่นๆ ของเคอร์เนลออกจากกระบวนการกำหนดเวลา

เกี่ยวกับการเพิ่มประสิทธิภาพการสร้างการสนับสนุนการเพิ่มประสิทธิภาพ AutoFDO เมื่อรวบรวมด้วย Clang ได้รับการรวมเข้าด้วยกัน ซึ่งใช้โปรไฟล์การดำเนินการเพื่อปรับแต่งโค้ดและปรับปรุงประสิทธิภาพ แสดงให้เห็นว่าสามารถลดเวลาแฝงลงได้ 10% มีการเพิ่มแฟล็กใหม่ในการเรียกระบบ madvise() เพื่อปรับปรุงการจัดการหน่วยความจำกระบวนการ การตั้งค่าสถานะ MADV_GUARD_INSTALL ช่วยให้คุณสามารถแทนที่ที่อยู่การป้องกันหน้าเฉพาะ ป้องกันข้อยกเว้นการเข้าถึง (SIGSEGV) โดยไม่จำเป็นต้องจัดสรรพื้นที่หน่วยความจำเสมือนใหม่

IO_uring ยังได้รับการปรับปรุงหลายประการอีกด้วยรวมถึงความสามารถในการปรับขนาดบัฟเฟอร์ ส่งข้อความพร้อมกันระหว่างบัฟเฟอร์วงแหวน และบัฟเฟอร์โคลนบางส่วน นอกจากนี้ ยังมีการนำการสำรวจ I/O แบบไฮบริดมาใช้ และ API ได้รับการขยายเพื่อลงทะเบียนบัฟเฟอร์วงแหวนและพื้นที่หน่วยความจำ

เป็น การปรับปรุงฮาร์ดแวร์ เพิ่มความสามารถในการตรวจจับ "แยกล็อค" บนซีพียู AMD แล้ว ปรากฏการณ์ที่เกิดขึ้นเมื่อข้อมูลไม่ได้รับการจัดเรียงอย่างเหมาะสมในหน่วยความจำและข้ามผ่านสองบรรทัดแคช ซึ่งอาจส่งผลกระทบอย่างรุนแรงต่อประสิทธิภาพการทำงาน เพื่อบรรเทาปัญหานี้ ไดรเวอร์ AMD Cache Optimizer ได้ถูกรวมเข้าด้วยกัน ซึ่งใช้ประโยชน์จากเทคโนโลยี AMD 3D V-Cache เพื่อปรับปรุงประสิทธิภาพของคอร์ CPU แต่ละตัว ไม่ว่าจะโดยการเพิ่มขนาดของแคช L3 ที่มีอยู่หรือโดยการเพิ่มความถี่

สำหรับสถาปัตยกรรม MIPS มีการเพิ่มการรองรับสำหรับระบบที่มีตัวควบคุมการขัดจังหวะหลายตัว คลัสเตอร์ โดยจัดให้มีตัวจัดการการขัดจังหวะแยกต่างหากสำหรับแต่ละคลัสเตอร์ CPU การดำเนินการ ioctl ใหม่ PIDFD_GET_INFO ก็ถูกนำมาใช้เช่นกัน ซึ่งช่วยให้สามารถรับข้อมูลเกี่ยวกับกระบวนการโดยใช้ตัวระบุ PIDFD ซึ่งยังคงที่แม้ว่า PID ที่เกี่ยวข้องจะเปลี่ยนไปเมื่อกระบวนการยุติลง

En ARM ความก้าวหน้าที่สำคัญ ได้แก่ การรองรับการใช้งาน Linux บนเครื่องเสมือน ได้รับการปกป้องโดย Arm Confidential Computing Architecture รวมถึงการรองรับ Shadow Stacks ในพื้นที่ผู้ใช้ ซึ่งช่วยเพิ่มความปลอดภัย ยังได้นำไปปฏิบัติคือ กลไกการนับอ้างอิงใหม่สำหรับไฟล์ บรรลุความสามารถในการขยายขนาดที่มากขึ้น

El ตัวกำหนดเวลางานรองรับกลไกการดำเนินการพร็อกซีแล้วการแก้ปัญหาการผกผันลำดับความสำคัญ กลไกนี้ป้องกันงานที่มีลำดับความสำคัญต่ำจากการกักเก็บทรัพยากรที่จำเป็นสำหรับงานที่มีลำดับความสำคัญสูง (แบบเรียลไทม์) และบล็อกงานเหล่านั้น นอกจากนี้ บริบทการเขียนโปรแกรมและการดำเนินการของกระบวนการยังถูกแยกออกจากกัน

ในทางกลับกัน มันเน้นที่ การโยกย้ายการเปลี่ยนแปลงที่เกี่ยวข้องกับการใช้ Rust ในการพัฒนาไดรเวอร์และโมดูลเคอร์เนล แม้ว่า การสนับสนุน Rust ไม่ได้เปิดใช้งานตามค่าเริ่มต้น มีการเพิ่มการเชื่อมโยงและโครงสร้างข้อมูลแล้ว เพื่อให้เขียนไดรเวอร์ในภาษานี้ได้ รวมถึงรองรับเหตุการณ์การติดตามและไดรเวอร์ Binder เขียนใหม่ด้วยภาษา Rust

ระบบย่อย BPF ได้รับการปรับปรุงด้วยการใช้สแต็กแยกต่างหากสำหรับโปรแกรม BPF ซึ่งช่วยลดความเสี่ยงของการโอเวอร์โฟลว์เมื่อประมวลผลการโทรจำนวนมาก ความสามารถในการส่งสัญญาณไปยังกระบวนการอื่นๆ และใช้หน่วยความจำที่ใช้ร่วมกันในแผนที่ BPF ได้ถูกเพิ่มเข้ามาด้วย ซึ่งอำนวยความสะดวกในการสื่อสารโหลดระหว่างไดรเวอร์ตัวกำหนดเวลางาน

นอกจากนี้แล้ว การติดตามข้อยกเว้นได้รับการปรับปรุงเพื่อสร้างข้อบกพร่องของหน้า เมื่อจุดติดตามถูกทริกเกอร์ในการเรียกของระบบ อนุญาตให้อ่านพารามิเตอร์ที่ส่งผ่านจากพื้นที่ผู้ใช้ได้ พารามิเตอร์ transparent_hugepage_shmem ยังถูกเพิ่มเพื่อควบคุมการใช้เพจหน่วยความจำขนาดใหญ่บนระบบไฟล์ tmpfs และ shmem

ในเครือข่ายก็มีการแนะนำ สนับสนุนการระงับ NAPI ในระหว่างที่ไม่มีการใช้งาน ปรับปรุงการใช้พลังงาน และ API อุปกรณ์เครือข่ายใหม่ที่อำนวยความสะดวกในการกำหนดค่าขั้นสูงของฮาร์ดแวร์การส่งผ่าน (TX) นอกจากนี้ io_uring ยังได้รับการเพิ่มประสิทธิภาพหลายประการ ซึ่งปรับปรุงการจัดการการดำเนินการอินพุต/เอาท์พุตแบบอะซิงโครนัส

ในที่สุดก็ได้มีการปฏิบัติแล้วการสนับสนุนแบบเรียลไทม์สำหรับสถาปัตยกรรม Loongarch และส่วนขยายใหม่สำหรับสถาปัตยกรรม RISC-V ซึ่งช่วยให้สามารถปิดบังพอยน์เตอร์ในพื้นที่ผู้ใช้ได้ เพื่อปรับปรุงการบีบอัดภาพเคอร์เนล อัลกอริธึมเริ่มต้นได้เปลี่ยนเป็น lz4 แทนที่ lz4c

สนใจทราบข้อมูลเพิ่มเติมสามารถปรึกษารายละเอียดได้ ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา