11 puan yazan GN⁺ 2024-09-16 | 3 yorum | WhatsApp'ta paylaş
  • Linus Torvalds, 6.11 çekirdeğini yayımladı
    • Mesajı: "Bir kez daha seyahatteyim ve normal zaman dilimimde değilim, ancak burada Viyana'da pazar öğleden sonrası ve 6.11 çıktı."
  • Bu sürümdeki başlıca değişiklikler arasında io_uring için yeni bind() ve listen() işlemleri, iç içe bottom-half kilitleme yamaları, kullanımda olan çalıştırılabilir dosyalara yazma desteği, Rust ile blok sürücüsü yazma desteği, blok katmanında atomik yazma işlemleri desteği, özel bucket slab allocator ve getrandom() için vDSO uygulaması yer alıyor

Mimariye göre değişiklikler

  • 64 bit Arm mimarisi artık ACPI sistemlerinde CPU hotplug desteği sunuyor. Ayrıntılar için bu doküman commit'ine bakılabilir
  • X86 çekirdeği artık AMD'nin SEV-SNP secure encrypted virtualization özelliğini kullanarak guest olarak çalışabiliyor. Secure VM Service Module kullanılıyor
  • X86'deki "fake EFI memory map" özelliği kaldırıldı. Bu özellik açılışta kurgusal bellek haritası girdileri oluşturabiliyordu, ancak confidential computing yapılandırmalarıyla uyumlu değildi
  • x86-64 sistemleri için AES-GCM şifresinin yeni bir uygulaması eklendi. Performans artışı her zaman memnuniyet verici olsa da, bu katkı kodun ve çalışma biçiminin kapsamlı biçimde belgelenmesiyle de dikkat çekiyor. Ayrıntılar için bu commit'e bakılabilir
  • PowerPC 40x platformu desteği kaldırıldı
  • RISC-V sistemlerine bellek hotplug desteği eklendi

Çekirdek altyapısı

  • io_uring alt sistemi artık bind() ve listen() işlemlerini uygulayan görevler sunuyor
  • nsfs (namespace) dosya sistemi için yeni bir ioctl() işlem kümesi, PID namespace'leri arasında process ve thread group ID dönüşümü yapıyor
  • pidfd dosya sistemi, pidfd ile temsil edilen bir sürecin namespace file descriptor'larını almak için yeni ioctl() çağrılarını destekliyor
  • İç içe bottom-half locking yamaları birleştirildi. Bu esas olarak gerçek zamanlı çekirdeklerde gecikmeyi iyileştirmeyi hedefliyor, ancak diğer kullanıcılar da fayda görecek
  • Şimdilik yalnızca x86-64 sistemlerinde uygulanan yeni bir sistem çağrısı olan uretprobe() eklendi. Bunun amacı, user space süreçlerine dinamik olarak eklenen uretprobe (function return tracepoint) işlemlerini optimize etmek
  • function-graph tracer için tek kullanıcı sınırlaması kaldırıldı
  • Yeni reserve_mem= komut satırı parametresiyle adlandırılmış bellek bölgeleri ayrılabiliyor. Bu, pstore alt sistemiyle birlikte yeni ramoops.mem_name= parametresiyle kullanılmak üzere tasarlandı

