Arsitektur Linux Kernel x32 mungkin dihentikan

Linux Kernel 4.19

Recientemente sebuah email dirilis melalui milis Kernel Linux dan email ini memiliki tujuan utamanya Hapus kode dari implementasi subarsitektur x32 (jangan bingung dengan x86 IA-32).

Yang memungkinkan Anda untuk menggunakan model pengalamatan memori 32-bit (hybrid x86 dan x86_64) pada sistem x86 64-bit.

Apa itu arsitektur x32?

Penting untuk disebutkan bahwa sub-arsitektur x32 adalah ABI x86_64 hybrid, yang memungkinkan model pengalamatan memori 32-bit untuk digunakan pada sistem 64-bit (prosesor beroperasi dalam mode 64-bit, tetapi menggunakan penunjuk 32-bit dan operasi aritmatika).

ABI X32 memungkinkan aplikasi untuk memanfaatkan sepenuhnya arsitektur x86_64, seperti register tambahan dan instruksi yang lebih cepat, PIC ABI.

Pada saat yang sama, ABI X32 mendukung pointer memori 32-bit, yang menghemat memori, berkontribusi pada pengisian cache prosesor yang lebih efisien, dan memiliki efek positif pada kecepatan eksekusi kode secara keseluruhan.

Batasan ABI X32 adalah ketidakmungkinan mengarahkan lebih dari 4 GB memori dari aplikasi.

Dukungan X32 telah menjadi bagian dari Kernel Linux sejak rilis 3.4, yang dibentuk pada Mei 2012.

Pengembang akan memperdebatkan apakah akan melanjutkan pemeliharaan arsitektur ini atau tidak

Menurut pengembang yang mengusulkan penghapusan teknologi x32 itu belum dibenarkan dan belum menemukan aplikasi praktis dalam tata letak industri modern.

Selain itu, danKode l x32 menggunakan metode yang cukup kontroversial dalam menangani panggilan sistem, yang menimbulkan risiko mengganggu operasi normal setelah memproses implementasi panggilan sistem.

Linus Torvalds mengatakan dia akan setuju untuk menghapus x32 jika tidak ada argumen yang dikirimkan atau jika sistem di mana subarsitektur x32 telah diterapkan tidak ditampilkan.

Linus Dia juga mencatat bahwa penggunaan arsitektur x32 tampaknya terbatas pada pengujian kinerja yang ekstrems, karena dukungan untuk subarsitektur ini dikaitkan dengan banyak kerumitan dalam menjaga distribusi dan lingkungan pengembangan.

Surat:

Hi all.

Saya serius mempertimbangkan untuk mengirimkan tambalan untuk menghapus dukungan x32 dari Linux. Berikut beberapa masalah dengan ini:

  1. Tidak sepenuhnya jelas apakah ia memiliki pengguna. Sejauh yang saya tahu, ini didukung di Gentoo dan Debian
  2. Cara kerja sistem panggilan sangat aneh. Kebanyakan syscall di x32 masuk melalui * asli * mereka (yaitu bukan COMPAT_SYSCALL_DEFINE) dengan titik masuk, dan ini disengaja.

Misalnya, adjtimex () menggunakan masukan asli, bukan masukan compat, karena struktur x32 timex cocok dengan tata letak x86_64. Tetapi beberapa syscall memiliki titik masuk terpisah - ini adalah syscall yang dimulai dari 512.

Ini masuk melalui titik masuk COMPAT_SYSCALL_DEFINE.

Syscall X32 yang * tidak * dalam kisaran 512 melanggar setiap kemiripan konvensi syscall kernel.

Dalam penangan syscall, in_compat_syscall () mengembalikan nilai true, tetapi entri COMPAT_SYSCALL_DEFINE tidak dipanggil. Ini tidak masuk akal dan Anda berisiko merusak sesuatu saat orang memfaktor ulang implementasi syscall mereka.

Dan yang terpenting, tidak ada yang mencoba hal-hal ini.

Pada suatu kesempatan Saat menguji x32, salah satu pengembang Gentoo menyimpulkan bahwa peningkatan kinerja saat beralih ke ABI x32 tidak sebaik yang ditunjukkan oleh pengujian sintetis. Dari pembuat ABI x32:

kemajuan yang signifikan hanya terlihat jika dibandingkan dengan arsitektur x86 sebelumnya, tetapi jika dibandingkan dengan arsitektur x86-64 saat ini, penguatan dapat diabaikan (pengujian SPEC oleh pembuat x32 menunjukkan akselerasi hingga 40% dibandingkan dengan ABI klasik x86_64, pengujian dengan codec H.264 menunjukkan akselerasi 15-20%).


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.