Linux Çekirdeği 6.18 Yayınlandı, İşte Yenilikler


Linux çekirdeği 6.18, genişletilmiş mimari desteği, BPF güncellemeleri, yeni ad alanı dosya tutamaç özellikleri ve CPU'lar, GPU'lar ile sensörler genelinde kapsamlı donanım etkinleştirmeleri sunuyor.

Linus Torvalds, yeni Linux çekirdeği 6.18'in resmi sürümünü duyurdu.

“Yani itiraf etmeliyim ki, bu sürümün son haftasında biraz daha az hata düzeltmesi gürültüsü olsaydı daha mutlu olurdum, ama umduğumdan biraz daha fazla düzeltme olmasına rağmen, bana bunun daha fazla pişmesi gerektiğini hissettiren bir şey yoktu. Yani 6.18 etiketlendi ve yayımlandı.”

Linux 6.18'deki Önemli Özellikler

Yüksek seviyede, Linux çekirdeği 6.18, TCP bağlantıları için PSP tabanlı yeni bir şifreleme seçeneği, daha hızlı slab tahsisi ve takas, kayda değer UDP alım tarafı iyileştirmeleri, kalıcı önbellek cihazı haritalayıcı hedefi, dosya tutacakları aracılığıyla yönetilebilen ad alanları, TCP'de Doğru ECN desteği ve imzalı BPF programları sunuyor; bunların yanı sıra birçok küçük çekirdek ve sürücü değişiklikleri de mevcut.

Öne çıkan değişikliklerden biri, SLUB ayırıcıda “sheaves” (demetler) kavramının tanıtılmasıdır. Basitçe söylemek gerekirse, çekirdek artık küçük bellek nesnelerinin CPU başına önbelleklerini tutuyor, böylece çoğu tahsis ve serbest bırakma işlemi, CPU'lar arasında senkronizasyon yapmadan yerel olarak gerçekleştirilebiliyor. Bu, yoğun görevlerdeki çatışmayı azaltır ve hem tahsis hem de serbest bırakmayı hızlandırır, RCU'ya yoğun bir şekilde dayanan iş yükleri için performansı artırır.

Takvim performansı da gelişen bir diğer alan. Linux 6.18, takas önbelleği için arka uç olarak kullanılan yeni bir soyutlama getiren “takas tablosu” çalışmasının ilk aşamasını sunuyor. Amaç, özellikle bellek baskısı altında takas aramalarını ve yönetimini daha verimli hale getirmek.

Buna göre, birleştirme notlarında bildirilen kıyaslamalar, temsilci iş yükleri için %5–20 oranında verimlilik ve saniye başına istek artışı sağladığını ve büyük sayfa tahsislerinde stres altında daha iyi performans gösterdiğini ortaya koyuyor.

Depolama tarafında, yeni bir cihaz eşleyici hedefi olan dm-pcache, CXL tabanlı veya DAX destekli cihazlar gibi kalıcı belleğin, daha yavaş blok cihazlarının önünde yüksek hızlı bir önbellek olarak kullanılmasına olanak tanıyor. Bu, sistem tasarımcılarına, özel kullanıcı alanı koduna ihtiyaç duymadan, kalıcı belleği DRAM ile SSD'ler veya diskler arasında bir katman olarak ele almak için çekirdek düzeyinde bir yol sunuyor.

Aynı zamanda, NFS sunucusu kendi I/O önbelleklemesini tamamen devre dışı bırakma seçeneğine de kavuşur. Bu, mantığa aykırı görünebilir, ancak büyük, yoğun yük altındaki sunucular veya çok küçük bulut örnekleri için sunucu tarafı önbelleklemesini atlamak aslında ölçeklenebilirliği artırabilir ve yerel belleğin aşırı kullanılmasını önleyebilir.

İşlem ve ad alanı yönetimi kayda değer bir kullanılabilirlik geliştirmesi alıyor. Çekirdek, Linux 5.1’den beri süreçlere dosya tanımlayıcı tutacak pidfd’leri destekliyor ve bunlar sağlam süreç yönetimi için çok faydalı olduğunu kanıtladı.

Linux çekirdeği 6.18, aynı fikri ad alanlarına genişletiyor: kullanıcı alanı artık mevcut name_to_handle_at() ve open_by_handle_at() API’lerini kullanarak ad alanı tanımlayıcılarını kodlayabilir ve çözebilir. Bu, ad alanlarına sistemin ömrü boyunca tutarlı bir şekilde başvurmayı, bunları güvenilir şekilde karşılaştırmayı ve ekstra kaynak ayırmadan aktarmayı mümkün kılıyor.

Ağ alanı, yeni sürümün Doğru Açık Tıkanıklık Bildirimi (Accurate Explicit Congestion Notification) için ilk desteği eklemesiyle birkaç önemli değişiklik görüyor; bu özellik, klasik ECN'yi genişleterek RTT başına kaç tane tıkanıklık işareti görüldüğü hakkında daha ayrıntılı geri bildirim sağlıyor.

