Linux 6.13 çekirdek sürümü

İki aylık geliştirme sürecinin ardından Linus Torvalds, Linux çekirdeği 6.13'ün sürümünü sundu. En dikkate değer değişiklikler arasında: görev zamanlayıcıdaki tembel önleme modu, XFS ve Ext4'te atomik yazma desteği, "çoklu zaman damgaları" mekanizması, ağ alt sisteminde sorgulamayı etkinleştirmek için uyarlanabilir mod, AutoFDO optimizasyonlarıyla oluşturma yeteneği, ARM65 Korumalı Kontrol Yığını koruma mekanizması, ARM CCA uzantısını kullanan sanal izolasyon makineleri, BPF'de ayrı yığınlar, ReiserFS'nin kaldırılması, sanal cpufreq sürücüsü, netlink API'si net şekillendirici, büyük/küçük harfe duyarlı tmpfs bağlama modu, SMB3'te POSIX uzantıları desteği, AMD Cache Optimizer sürücüsü.

Yeni sürüm, 14172 geliştiricinin 2086 düzeltmesini içeriyor, yama boyutu 46 MB (değişiklikler 15375 dosyayı etkiledi, 598707 satır kod eklendi, 406294 satır silindi). Son sürümde 14607 geliştiriciden 2167 düzeltme vardı, yama boyutu 37 MB idi. 52'te yapılan değişikliklerin yaklaşık %6.13'si aygıt sürücüleriyle, değişikliklerin yaklaşık %13'ü donanım mimarilerine özgü kodların güncellenmesiyle, %11'i ağ yığınıyla, %4'ü dosya sistemleriyle ve %3'ü dahili çekirdek alt sistemleriyle ilgilidir.

