- Linus Torvalds ने 6.11 kernel जारी किया
- उनका संदेश: "मैं एक बार फिर यात्रा पर हूँ, और यह मेरा सामान्य time zone नहीं है, लेकिन यहाँ Vienna में रविवार दोपहर है, और 6.11 आ चुका है।"
- इस release के प्रमुख बदलावों में
io_uring के लिए नए bind() और listen() operations, nested half-locking patch, busy executable files पर write support, Rust में block driver लिखने का support, block layer में atomic write operations का support, dedicated bucket slab allocator, और getrandom() का vDSO implementation शामिल हैं
आर्किटेक्चर-विशिष्ट बदलाव
- 64-bit Arm architecture अब ACPI systems पर CPU hotplug को support करता है। अधिक जानकारी के लिए यह document commit देखें
- X86 kernel अब AMD के SEV-SNP secure encrypted virtualization feature का उपयोग करके guest के रूप में चल सकता है। Secure VM service module का उपयोग किया गया है
- X86 की "fake EFI memory map" feature हटा दी गई है। यह feature boot के समय काल्पनिक memory map entries बनाने देती थी, लेकिन confidential computing configurations के साथ मेल नहीं खाती थी
- x86-64 systems के लिए AES-GCM cipher का नया implementation। performance improvement हमेशा स्वागतयोग्य है, लेकिन यह योगदान code और उसके काम करने के तरीके पर व्यापक documentation के कारण भी उल्लेखनीय है। अधिक जानकारी के लिए यह commit देखें
- PowerPC 40x platform support हटा दिया गया है
- RISC-V systems में memory hotplugging support जोड़ा गया है
core kernel
- io_uring subsystem अब bind() और listen() को implement करने वाले operations प्रदान करता है
- nsfs (namespace) file system के नए ioctl() operations का set PID namespaces के बीच process और thread group IDs का translation करता है
- pidfd file system अब pidfd द्वारा represented process के namespace file descriptors हासिल करने के लिए नए ioctl() calls को support करता है
- nested bottom-half locking patches merge कर दिए गए हैं। यह मुख्य रूप से real-time kernels में latency सुधारने के लिए है, लेकिन दूसरे users को भी इसका लाभ मिलेगा
- एक नया system call
uretprobe() जो फिलहाल सिर्फ x86-64 systems पर implement किया गया है। इसका काम user-space processes में dynamically insert किए गए uretprobe (function return tracepoints) की handling को optimize करना है
- function-graph tracer पर single-user restriction हटा दी गई है
- नए
reserve_mem= command-line parameter से named memory regions reserve किए जा सकते हैं। इसे pstore subsystem के साथ नए ramoops.mem_name= parameter के उपयोग के लिए जोड़ा गया है
file systems और block I/O
- statx() system call में अब path argument null pointer हो सकता है, अगर AT_EMPTY_PATH flag set हो
- open_by_handle_at() system call में 6.11 के साथ कुछ स्थितियों में permission checks थोड़े relaxed किए गए हैं, जहाँ kernel यह verify कर सकता है कि caller के पास file के लिए उचित access rights हैं
- Linux kernel परंपरागत रूप से उन executable files पर write को block करता था जो system में कहीं किसी process द्वारा use की जा रही हों। इसका उद्देश्य running programs के लिए अप्रिय surprises से बचाना था। kernel developers कई वर्षों से इस restriction को धीरे-धीरे हटा रहे हैं। 6.11 से kernel अब in-use executable files पर write को prevent नहीं करता
- Btrfs file system अब
rescue= mount option के लिए कुछ नए values (ignoremetacsums और ignoresuperflags) पहचानता है। इनका उद्देश्य उन file systems की recovery में मदद करना है जिन्हें user-space tools द्वारा आंशिक रूप से convert किया गया हो, खासकर वे जो checksum conversion कर रहे हों
- Btrfs में block group reclamation का तरीका बेहतर किया गया है। इससे उन स्थितियों से बचने में मदद मिलेगी जहाँ file system भरा हुआ न हो, फिर भी free space उपयोग नहीं हो पा रहा हो। नए dynamic reclamation threshold के काम करने के तरीके के लिए यह commit देखें
hardware support
- Qualcomm SM8650 camera clock controller
- SPD5118-compliant temperature sensors, Monolithic Power Systems MP2993 dual-loop digital multi-phase controller आदि के लिए hardware monitoring
- ChromeOS embedded controller sensors, ChromeOS EC-based charging controller आदि अन्य support
- Realtek RTL8192DU USB wireless network adapter, Renesas Ethernet-TSN interface, Vining 800 CAN interface आदि networking support
- Amlogic C3 PLL clock controller, Qualcomm SM7150 display/camera/video clock controller आदि clock-related support
- NXP IMX91 pin control unit, Nuvoton MA35 pin और GPIO controller आदि GPIO और pin control support
- Lincoln Technologies lcd197 panel, Ilitek ILI9806E-based panels आदि graphics support
- industrial I/O, input devices, media, miscellaneous, PHY, sound, USB आदि कई क्षेत्रों में नया hardware support जोड़ा गया है
अन्य
- devices को system में सही क्रम में power up कराने के लिए नया power sequencing subsystem जोड़ा गया है
- "sloppy logic analyzer" module GPIO lines के एक set को low-budget logic analyzer में बदल सकता है
- perf tool में कई नए features जोड़े गए हैं
- firmware loading के लिए Rust abstractions का एक छोटा set merge किया गया है। Rust में महत्वपूर्ण drivers लिखने के लिए अभी बहुत कुछ बाकी है, लेकिन वह सूची लगातार छोटी हो रही है
networking
- नए
net.tcp_rto_min_us sysctl knob के जरिए TCP sockets के minimum retransmission timeout को tune किया जा सकता है
- ethtool utility अब Net DIM का उपयोग करने वाले interfaces के लिए interrupt configuration को fine-tune कर सकती है
security-related
virtualization और containers
- KVM में AMD के SEV-SNP secure encrypted virtualization mechanism के लिए शुरुआती support जोड़ा गया है
- guest के run होने से पहले उसकी memory को pre-populate करने के लिए नया KVM ioctl() call जोड़ा गया है
internal kernel changes
- 6.11 में merge किया गया पहला बदलाव Linus Torvalds द्वारा जोड़ा गया नया "runtime constants" mechanism था
- iomap subsystem के लिए कुछ documentation आखिरकार जोड़ी गई
- kernel build करने के लिए जरूरी GNU Make का minimum version बढ़ाकर 4.0 कर दिया गया है
- 6.11 में 118 exported symbols हटाए गए और 464 जोड़े गए, यानी net increase 346 का रहा। साथ ही 6 नए kfuncs भी हैं
GN⁺ की राय
- 6.11 kernel release में कई architecture-specific improvements और hardware support का विस्तार प्रभावशाली है। खासकर 64-bit ARM और x86 में CPU hotplug और AMD SEV-SNP support सुरक्षा और virtualization के लिहाज से महत्वपूर्ण हैं
- io_uring और BPF में नए features जुड़ने से high-performance I/O और eBPF programming के लिए kernel-level support और मजबूत हुआ है। यह system performance optimization, monitoring और networking में काफी मददगार होगा
- power sequencing या sloppy logic analyzer जैसे नए subsystems और modules का आना embedded या IoT environments में Linux kernel की उपयोगिता बढ़ा सकता है
- runtime constants और बेहतर documentation जैसी internal code optimization और developer convenience improvements लगातार हो रही हैं। लेकिन documentation अब भी कई जगह कम है, इसलिए community-level collaboration की और जरूरत दिखती है
- 6.11 merge window के बाद के हिस्से में कई architectures के लिए performance improvements और नया hardware support प्रमुख रहे। खासकर x86-64 के AES-GCM optimization और RISC-V के memory hotplugging support उल्लेखनीय बदलाव हैं
- KVM में AMD SEV-SNP के लिए शुरुआती support जुड़ने से virtualization security में भी प्रगति हुई है। यह संकेत देता है कि cloud और edge computing environments में Linux kernel की भूमिका और बढ़ेगी
- firmware loading और heap-spray protection के लिए Rust abstractions का शामिल होना system programming language के रूप में Rust की संभावनाएँ दिखाता है। आगे kernel के भीतर Rust code का हिस्सा धीरे-धीरे बढ़ने की उम्मीद है
- scalable scheduler class merge का टलना थोड़ा निराशाजनक है, लेकिन पर्याप्त review और stabilization के लिए यह शायद जरूरी फैसला था। scheduler सीधे system performance को प्रभावित करता है, इसलिए सावधानीपूर्ण approach जरूरी है
3 टिप्पणियां
"6.10.10 में अपडेट करने के बाद भी कभी-कभी sleep mode से वापस नहीं जागता"
तो सिर्फ़ मेरे साथ ही ऐसा नहीं हो रहा था...
लगता है Torvalds भाई को अभी 200 साल और जीना चाहिए
Hacker News की राय