UDP tarafında, alım yolu, çekişmeyi azaltmak ve NUMA farkındalıklı kilitleme ve daha iyi veri yapısı düzenleri kullanmak için yeniden düzenlendi; değişiklik günlüğünde belirtilen testler, UDP alım performansında yaklaşık %50 daha iyi sonuçlar bildiriyor ve az sayıda soketin çok yüksek paket hızları aldığı saldırı benzeri koşullarda daha da büyük kazançlar sağlıyor.

Buna ek olarak, varsayılan soket alma tampon boyutu da 4 MB’a çıkarıldı ve daha önce yapılan doğrudan dahili tampon paylaşımı (dibs) çalışması birleştirildi, bu da yüksek hacimli ağ trafiği için ölçeklenebilirliği daha da artırıyor.

Güvenlik ve taşımacılık şifrelemesi, PSP ile şifrelenmiş TCP bağlantıları desteği ile güçlendirilmiştir. Google tarafından geliştirilen bir protokol olan PSP, IPsec ve TLS arasında bir orta yol sunar: her ikisiyle de bazı mimari benzerliklere sahiptir ancak güçlü donanım yük devretme için tasarlanmıştır, tünelleme modları dahil, bu da yük devretme motorlarının yaygın olduğu veri merkezi uygulamaları için cazip hale getirir.

BPF alt sistemi, kriptografik olarak imzalanmış BPF programlarını yükleme yeteneği kazanıyor. Şimdilik, ana değişiklik altyapı ile ilgili: çekirdek, programlar yüklenirken imzalarını doğrulayabiliyor. Ayrıca, denetim alt sistemi, birden fazla Linux Güvenlik Modülü aynı anda etkinleştirildiğinde Linux çekirdeği 6.18'in olay yönetimini iyileştirirken sağlam çoklu LSM desteğine doğru ilerlemeye devam ediyor.

Sanalizasyon cephesinde, bu sürüm, hypervisorların SPI aygıtlarını sanal makinelerde doğrudan standart virtio mekanizması aracılığıyla kullanılabilir hale getirmesini sağlayan bir virtio SPI sürücüsü sunuyor. x86 sunucularda ise SEV-SNP Şifre Metni Gizleme özelliği kullanılabilir hale geliyor; bu, yetkili olmayan CPU’ların bir misafirin özel belleğine erişmesini ve bu bellekteki şifreli metni görmesini engelliyor.

KVM tarafında, artık Intel donanımında gölge yığınlar ve dolaylı dallanma takibi ile AMD'de gölge yığınlar sağlayabiliyor ve konuklara modern kontrol akışı korumalarına erişim imkanı tanıyor.

Dosya sistemleri ve blok katmanı, özellik çalışmaları ve temizlik çalışmalarının bir karışımını görüyor. Yeni dm-pcache hedefi de burada yer alıyor ve blok cihazlarının önünde kalıcı önbellekleme sağlıyor. Ext4 modernleşmeye devam ediyor; genişletilmiş ayrılmış kimlik desteği ve süper blok parametrelerini almak ve değiştirmek için yeni bir ioctl arayüzü sunuluyor, ayrıca ayrı ext3 yapılandırma seçeneklerinin son izleri kaldırılıyor.

OverlayFS artık büyük/küçük harf duyarsızlığı desteği kazanıyor ve FUSE dosya sistemleri artık büyük aralık kopyalarını doğrudan işleyebiliyor. Ayrı olarak, kullanımdan kaldırılmış bir grup XFS seçeneği varsayılan olarak devre dışı bırakılıyor, obsolete mount seçenekleri kaldırılıyor ve çevrim içi fsck artık varsayılan olarak etkin ve deneysel olarak görülmüyor. Linux çekirdeği 6.18 ayrıca Bcachefs dosya sistemini tamamen kaldırıyor ve bazı dosya sistemleri paylaşılan meta veriler üzerindeki çatışmayı azaltmak için yeni kilitsiz bitmap uygulamaları benimsiyor.

Son olarak, donanım desteği ile ilgili olarak, bu sürüm, çok çeşitli GPU’lar (daha yeni Mali varyantları ve ek SoC grafik blokları dahil), ekran köprüleri ve paneller, gömülü SoC’ler, ağ kartları, güç kontrolörleri ve regülatörler, endüstriyel I/O sensörleri, depolama kontrolörleri, USB PHY’leri ve tekrarlayıcıları, ses cihazları ve giriş ile dokunsal kontrolörler için yeni veya geliştirilmiş sürücüler sunuyor.

Linux çekirdeği 6.18'i kendileri derlemeye hevesli olanlar için şimdi kernel.org'dan indirilebilir durumda. Her zamanki gibi, sürekli güncelleme alan dağıtım kullanıcıları yeni çekirdeği ilk alacak olanlar olacak ve güncellemenin önümüzdeki haftalar içinde onların depolarında mevcut olması bekleniyor.