Linux Kernel x32 -arkkitehtuuri voidaan lopettaa

Linux Kernel 4.19

äskettäin sähköposti julkaistiin Linux-ytimen postituslistan kautta ja tämän sähköpostin päätavoitteena poista koodi x32-aliarkkitehtuurin toteutuksesta (ei pidä sekoittaa x86 IA-32: een).

Tämän avulla voit käyttää 32-bittistä muistin osoitemallia (hybridi x86 ja x86_64) 86-bittisissä x64-järjestelmissä.

Mikä on x32-arkkitehtuuri?

On tärkeää mainita, että x32-aliarkkitehtuuri on hybridi x86_64 ABI, joka sallii 32-bittisen muistin osoitemallin käytön 64-bittisissä järjestelmissä (prosessori toimii 64-bittisessä tilassa, mutta käyttää 32-bittisiä osoittimia ja aritmeettisia operaatioita).

ABI X32 avulla sovellukset voivat hyödyntää täysin x86_64-arkkitehtuuria, kuten lisärekisterit ja nopeammat ohjeet, PIC ABI.

Samalla ABI X32 tukee 32-bittisiä muistiosoittimia, mikä säästää muistia, auttaa suorittimen välimuistin täyttämisessä tehokkaammin ja vaikuttaa myönteisesti koodin suorituksen kokonaisnopeuteen.

ABI X32: n rajoitus on mahdoton ohjata yli 4 Gt muistia sovelluksesta.

X32-tuki on ollut osa Linux-ydintä sen 3.4-julkaisusta lähtien, joka muodostettiin toukokuussa 2012.

Kehittäjät keskustelevat siitä, jatketaanko tämän arkkitehtuurin ylläpitämistä vai ei

Kehittäjän mukaan ehdotettu x32-tekniikan poistamiseksi se ei ole perusteltua eikä ole löytänyt käytännön sovellusta nykyaikaisissa teollisissa rakenteissa.

Sitä paitsi, jal x32-koodi käyttää melko kiistanalaista tapaa työskennellä järjestelmäkutsujen kanssa, mikä aiheuttaa normaalin toiminnan keskeytymisen riskin järjestelmäkutsutoteutusten käsittelyn jälkeen.

Linus Torvalds sanoi suostuvansa poistamaan x32: n, jos mitään argumentteja ei esitetä tai jos järjestelmiä, joissa x32-aliarkkitehtuuria on sovellettu, ei esitetä.

Linus huomautti myös, että x32-arkkitehtuurin käyttö rajoittui ilmeisesti äärimmäisiin suorituskykytesteihins, koska tämän aliarkkitehtuurin tukeen liittyy paljon komplikaatioita jakelujen ja kehitysympäristön ylläpitämisessä.

Posti:

Hei kaikki.

Harkitsen vakavasti korjaustiedoston lähettämistä x32-tuen poistamiseksi Linuxista. Tässä on joitain tämän ongelman aiheita:

  1. Ei ole täysin selvää, että sillä on käyttäjiä. Sikäli kuin tiedän, sitä tuetaan Gentoolla ja Debianilla
  2. Tapa, jolla soittojärjestelmä toimii, on hyvin outoa. Suurin osa x32: n syscallista tulee sisään * alkuperäisen * kautta (eli ei COMPAT_SYSCALL_DEFINE) sisääntulopisteen kanssa, ja tämä on tarkoituksellista.

Esimerkiksi adjtimex () käyttää alkuperäistä syötettä, ei vastaavaa syötettä, koska x32 struct timex vastaa x86_64-asettelua. Mutta kourallisella syscallilla on erilliset lähtökohdat - nämä ovat syscalls, jotka alkavat 512: sta.

Nämä tulevat COMPAT_SYSCALL_DEFINE-tulopisteiden kautta.

X32-syscallit, jotka eivät ole * 512-alueella, rikkovat ytimen syscall-käytännön kaikkia näennäisiä.

Syscall-käsittelijöissä in_compat_syscall () palauttaa arvon true, mutta COMPAT_SYSCALL_DEFINE-merkintää ei käytetä, tämä on mieletöntä ja sinulla on riski rikkoa asioita, kun ihmiset muokkaavat järjestelmää.

Ja ennen kaikkea kukaan ei kokeile näitä asioita.

Eräässä tapauksessa Testaamalla x32-versiota yksi Gentoon kehittäjistä päätyi siihen, että suorituskyvyn parannus ABI x32: een siirtymisessä ei ole yhtä suuri kuin synteettiset testit osoittavat ABI x32: n valmistajilta:

merkittävää edistystä nähdään vain verrattuna edelliseen x86-arkkitehtuuriin, mutta verrattuna nykyiseen x86-64 -arkkitehtuuriin, voitto on merkityksetön (x32: n luojien SPEC-testit osoittivat jopa 40%: n kiihtyvyyden verrattuna klassiseen ABI x86_64: een, testit H.264-koodekin kanssa kiihtyvyys oli 15-20%).


Artikkelin sisältö noudattaa periaatteita toimituksellinen etiikka. Ilmoita virheestä napsauttamalla täällä.

Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista.

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.