Dosya sistemleri ve blok I/O

  • statx() sistem çağrısında artık AT_EMPTY_PATH bayrağı ayarlandığında path argümanı null pointer olabiliyor
  • open_by_handle_at() sistem çağrısında, 6.11 ile birlikte çekirdeğin çağıranın dosya üzerinde uygun erişim yetkisine sahip olduğunu doğrulayabildiği durumlarda bu çağrıya yönelik yetki kontrolü bir miktar gevşetildi
  • Linux çekirdeği geleneksel olarak sistemin herhangi bir yerindeki bir süreç tarafından kullanımda olan çalıştırılabilir dosyalara yazmayı engelliyordu. Bu, çalışan programlarda hoş olmayan sürprizleri önlemek içindi. Çekirdek geliştiricileri birkaç yıldır bu kısıtı kademeli olarak kaldırıyordu. 6.11 itibarıyla çekirdek artık kullanımda olan çalıştırılabilir dosyalara yazmayı engellemiyor
  • Btrfs dosya sistemi artık rescue= mount seçeneği için bazı yeni değerleri (ignoremetacsums ve ignoresuperflags) tanıyor. Bunlar, user space araçları tarafından kısmen dönüştürülmüş dosya sistemlerinin, özellikle checksum dönüşümü yapılanların, kurtarılmasını desteklemek için eklendi
  • Btrfs'in block group reclaim yapma biçimi iyileştirildi. Bu, dosya sistemi dolu olmadığı halde boş alanın kullanılamadığı durumları önlemeyi amaçlıyor. Yeni dinamik reclaim eşiklerinin nasıl çalıştığına dair açıklama için bu commit'e bakılabilir

Donanım desteği

  • Qualcomm SM8650 kamera clock controller
  • SPD5118 uyumlu sıcaklık sensörleri, Monolithic Power Systems MP2993 dual-loop dijital multi-phase controller gibi hardware monitoring bileşenleri
  • ChromeOS embedded controller sensörleri, ChromeOS EC tabanlı şarj denetleyicileri ve diğerleri
  • Realtek RTL8192DU USB kablosuz ağ adaptörü, Renesas Ethernet-TSN arayüzü, Vining 800 CAN arayüzü gibi ağ bileşenleri
  • Amlogic C3 PLL clock controller, Qualcomm SM7150 display/camera/video clock controller gibi saatle ilgili bileşenler
  • NXP IMX91 pin control unit, Nuvoton MA35 pin ve GPIO controller gibi GPIO ve pin control bileşenleri
  • Lincoln Technologies lcd197 paneli, Ilitek ILI9806E tabanlı paneller gibi grafik bileşenleri
  • Industrial I/O, input devices, media, miscellaneous, PHY, sound, USB ve diğer birçok alana yeni donanım desteği eklendi

Diğer

  • Sistemdeki aygıtları doğru sırayla başlatmayı sağlayan yeni bir power sequencing alt sistemi geldi
  • "sloppy logic analyzer" modülü, bir dizi GPIO hattını düşük bütçeli bir logic analyzer'a dönüştürebiliyor
  • perf aracına birçok yeni özellik eklendi
  • Firmware yükleme için küçük bir Rust abstraction set'i birleştirildi. Rust ile önemli sürücüler yazmak için hâlâ ihtiyaç duyulan çok şey var, ancak bu listenin giderek kısaldığı görülüyor

  • Yeni net.tcp_rto_min_us sysctl ayarıyla TCP soketlerinin minimum yeniden iletim zaman aşımı ayarlanabiliyor
  • ethtool yardımcı programı artık Net DIM kullanan arayüzlerde interrupt yapılandırmasını daha ince ayarlamaya olanak tanıyor

Güvenlik

Sanallaştırma ve konteynerler

  • KVM'ye AMD'nin SEV-SNP secure encrypted virtualization mekanizması için ilk destek eklendi
  • Guest çalıştırılmadan önce guest belleğini önceden doldurmaya yönelik yeni bir KVM ioctl() çağrısı eklendi

Çekirdek içi değişiklikler

  • 6.11'e birleştirilen ilk değişiklik, Linus Torvalds'ın eklediği yeni bir "runtime constants" mekanizması oldu
  • iomap alt sistemi için bazı dokümantasyonlar sonunda eklendi
  • Çekirdeği derlemek için gereken en düşük GNU Make sürümü 4.0'a yükseltildi
  • 6.11'de 118 dışa aktarılan sembol kaldırıldı, 464 tane eklendi; net artış 346 oldu. Ayrıca 6 yeni kfunc da var

