لينڪس ڪرنل رليز 5.14

ٻن مهينن جي ترقي کان پوء، Linus Torvalds پيش ڪيو لينڪس ڪنييل 5.14 جي ڇڏڻ. سڀ کان وڌيڪ قابل ذڪر تبديلين ۾: نئين quotactl_fd() ۽ memfd_secret() سسٽم ڪالون، آئيڊيا ۽ خام ڊرائيورز کي ختم ڪرڻ، سي گروپ لاءِ نئون I/O ترجيحي ڪنٽرولر، SCHED_CORE ٽاسڪ شيڊيولنگ ​​موڊ، تصديق ٿيل BPF پروگرام لوڊرز ٺاهڻ لاءِ انفراسٽرڪچر.

نئين ورزن ۾ 15883 ڊولپرز کان 2002 فيڪس شامل آهن، پيچ جي سائيز 69 MB آهي (تبديلين 12580 فائلن کي متاثر ڪيو، ڪوڊ جون 861501 لائينون شامل ڪيون ويون، 321654 لائينون ڊهي ويون). 47 ۾ متعارف ٿيل سڀني تبديلين مان تقريباً 5.14 سيڪڙو ڊيوائس ڊرائيورن سان لاڳاپيل آهن، تقريبن 14 سيڪڙو تبديليون هارڊويئر آرڪيٽيڪچرز لاءِ مخصوص ڪوڊ اپڊيٽ ڪرڻ سان لاڳاپيل آهن، 13 سيڪڙو نيٽ ورڪنگ اسٽيڪ سان لاڳاپيل آهن، 3 سيڪڙو فائيل سسٽم سان لاڳاپيل آهن، ۽ 3٪ اندروني ڪنيل سب سسٽم سان لاڳاپيل آهن.

