Linux Kernel x32 mimarisi kullanımdan kaldırılabilir

Linux Kernel 4.19

Recientemente bir e-posta yayınlandı Linux Çekirdeği posta listesi aracılığıyla ve bu e-postanın ana hedefi x32 alt mimari uygulamasından kodu kaldır (x86 IA-32 ile karıştırılmamalıdır).

Bu, 32 bit bellek adresleme modelini kullanmanıza izin verir (karma x86 ve x86_64) x86 64 bit sistemlerde.

X32 mimarisi nedir?

X32 alt mimarisinin hibrit bir x86_64 ABI olduğunu belirtmek önemlidir, 32 bit bellek adresleme modelinin 64 bit sistemlerde kullanılmasına izin verir (işlemci 64 bit modunda çalışır, ancak 32 bit işaretçiler ve aritmetik işlemler kullanır).

ABİ X32 uygulamaların, ek kayıtlar ve daha hızlı talimatlar, PIC ABI gibi x86_64 mimarisinden tam olarak yararlanmasına olanak tanır.

Aynı zamanda ABI X32, bellek tasarrufu sağlayan, işlemci önbelleğinin daha verimli doldurulmasına katkıda bulunan ve genel kod yürütme hızı üzerinde olumlu bir etkiye sahip olan 32 bit bellek işaretleyicilerini destekler.

ABI X32'nin sınırlaması, uygulamadan 4 GB'den fazla bellek yönlendirmenin imkansızlığıdır.

X32 desteği, Mayıs 3.4'de kurulan 2012 sürümünden bu yana Linux Kernel'in bir parçası olmuştur.

Geliştiriciler, bu mimarinin bakımına devam edip etmeme konusunda tartışacaklar

X32 teknolojisinin kaldırılmasını öneren geliştiriciye göre gerekçelendirilmemiştir ve modern endüstriyel yerleşim düzenlerinde pratik bir uygulama bulamamıştır.

Ayrıca vel x32 kodu, sistem çağrılarıyla çalışmak için oldukça tartışmalı bir yöntem kullanır, sistem çağrısı uygulamalarını işledikten sonra normal çalışmayı kesintiye uğratma riski yaratır.

Linus Torvalds, hiçbir argüman gönderilmezse x32'yi kaldırmayı kabul edeceğini söyledi veya x32 alt mimarisinin uygulandığı sistemler sunulmuyorsa.

Linus ayrıca x32 mimarisinin kullanımının aşırı performans testleriyle sınırlı olduğunu da belirtti.s, çünkü bu alt mimari için destek, dağıtımların ve geliştirme ortamının sürdürülmesinde büyük bir güçlükle ilişkilidir.

Posta:

Herkese merhaba.

Linux'tan x32 desteğini kaldırmak için bir yama göndermeyi ciddi olarak düşünüyorum. İşte bununla ilgili bazı sorunlar:

  1. Kullanıcıları olduğu tam olarak belli değil. Bildiğim kadarıyla Gentoo ve Debian'da destekleniyor
  2. Çağrı sisteminin çalışma şekli çok tuhaf. X32'deki çoğu sistem çağrısı, giriş noktasıyla * yerel * (yani COMPAT_SYSCALL_DEFINE değil) aracılığıyla girer ve bu kasıtlı olarak yapılır.

Örneğin, adjtimex (), uyum girdisini değil yerel girdiyi kullanır, çünkü x32 struct timex x86_64 düzeniyle eşleşir. Ancak bir avuç sistem çağrısının ayrı giriş noktaları vardır - bunlar 512'den başlayan sistem çağrılarıdır.

Bunlar COMPAT_SYSCALL_DEFINE giriş noktalarından girilir.

32 aralığında * olmayan * X512 sistem çağrıları, çekirdek sistem çağrısı kuralının her şeklini ihlal eder.

Sistem çağrısı işleyicilerinde, in_compat_syscall () true döndürür, ancak COMPAT_SYSCALL_DEFINE girişi çağrılmaz, bu deliliktir ve insanlar sistem çağrı uygulamalarını yeniden düzenlediklerinde bir şeyleri kırma riskiyle karşı karşıya kalırsınız.

Ve hepsinden önemlisi, kimse bunları denemiyor.

Bir vesileyle X32'yi test ederken, Gentoo geliştiricilerinden biri ABI x32'ye geçerken performans artışının sentetik testlerin gösterdiği kadar büyük olmadığı sonucuna vardı. ABI x32'nin yapımcılarından:

yalnızca önceki x86 mimarisiyle karşılaştırıldığında önemli ilerleme görülür, ancak mevcut x86-64 mimarisiyle karşılaştırıldığında, kazanç önemsizdir (x32'nin yaratıcıları tarafından yapılan SPEC testleri, klasik ABI x40_86 ile karşılaştırıldığında% 64'a kadar hızlanma göstermiştir. H.264 kodek ile% 15-20 hızlanma gösterdi).


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.