Çekirdek 6.13'teki önemli yenilikler:

  • Disk Alt Sistemi, G/Ç ve Dosya Sistemleri
    • Değişiklik zamanı veya dosyalara erişim zamanı hakkında milisaniyeden daha yüksek bir doğrulukla ancak performans üzerinde olumsuz bir etki yaratmadan bilgi almanıza olanak tanıyan "çok tahıllı zaman damgaları" mekanizması eklendi. Etiketlerin doğruluğunun arttırılması, meta verinin diske yazılmasının yoğunluğunun artması nedeniyle ek yüke neden olur, dolayısıyla önerilen uygulamada, tüm dosyalar için daha doğru etiketler oluşturulmaz, yalnızca süreçlerin bu tür etiketleri talep ettiği dosyalar için oluşturulur. getattr() çağrısı.
    • Sektör boyutundan daha büyük verilerin bu yeteneği sağlayan depolama cihazlarına atomik olarak yazıldığı atomik yazma desteği eklendi. Şu anda XFS, O_DIRECT (Doğrudan G/Ç) modunda Ext4 ve md RAID 0/1/10 için atomik yazma uygulanmaktadır.
    • 3'ten fazla iş parçacığı içeren iş yüklerinde %5-255 performans artışı sağlayan yeni bir dosya referans sayma mekanizması önerilmiştir.
    • Geçen yıl geçerliliğini yitirdiği bildirilen ReiserFS dosya sisteminin uygulaması kaldırıldı.
    • Kendileriyle ilişkili dosyaları sildikten sonra "dentry" girişlerini (dizin öğelerinin dahili temsili) temizlemek için VFS politikasını ayarlamak üzere "fs.dentry-negative" sysctl parametresi eklendi. Bazı yük türleri için, silinen dosyalarla ilgili bu tür kayıtları bırakmak ve diğerleri için bunları silmek en uygunudur, böylece çekirdek bir seçenek sunar (varsayılan olarak "dişler" otomatik olarak silinmez).
    • Dosya sistemi seçeneklerinin listesini "\000" çıkışını kullanmayan, boş karakterle sonlandırılmış dizelerden oluşan bir dizi olarak döndürmek için statmount() sistem çağrısına STATMOUNT_OPT_ARRAY bayrağı eklendi. FS alt tipini (FUSE'nin kullanılıp kullanılmadığını belirlemek için fs_subtype), güvenli bağlama seçeneklerini ve kaynak süper bloğunu (sb_source) döndürme desteği eklendi.
    • OverlayFS, katmanları dosya yolu adları yerine dosya tanımlayıcıları aracılığıyla belirtme olanağı sağlar.
    • Büyük/küçük harfe duyarlı olmayan işlem için tmpfs dosya sistemine bir "casefold" bağlama seçeneği ve geçersiz UTF-8 karakterleri içeren adlara sahip dosyaların oluşturulmasını engellemek için bir "strict_encoding" seçeneği eklendi.
    • Genişletilmiş dosya özniteliklerini yönetmek için yeni bir sistem çağrıları kümesi önerilmiştir: setxattrat(), getxattrat(), listxattrat() ve kaldırxattrat(). setxattr(), getxattr(), listxattr() ve Removexattr() sistem çağrılarından farklı olarak, yeni seçenekler, dosya yolunun aranacağı dizinin dosya tanımlayıcısının belirtilmesini gerektirir.
    • Btrfs'ye, alt hacim temizliğinin tamamlanmasını beklemeyi de içeren, "btrfs alt hacim senkronizasyonu" komutunun SEARCH_TREE ioctl'ye erişimi olmayan ayrıcalıklı bir kullanıcı tarafından yürütülmesine izin veren BTRFS_IOC_SUBVOL_SYNC_WAIT ioctl işlemi eklendi (alt hacimleri temizleyen yedekleme uygulamalarında kullanışlıdır) . Kodlanmış verileri io_uring yoluyla okumak için (örneğin, sıkıştırmayı açmadan doğrudan sıkıştırılmış kapsamları okumak için) ENCODED_READ ioctl işlemi eklendi. Sayfa folio kullanımına geçiş çalışmalarına devam edildi. Gömülü geri bağlantılar ararken ve kapsam arabellekleri arasında yineleme yapılırken eşzamanlı kilitlenmelerin (“kilit çekişmesi”) ortaya çıkması azaltıldı. Geliştirilmiş kapsam haritası sıkıştırma verimliliği.
    • Salt okunur modda erişilebilen bölümlerde kullanılması amaçlanan EROFS (Genişletilebilir Salt Okunur Dosya Sistemi) dosya sisteminde, lseek() sistem çağrısında SEEK_HOLE ve SEEK_DATA seçeneklerini kullanmak mümkündür.
    • F2FS artık, başka bir FS'de bir blok aygıtının bir kısmını kullanmak için F2FS'de geçici olarak bir alan ayırmanıza olanak tanıyan aygıt takma adını destekliyor. Harici işlem tamamlandıktan sonra, ayrılmış alan F2FS'ye geri döndürülebilir. Örneğin, "mkfs.f2fs -c /dev/vdc@vdc.file /dev/vdb" komutunu kullanarak bir FS oluşturabilirsiniz, ardından /dev/vdc aygıtının içerikleri ayrılacak ve vdc.file dosyasına yansıtılacak ve /dev/vdc bölümü kendi ihtiyaçlarınız için, örneğin başka bir FS için biçimlendirilmiş olarak kullanılabilir. Ayrılmış içerikleri döndürmek için, vdc.file dosyasını silmeniz yeterlidir.
    • XFS, gerçek zamanlı cihazlar için kota desteği içerir. Tüm meta veri düğümlerini içeren bir meta veri dizini desteği eklendi.
    • FUSE motoru, "sysctl fs.fuse.max_pages_limit" kullanarak maksimum sayfa sayısını (FUSE_MAX_MAX_PAGES) dinamik olarak değiştirme yeteneğini içerir. Çalışma hafıza sayfası foliolarını içermektedir.
    • SMB, fifo, cihaz dosyaları ve sembolik bağlantılar gibi özel dosya türlerini depolamak için gereken SMB3'e POSIX uzantıları için destek sağlar. Parola döndürme sırasında kullanılan alternatif bir parolayla bir bölümü bağlama yeteneği eklendi. Ad alanını tanımlamak için yeni bağlama seçeneği "cifs.upcall" eklendi. Windows NFS Sunucusunda oluşturulan karakter ve blok cihaz dosyalarının tanınması sağlanır. WSL (Linux için Windows Alt Sistemi) tarzı sembolik bağlantılar için destek eklendi.
    • UBIFS, ADFS, BEFS, HFS, HFSPLUS, HPFS, JFS ve ECRYPTFS dosya sistemleri, yeni bölüm bağlama API'sini kullanacak şekilde dönüştürüldü.
    • Dosya sistemleri ve ECRYPTFS, UFS ve NILFS2, sayfa foliolarını kullanacak şekilde dönüştürüldü.
  • Bellek ve sistem hizmetleri
    • Zamanlayıcı, görevler için bir tembel ön alım modeli uygular (PREEMPT_LAZY, tembel ön alım); bu, gerçek zamanlı görevler için tam ön alım modeline (RR/FIFO/DEADLINE) karşılık gelir, ancak normal görevlerin ön alımını (SCHED_NORMAL) onay sınırına kadar geciktirir. Bu gecikme, kilit tutucu ön alımlarının azalmasına neden olur ve performansı gönüllü ön alım modelini kullanan yapılandırmalara yaklaştırır. Böylece yeni model, gerçek zamanlı görevler için tam önleme yeteneklerini korumanıza olanak tanır, ancak normal görevler için performans düşüşünü en aza indirir. Ayrıca yeni model, diğer çekirdek bileşenlerinde (görev zamanlayıcının dışında) bulunan işleyicileri planlama sürecinden çıkararak çekirdekteki görev önleme işlemlerinin mantığını basitleştirir.
    • Clang derleyicisi ile derleme yaparken optimizasyonları kullanmak mümkündür

      Kaynak: opennet.ru

Yorum ekle