مکيه جدت:

  • ڊسڪ سب سسٽم، I/O ۽ فائل سسٽم
    • cgroups، rq-qos لاءِ هڪ نئون I/O prioritization ڪنٽرولر لاڳو ڪيو ويو آهي، جيڪو هر cgroup جي ميمبرن پاران ٺاهيل ڊوائيسز کي بلاڪ ڪرڻ لاءِ درخواستن جي پروسيسنگ ترجيح کي ڪنٽرول ڪري سگهي ٿو. نئون ترجيحي ڪنٽرولر سپورٽ شامل ڪيو ويو آھي mq-deadline I/O شيڊيولر ۾.
    • ext4 فائل سسٽم هڪ نئون ioctl ڪمانڊ، EXT4_IOC_CHECKPOINT لاڳو ڪري ٿو، جيڪو جرنل ۽ ان سان لاڳاپيل بفرز مان سڀني التوا واري ٽرانزيڪشن کي ڊسڪ تي فلش ڪرڻ لاءِ مجبور ڪري ٿو، ۽ اسٽوريج ۾ جرنل پاران استعمال ڪيل علائقي کي به اوور رائٽ ڪري ٿو. تبديلي تيار ڪئي وئي هڪ شروعات جي حصي طور فائل سسٽم مان معلومات جي ليڪ کي روڪڻ لاءِ.
    • Btrfs لاءِ ڪارڪردگي بهتريون ڪيون ويون آهن: fsync جي عمل دوران وڌايل خاصيتن جي غير ضروري لاگنگ کي ختم ڪرڻ سان، وڌايل خاصيتن سان سخت آپريشن جي ڪارڪردگي 17٪ تائين وڌي وئي آهي. اضافي طور تي، جڏهن ٽرم آپريشن کي انجام ڏيو جيڪي حدن تي اثر انداز نه ڪن، مڪمل هم وقت سازي کي بند ڪيو ويو آهي، جيڪو آپريشن جو وقت 12٪ گھٽائي ٿو. sysfs ۾ هڪ سيٽنگ شامل ڪئي وئي آهي I/O بينڊوڊٿ کي محدود ڪرڻ لاءِ جڏهن FS چيڪ ڪيو وڃي. شامل ڪيو ويو ioctl ڪالن کي رد ڪرڻ ۽ ڊيوائس آپريشن کي ختم ڪرڻ لاءِ.
    • XFS ۾، بفر ڪيش جي عمل کي ٻيهر ترتيب ڏنو ويو آهي، جيڪو بيچ موڊ ۾ ميموري صفحن کي مختص ڪرڻ لاء تبديل ڪيو ويو آهي. بهتر ڪيل ڪيش ڪارڪردگي.
    • F2FS صرف پڙهڻ واري موڊ ۾ هلائڻ لاءِ اختيار شامل ڪري ٿو ۽ بي ترتيب پڙهڻ واري ڪارڪردگي کي بهتر ڪرڻ لاءِ ڪمپريسڊ بلاڪ ڪيش موڊ (compress_cache) لاڳو ڪري ٿو. mmap() آپريشن کي استعمال ڪندي ميموري ۾ ميپ ڪيل فائلن کي ڪمپريس ڪرڻ لاءِ سپورٽ لاڳو ڪئي وئي آهي. ھڪڙي ماسڪ جي بنياد تي فائل ڪمپريشن کي منتخب ڪرڻ لاء، ھڪڙو نئون ماؤنٽ اختيار nocompress تجويز ڪيو ويو آھي.
    • ڪم ڪيو ويو آهي exFAT ڊرائيور ۾ ڪجهه ڊجيٽل ڪئميرا اسٽوريج سان مطابقت بهتر ڪرڻ لاءِ.
    • شامل ڪيو ويو quotactl_fd() سسٽم ڪال، جيڪو توهان کي ڪوٽا منظم ڪرڻ جي اجازت ڏئي ٿو هڪ خاص ڊوائيس فائل ذريعي نه، پر فائل سسٽم سان لاڳاپيل هڪ فائل بيان ڪندڙ جي وضاحت ڪندي جنهن لاء ڪوٽا لاڳو ڪيو ويو آهي.
    • IDE انٽرفيس سان بلاڪ ڊيوائسز لاءِ پراڻا ڊرائيور ڪرنل مان هٽايا ويا آهن؛ انهن کي گهڻي عرصي کان ليباٽا سبسسٽم سان تبديل ڪيو ويو آهي.
    • "خام" ڊرائيور کي ڪرنيل مان هٽايو ويو آهي، /dev/raw انٽرفيس ذريعي بلاڪ ڊوائيسز تائين اڻ بفر رسائي فراهم ڪري ٿي. هي فنڪشنلٽي گهڻي عرصي کان لاڳو ڪئي وئي آهي ايپليڪيشنن ۾ O_DIRECT پرچم استعمال ڪندي.
  • ميموري ۽ سسٽم خدمتون
    • ٽاسڪ شيڊيولر هڪ نئين شيڊولنگ موڊ، SCHED_CORE کي لاڳو ڪري ٿو، جيڪو توهان کي ڪنٽرول ڪرڻ جي اجازت ڏئي ٿو ته ڪهڙن عملن کي ساڳئي CPU ڪور تي گڏ ڪري سگهجي ٿو. هر عمل کي ڪوڪي سڃاڻپ ڪندڙ مقرر ڪري سگهجي ٿو جيڪو عملن جي وچ ۾ اعتماد جي دائري کي بيان ڪري ٿو (مثال طور، ساڳئي صارف يا ڪنٽينر سان تعلق رکندڙ). جڏهن ڪوڊ جي عمل کي منظم ڪندي، شيڊولر اهو يقيني بڻائي سگهي ٿو ته هڪ سي پي يو ڪور صرف هڪ ئي مالڪ سان لاڳاپيل عملن جي وچ ۾ شيئر ڪيو ويو آهي، جيڪو ڪجهه اسپيڪٽر حملن کي بلاڪ ڪرڻ لاءِ استعمال ڪري سگهجي ٿو قابل اعتماد ۽ ناقابل اعتماد ڪمن کي هڪ ئي SMT (Hyper Threading) سلسلي تي هلڻ کان روڪيو. .
    • cgroup لاءِ، ڪِل آپريشن لاءِ سپورٽ لاڳو ڪئي وئي آھي، جيڪا توھان کي اجازت ڏئي ٿي ته گروپ سان لاڳاپيل سڀني عملن کي ھڪ ئي وقت ختم ڪري سگھو ٿا (SIGKILL موڪليو) ورچوئل فائل cgroup.kill تي ”1“ لکڻ سان.
    • اسپلٽ لاڪ ("اسپلٽ لاڪ") جي ڳولا جي جواب ڏيڻ سان لاڳاپيل توسيع صلاحيتون جيڪي واقع ٿينديون آهن جڏهن ميموري ۾ غير ترتيب ڏنل ڊيٽا تائين رسائي حاصل ڪرڻ جي حقيقت اها آهي ته جڏهن ايٽمي هدايتن تي عمل ڪندي، ڊيٽا ٻه سي پي يو ڪيش لائنن کي پار ڪري ٿو. اهڙي بلاڪنگ ڪارڪردگي ۾ هڪ اهم گهٽتائي جي ڪري ٿي، تنهنڪري اڳ ۾ اهو ممڪن هو ته زبردستي ايپليڪيشن کي ختم ڪيو وڃي جيڪا بلاڪنگ سبب ٿي. نئون رليز شامل ڪري ٿو ڪنيل ڪمانڊ لائن پيٽرول “split_lock_detect=ratelimit:N”، جيڪو توهان کي في سيڪنڊ لاڪنگ آپريشن جي شرح تي سسٽم جي وسيع حد مقرر ڪرڻ جي اجازت ڏئي ٿو، جنهن کان پوءِ جيڪو به عمل جيڪو ورهايل تالا جو ذريعو بڻجي ويو آهي. ختم ڪرڻ بدران 20 ايم ايس تائين بند ڪرڻ تي مجبور ڪيو ويندو.
    • cgroup bandwidth controller CFS (CFS bandwidth controller)، جيڪو اهو طئي ڪري ٿو ته ڪيترو پروسيسر وقت هر cgroup کي مختص ڪري سگهجي ٿو، وقت جي محدود حدن کي مقرر ڪرڻ جي صلاحيت کي لاڳو ڪري ٿو، جيڪا دير سان حساس ڪم لوڊ جي بهتر ضابطي جي اجازت ڏئي ٿي. مثال طور، cpu.cfs_quota_us کي 50000 ۽ cpu.cfs_period_us کي 100000 تي سيٽ ڪرڻ عمل جي هڪ گروپ کي اجازت ڏيندو ته هر 100ms تي 50ms CPU وقت ضايع ڪري.
    • BPF پروگرام لوڊرز ٺاهڻ لاءِ ابتدائي انفراسٽرڪچر شامل ڪيو ويو، جيڪو وڌيڪ اجازت ڏيندو صرف BPF پروگرامن جي لوڊ ڪرڻ جي قابل اعتماد ڊجيٽل ڪيئي سان دستخط ٿيل.
    • شامل ڪيو ويو ھڪڙو نئون futex آپريشن FUTEX_LOCK_PI2، جيڪو ھڪڙي ٽائمر کي ڳڻڻ لاءِ هڪ monotonic ٽائمر استعمال ڪري ٿو جيڪو سسٽم جي ننڊ موڊ ۾ خرچ ڪيل وقت کي حساب ۾ رکي ٿو.
    • RISC-V آرڪيٽيڪچر لاءِ، وڏي ميموري صفحن لاءِ سپورٽ (شفاف وڏي-صفحا) ۽ KFENCE ميڪانيزم کي استعمال ڪرڻ جي صلاحيت غلطين کي ڳولڻ لاءِ جڏهن ميموري سان ڪم ڪيو وڃي ٿو.
    • madvise() سسٽم ڪال، جيڪو پروسيس ميموري مئنيجمينٽ کي بهتر ڪرڻ لاءِ هڪ وسيلو مهيا ڪري ٿو، شامل ڪيو آهي MADV_POPULATE_READ ۽ MADV_POPULATE_WRITE جھنڊو سڀني ميموري صفحن تي "پيج فالٽ" پيدا ڪرڻ لاءِ جيڪو ميپ ڪيو ويو آهي پڙهڻ يا لکڻ جي عملن کي بغير ڪنهن حقيقي پڙهڻ يا لکڻ (پريفالٽ). ). جھنڊن جو استعمال پروگرام جي عمل ۾ دير کي گھٽائڻ لاءِ ڪارائتو ٿي سگھي ٿو، ڇاڪاڻ ته "صفحي جي غلطي" ھينڊلر جي فعال عمل جي ڪري سڀني غير مختص ڪيل صفحن لاءِ ھڪ ئي وقت، انھن تائين حقيقي پهچ جو انتظار ڪرڻ کان سواءِ.
    • ڪنيٽ يونٽ ٽيسٽنگ سسٽم QEMU ماحول ۾ هلندڙ ٽيسٽ لاءِ سپورٽ شامل ڪئي آهي.
    • نوان پيچرا شامل ڪيا ويا آهن: "osnoise" ايپليڪيشن جي دير کي ٽريڪ ڪرڻ لاءِ جيڪو مداخلت ڪرڻ جي ڪري ٿي، ۽ "ٽائمرلٽ" تاخير بابت تفصيلي معلومات ڏيکارڻ لاءِ جڏهن ٽائمر سگنل مان جاڳندا.
  • ورچوئلائيزيشن ۽ سيڪيورٽي
    • memfd_secret() سسٽم ڪال شامل ڪئي وئي آهي هڪ پرائيويٽ ميموري ايريا ٺاهڻ لاءِ هڪ الڳ ايڊريس اسپيس ۾، رڳو مالڪي جي عمل کي نظر اچي، ٻين عملن کي ظاهر نه ڪيو وڃي، ۽ سڌو سنئون ڪنيل تائين رسائي لائق ناهي.
    • seccomp سسٽم ڪال فلٽرنگ سسٽم ۾، جڏهن بلاڪنگ هينڊلر کي يوزر اسپيس ۾ منتقل ڪيو وڃي ٿو، اهو ممڪن آهي ته هڪ واحد ايٽمي آپريشن استعمال ڪرڻ لاءِ هڪ فائيل ڊسڪرپٽر ٺاهي هڪ الڳ ڪم لاءِ ۽ ان کي واپس ڪيو جڏهن هڪ سسٽم ڪال کي پروسيس ڪيو وڃي. تجويز ڪيل آپريشن صارف جي جڳهه ۾ هينڊلر کي مداخلت ڪرڻ جو مسئلو حل ڪري ٿو جڏهن سگنل اچي ٿو.
    • استعمال ڪندڙ جي سڃاڻپ جي نالي جي جڳهه ۾ وسيلن جي حدن کي منظم ڪرڻ لاء هڪ نئون ميکانيزم شامل ڪيو ويو آهي، جيڪو "يوزر ​​نيم اسپيس" ۾ استعمال ڪندڙ کي انفرادي rlimit شمار ڪندڙن کي پابند ڪري ٿو. تبديلي عام وسيلن جي ڳڻپيندڙن جي استعمال سان مسئلو حل ڪري ٿي جڏهن هڪ صارف مختلف ڪنٽينرز ۾ پروسيس هلائي ٿو.
    • ARM64 سسٽم لاءِ KVM هائپر وائيزر گيسٽ سسٽم ۾ MTE (MemTag، Memory Tagging Extension) ايڪسٽينشن کي استعمال ڪرڻ جي صلاحيت شامل ڪئي آهي، جيڪا توهان کي هر ميموري مختص ڪرڻ واري آپريشن ۾ ٽيگ بائنڊ ڪرڻ جي اجازت ڏئي ٿي ۽ ان جي استحصال کي روڪڻ لاءِ پوائنٽرز جي صحيح استعمال کي جانچڻ کي منظم ڪري ٿي. اڳ ۾ ئي آزاد ٿيل ميموري بلاڪ، اوور فلوز بفر، شروعاتي کان اڳ رسائي ۽ موجوده حوالي کان ٻاهر استعمال ڪرڻ جي ڪري پيدا ٿيندڙ نقصان.
    • ARM64 پليٽ فارم جي پوائنٽر جي تصديق جون سهولتون هاڻي ڪنيل ۽ يوزر اسپيس لاءِ الڳ ترتيب ڏئي سگھجن ٿيون. ٽيڪنالاجي توهان کي ڊجيٽل دستخط استعمال ڪندي واپسي پتي جي تصديق ڪرڻ لاءِ خاص ARM64 هدايتون استعمال ڪرڻ جي اجازت ڏئي ٿي جيڪي پاڻ پوائنٽر جي غير استعمال ٿيل اپر بٽ ۾ محفوظ ٿيل آهن.
    • يوزر موڊ لينڪس PCI ڊوائيسز لاءِ ڊرائيورز استعمال ڪرڻ لاءِ سپورٽ شامل ڪئي آهي مجازي PCI بس سان، PCI-over-virtio ڊرائيور پاران لاڳو ڪيل.
    • x86 سسٽم لاءِ، شامل ڪيل سپورٽ virtio-iommu paravirtualized ڊيوائس لاءِ، اجازت ڏئي ٿي IOMMU درخواستن جهڙوڪ ATTACH، DETACH، MAP ۽ UNMAP کي ميموري پيج جي ٽيبلن کي نقل ڪرڻ کان سواءِ ورٽيو ٽرانسپورٽ تي موڪليو وڃي.
    • Intel CPUs لاءِ، Skylake خاندان کان وٺي Coffee Lake تائين، Intel TSX (Transactional Synchronization Extensions) جو استعمال، جيڪي غير ضروري هم وقت سازي جي عملن کي متحرڪ طور تي ختم ڪري گھڻن موضوعن واري ايپليڪيشنن جي ڪارڪردگيءَ کي بهتر ڪرڻ لاءِ اوزار مهيا ڪن ٿا، ڊفالٽ طور بند ٿيل آھي. زومبي لوڊ حملن جي امڪان جي ڪري توسيع بند ٿيل آهن جيڪي ٽئين پارٽي چينلز ذريعي معلومات جي رسي کي هٿي وٺن ٿيون جيڪي TAA (TSX Asynchronous Abort) ميڪانيزم جي آپريشن دوران ٿينديون آهن.
  • نيٽ ورڪ سب سسٽم
    • MPTCP (MultiPath TCP) جي بنيادي ۾ انضمام، TCP ڪنيڪشن جي آپريشن کي منظم ڪرڻ لاءِ TCP پروٽوڪول جي توسيع، مختلف IP پتي سان جڙيل مختلف نيٽ ورڪ انٽرفيس ذريعي ڪيترن ئي رستن سان گڏ پيڪٽن جي ترسيل سان. نئون رليز IPv4 ۽ IPv6 (ملٽي پاٿ هيش پاليسي) لاءِ توهان جي پنهنجي ٽرئفڪ هيشنگ پاليسين کي ترتيب ڏيڻ لاءِ هڪ ميکانيزم شامل ڪري ٿو، اهو ممڪن بڻائي ٿو ته صارف جي جاءِ مان معلوم ڪرڻ لاءِ ته پيڪيٽ ۾ ڪهڙيون فيلڊون شامل آهن، جنهن ۾ شامل ٿيل آهن، استعمال ڪيا ويندا جڏهن هيش جي حساب سان. پيڪ لاء رستو جو انتخاب.
    • SOCK_SEQPACKET ساکٽس لاءِ سپورٽ (ڊيٽاگرام جي ترتيب ڏنل ۽ قابل اعتماد ٽرانسميشن) ورچوئل ٽرانسپورٽ ۾ شامل ڪئي وئي آهي.
    • SO_REUSEPORT ساکٽ ميڪانيزم جي صلاحيتن کي وڌايو ويو آهي، جيڪو ڪيترن ئي ٻڌندڙ ساکٽس کي هڪ ئي وقت ۾ هڪ بندرگاهن سان ڳنڍڻ جي اجازت ڏئي ٿو SO_REUSEPORT ذريعي ڳنڍيل سڀني ساکٽ تي هڪ ئي وقت ۾ ايندڙ درخواستن جي ورڇ سان ڪنيڪشن حاصل ڪرڻ لاء، جيڪو ايپليڪيشن ملٽي ٿريڊ سرور جي تخليق کي آسان بڻائي ٿو. . نئين نسخي ۾ ناڪامي جي صورت ۾ ڪنٽرول کي ٻئي ساکٽ ۾ منتقل ڪرڻ جا اوزار شامل ڪيا ويا آهن جڏهن شروعاتي طور تي چونڊيل ساکٽ طرفان درخواست تي عمل ڪيو ويندو آهي (سروسز کي ٻيهر شروع ڪرڻ وقت انفرادي ڪنيڪشن جي نقصان سان مسئلو حل ڪري ٿو).
  • سامان
    • amdgpu ڊرائيور GPUs جي نئين AMD Radeon RX 6000 سيريز لاءِ مدد فراهم ڪري ٿو، ڪوڊنيم “Beige Goby” (Navi 24) ۽ “Yellow Carp”، انهي سان گڏ Aldebaran GPU (gfx90a) ۽ وان گوگ APU لاءِ بهتر سپورٽ. ڪيترن ئي اي ڊي پي پينلز سان گڏ ڪم ڪرڻ جي صلاحيت شامل ڪئي وئي. APU Renoir لاءِ، وڊيو ميموري (TMZ، Trusted Memory Zone) ۾ انڪريپٽ ٿيل بفرز سان ڪم ڪرڻ لاءِ سپورٽ لاڳو ڪئي وئي آهي. گرم-انپلگ گرافڪس ڪارڊ لاءِ سپورٽ شامل ڪئي وئي. Radeon RX 6000 (Navi 2x) GPUs ۽ پراڻا AMD GPUs لاءِ، ASPM (Active State Power Management) سپورٽ ڊفالٽ طور فعال ڪئي وئي آھي، جيڪا اڳي رڳو Navi 1x، Vega ۽ Polaris GPUs لاءِ فعال ھئي.
    • AMD چپس لاءِ، گڏيل ورچوئل ميموري لاءِ سپورٽ (SVM، ورچوئل ميموري) شامل ڪئي وئي آهي HMM (Heterogeneous ميموري مئنيجمينٽ) سبسسٽم جي بنياد تي، جيڪو ڊوائيسز جي استعمال جي اجازت ڏئي ٿو انهن جي پنهنجي ميموري مئنيجمينٽ يونٽن (MMU، ميموري مئنيجمينٽ يونٽ)، جيڪو مين ياداشت تائين رسائي ڪري سگھي ٿو. خاص طور تي، HMM استعمال ڪندي، توهان GPU ۽ CPU جي وچ ۾ هڪ گڏيل پتي جي جڳهه کي منظم ڪري سگهو ٿا، جنهن ۾ GPU پروسيس جي مکيه ياداشت تائين رسائي ڪري سگهي ٿو.
    • AMD سمارٽ شفٽ ٽيڪنالاجي لاءِ شروعاتي سپورٽ شامل ڪئي وئي، جيڪا گيمنگ، وڊيو ايڊيٽنگ، ۽ 3D رينڊرنگ جي ڪارڪردگي کي وڌائڻ لاءِ AMD چپسيٽ ۽ گرافڪس ڪارڊ سان ليپ ٽاپ تي سي پي يو ۽ GPU پاور سيٽنگون متحرڪ طور تي تبديل ڪري ٿي.
    • انٽيل گرافڪس ڪارڊ لاءِ i915 ڊرائيور ۾ Intel Alderlake P چپس لاءِ سپورٽ شامل آهي.
    • شامل ڪيو ويو drm/hyperv ڊرائيور Hyper-V ورچوئل گرافڪس اڊاپٽر لاءِ.
    • Raspberry Pi 400 آل-ان-ون ڪمپيوٽر لاءِ سپورٽ شامل ڪئي وئي.
    • ڊيل ليپ ٽاپ ۾ شامل هارڊويئر ڪئميرا ۽ مائڪروفون سوئچز کي سپورٽ ڪرڻ لاءِ ڊيل-wmi-پرائيويسي ڊرائيور شامل ڪيو ويو.
    • Lenovo ليپ ٽاپ لاءِ، BIOS سيٽنگون تبديل ڪرڻ لاءِ sysfs /sys/class/firmware-attributes/ ذريعي WMI انٽرفيس شامل ڪيو ويو آھي.
    • USB4 انٽرفيس سان ڊوائيسز لاء وڌايل سپورٽ.
    • AmLogic SM1 TOACODEC، Intel AlderLake-M، NXP i.MX8، NXP TFA1، TDF9897، Rockchip RK817، Qualcomm Quinary MI2 ۽ Texas Instruments TAS2505 سائونڊ ڪارڊ ۽ ڪوڊيڪس لاءِ شامل ڪيل سپورٽ. HP ۽ ASUS ليپ ٽاپ تي بهتر آڊيو سپورٽ. USB ڊوائيسز تي آڊيو شروع ٿيڻ کان اڳ دير کي گهٽائڻ لاء پيچ شامل ڪيا ويا.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو