Linux Kernel 2.6.19

2.6.19 มีอะไรน่าตื่นเต้นมั่ง ?

  • Extended File System 4 (Ext4) ปรากฏตัวแล้วในรุ่นนี้ โดยแปะไว้ว่า ext4dev และจะแปะว่า ‘dev’ ไปอีกสักพักจนกว่าจะนิ่งจริง อาจจะประหลาดๆ หน่อยๆ ที่เอา ‘dev’ มาใส่ในเคอร์เนล ‘stable’ .. แต่น่าจะทำให้มีคนทดสอบและมีความคืบหน้าเร็วกว่าจะแยก patch นะ … จากที่ ext3 = ext2 + journal + extras นิดๆ ซึ่งเหมือนออกมาขัดตาทัพด้วย FS แบบ journaling .. ใน ext4 ตั้งเป้าไว้ว่าจะพัฒนาให้มันเจ๋งๆ ไปเลย คาดว่าฟีเจอร์คงมีอีกบาน ในเบื้องต้นมีการปรับเรื่อง scalability เช่น ระบบไฟล์ขนาดใหญ่ >= 16 TB, ไดเรกทอรี > 32K, 64-bit (large) file .. และมีโครงสร้างรองรับให้เสถียรภาพของระบบไฟล์ดีขึ้น …ส่วนตัว ยังไม่ได้ทดสอบแต่หวังไว้ว่าจะเร็วกว่า ext3 (ซึ่งนับว่าช้าเมื่อเทียบกับ FS อื่นๆ) …ใครใจถึงก็ลุยได้
  • GFS2 clustering file system ของ Sistina ซึ่ง Red Hat ซื้อมาปรับปรุง + เปิดเผยซอร์ส เป็นอีกทางเลือกนอกเหนือจาก OCFS2 ของ Oracle
  • Ecryptfs ของ IBM เป็น encryped looped file system แนวๆ เดียวกับพวก cryptoloop/dmcrypt .. ไอเดียที่ IBM วางไว้คือเอาความยืดหยุ่นของ GnuPG มา encrypt ข้อมูลภายในเคอร์เนล
  • Merge Parallel ATA กับ Serial ATA .. แห่ไปใช้ libata กันให้หมด … ว่ากันว่าไดรเวอร์เดิมใน ATA/ATAPI/MFM/RLL ไม่ค่อยมีการดูแลกันมากอย่างที่ควร ในขณะที่ไดรเวอร์ ใหม่ที่ใช้กับ libata กำลังพัฒนากันอย่างเป็นล่ำเป็นสันโดยมี อลัน ค็อกซ์ เป็นหัวหอก .. เวลานี้ยังไม่มีแผนจะ deprecated ไดรเวอร์เดิม แต่คาดว่าในอนาคตคงย้ายมาใช้ libata กันหมด เพราะการออกแบบและโครงสร้างดีกว่าแบบเดิม .. สำหรับเวอร์ชัน 2.6.19 Serial ATA อยู่ระดับ production แล้ว ในขณะที่ Parallel ATA เพิ่งจะ experimental .. จริงๆ PATA ก็น่าจะใช้งานได้ระดับนึงแล้วแหละ ถ้าใจถึง หรือมีไดรว์ใหม่ๆ ว่างๆ ก็น่าจะลองดู หรือจะ bleeding edge ไปกว่านั้นก็ใช้คู่กับ Ext4 ด้วยเลย :P … อ่อ เปลี่ยนเป็น libata แปลว่า label/device จะอ้างอิง Parallel ATA แบบ SCSI device (/dev/sd??) เช่นเดียวกับ SATA
  • ถอดไดรเวอร์ OSS ออกหลายตัว .. ก็ใช้ ALSA ได้แล้วแหละนะ
  • สนับสนุน Amtel AVR32
  • Disable block layer บางอย่างได้ เหมาะกับพวก embedded systems
  • Track maximum allowable latency ตรวจหา latency ที่นานที่สุดที่เป็นไปได้เพื่อยืดเวลาการ execute code ไปให้นานที่สุด ส่งผลให้ใช้พลังงานน้อยลงได้
  • Sleepable RCU เดิม RCU บังคับว่า critical section ของ read-side ใน RCU จะถูก block หรือ sleep ไม่ได้ แต่ Paul McKinney บอกว่ามี request มาจากฝั่ง real-time อยากให้ read-side ของ RCU มัน preemptible หรือ sleepable ได้เพื่อให้การตอบสนองดี .. ก็เลยจัดให้ใน 2.6.19
  • เปลี่ยน default TCP congestion algorithm จาก BIC (Binary Increase Congestion) เป็น CUBIC (BIC + cubic function)
  • สนับสนุน Mobile IPv6
  • สนับสนุน multiple routing table ใน IPv6
  • สนับสนุน I2C สำหรับ intelfb
  • ไดรเวอร์ใหม่ การปรับปรุง แก้ไขอื่นๆ อีกเยอะแยะ

/me …

$ uname -a
Linux peorth 2.6.19-peorth #1 Fri Dec 1 20:31:07 ICT 2006 i686 GNU/Linux