GN⁺ görüşü

  • 6.11 çekirdek sürümünde çok sayıda mimariye özgü iyileştirme ve genişleyen donanım desteği dikkat çekiyor. Özellikle 64 bit ARM ve x86 tarafındaki CPU hotplug ile AMD'nin SEV-SNP desteği, güvenlik ve sanallaştırma açısından önemli
  • io_uring ve BPF'ye yeni özellikler eklenmesiyle yüksek performanslı I/O ve eBPF programlaması için çekirdek düzeyindeki destek güçlenmeye devam ediyor. Bu da sistem performansı optimizasyonu, izleme ve ağ alanlarında büyük fayda sağlayacak
  • Power sequencing ya da sloppy logic analyzer gibi yeni alt sistem ve modüllerin ortaya çıkması, Linux çekirdeğinin embedded ve IoT ortamlarındaki kullanım alanını artırabilir
  • Runtime constants ve dokümantasyon iyileştirmeleri gibi çekirdek içi kod optimizasyonu ve geliştirme kolaylığına yönelik iyileştirmeler de istikrarlı biçimde sürüyor. Ancak dokümantasyonun hâlâ yetersiz olduğu birçok alan bulunduğundan, topluluk düzeyinde daha fazla iş birliği gerekiyor gibi görünüyor
  • 6.11 merge window'un son bölümünde çeşitli mimariler için performans iyileştirmeleri ve yeni donanım desteği öne çıktı. Özellikle x86-64 için AES-GCM optimizasyonu ve RISC-V için bellek hotplug desteği dikkat çekici değişiklikler arasında
  • KVM'de AMD'nin SEV-SNP özelliğine ilk desteğin eklenmesiyle sanallaştırma güvenliği tarafında da ilerleme sağlandı. Bu, Linux çekirdeğinin bulut ve edge computing ortamlarındaki rolünün daha da büyüyeceğine işaret ediyor
  • Firmware yükleme ve heap spray önleme gibi alanlar için Rust abstraction'larının eklenmesi, Rust'ın sistem programlama dili olarak potansiyelini gösteriyor. Önümüzdeki dönemde çekirdek içindeki Rust kodunun payının kademeli olarak artması beklenebilir
  • Ölçeklenebilir scheduler class birleşiminin ertelenmiş olması hayal kırıklığı yaratsa da, yeterli inceleme ve kararlılık için kaçınılmaz bir tercih gibi görünüyor. Scheduler, sistem performansını doğrudan etkilediği için temkinli yaklaşım gerekli

3 yorum

 
ehlegeth 2024-10-03

"6.10.10'a güncelledikten sonra bile bazen uyku modundan uyanmıyor"
Sadece bende olmamasına sevindim...

 
xcutz 2024-09-16

Torvalds abinin bir 200 yıl daha yaşaması lazım galiba

 
GN⁺ 2024-09-16
Hacker News görüşleri
  • 6.10 sürümü, birkaç önemli hata nedeniyle oldukça sorunluydu
    • amdgpu ile ilgili 3 hata; video bozulmasına, sistemin takılmasına ve çökmesine neden oldu
    • 6.10.10'a güncelledikten sonra bile bazen uyku modundan uyanmıyor
  • Linux 3.11 sürümünden bu yana çok ilerleme kaydedildi
  • Torvalds'ın hâlâ Linux çekirdeği sürüm notlarını yazmasına hayranlık duyuluyor
  • Sevindirici gelişmeler
    • Rust ile blok sürücüsü yazma desteği
    • blok katmanında atomik yazma işlemleri desteği
  • 6.12 sürümü için beklentiler: sched_ext, PREEMPT_RT
  • Yeni Snapdragon X desteği hakkında görüş soruluyor
  • çalışma zamanı sabitlerinin nasıl uygulanacağı merak ediliyor
  • Akıllı telefonlar için GNU/Linux döneminin ne zaman geleceği merak ediliyor
    • Android uygun görülmüyor
    • akıllı telefonlara masaüstündeki gibi kolayca dağıtım kurulabilmesi isteniyor
  • Artık Linux dizüstü bilgisayarları RAM'e askıya almanın mümkün olup olmadığı merak ediliyor
  • Ubuntu'nun bu özelliği birkaç gündür Oracular beta'da etkinleştirip test ettiğini iddia edeceği günü bekliyor