Architektúra systému Linux Kernel x32 môže byť ukončená

Linux Kernel 4.19

Recientemente bol zverejnený e-mail prostredníctvom adresára Linux Kernel a hlavným cieľom tohto e-mailu odstrániť kód z implementácie subarchitektúry x32 (nezamieňať s x86 IA-32).

Čo vám umožňuje používať model adresovania 32-bitovej pamäte (hybridné x86 a x86_64) na 86-bitových systémoch x64.

Aká je architektúra x32?

Je dôležité spomenúť, že sub architektúra x32 je hybridný x86_64 ABI, ktorá umožňuje použitie modelu adresovania 32-bitovej pamäte na 64-bitových systémoch (procesor pracuje v 64-bitovom režime, ale používa 32-bitové ukazovatele a aritmetické operácie).

ABI X32 umožňuje aplikáciám využívať všetky výhody architektúry x86_64, ako sú ďalšie registre a rýchlejšie pokyny, PIC ABI.

ABI X32 zároveň podporuje ukazovatele 32-bitovej pamäte, čo šetrí pamäť, prispieva k efektívnejšiemu vypĺňaniu medzipamäte procesora a má pozitívny vplyv na celkovú rýchlosť vykonávania kódu.

Obmedzením ABI X32 je nemožnosť smerovania viac ako 4 GB pamäte z aplikácie.

Podpora X32 je súčasťou jadra Linuxu od vydania verzie 3.4, ktorá bola sformovaná v máji 2012.

Vývojári budú diskutovať o tom, či pokračovať v údržbe tejto architektúry alebo nie

Podľa vývojára navrhujúceho odstránenie technológie x32 nebolo opodstatnené a nenašlo praktické uplatnenie v moderných priemyselných usporiadaniach.

Okrem toho aKód l32 používa dosť kontroverznú metódu práce so systémovými volaniami, čo vytvára riziko prerušenia normálnej prevádzky po spracovaní implementácií systémových volaní.

Linus Torvalds uviedol, že bude súhlasiť s odstránením x32, ak nebudú predložené žiadne argumenty alebo ak nie sú prezentované systémy, v ktorých bola použitá subarchitektúra x32.

Linus Poznamenal tiež, že použitie architektúry x32 sa zjavne obmedzilo na testovanie extrémneho výkonus, keďže podpora tejto subarchitektúry je spojená s veľkými problémami s udržiavaním distribúcií a vývojového prostredia.

Pošta:

Ahoj všetci.

Vážne zvažujem odoslanie opravy na odstránenie podpory x32 z Linuxu. Tu sú niektoré problémy s týmto:

  1. Nie je úplne zrejmé, že má používateľov. Pokiaľ viem, je podporovaný v systémoch Gentoo a Debian
  2. Spôsob fungovania volacieho systému je veľmi zvláštny. Väčšina systémových volaní na x32 vstupuje prostredníctvom svojho * native * (t. J. Nie COMPAT_SYSCALL_DEFINE) so vstupným bodom, a je to zámerné.

Napríklad adjtimex () používa natívny vstup, nie kompatibilný vstup, pretože x32 struct timex zodpovedá rozloženiu x86_64. Lenže niekoľko telefonických hovorov má samostatné vstupné body - jedná sa o telefónne hovory začínajúce na 512.

Tieto vstupujú cez vstupné body COMPAT_SYSCALL_DEFINE.

Systémové volania X32, ktoré nie sú * v rozsahu 512, porušujú každú podobu konvencie jadra týkajúcej sa Syscall.

V obslužných programoch syscall funkcia in_compat_syscall () vracia hodnotu true, ale položka COMPAT_SYSCALL_DEFINE nie je vyvolaná, je to šialené a riskujete, že pokazíte veci, keď ľudia refaktorujú svoje implementácie syscall.

A predovšetkým sa nikto o tieto veci nepokúša.

Pri jednej príležitosti Pri testovaní x32 jeden z vývojárov Gentoo dospel k záveru, že zlepšenie výkonu pri prechode na ABI x32 nie je také veľké, ako ukazujú syntetické testy Od tvorcov ABI x32:

výrazný pokrok je viditeľný iba v porovnaní s predchádzajúcou architektúrou x86, ale v porovnaní so súčasnou architektúrou x86-64 je zisk zanedbateľný (testy SPEC tvorcov x32 preukázali až 40% akceleráciu v porovnaní s klasickými testami ABI x86_64, testy s kodekom H.264 vykázali zrýchlenie o 15-20%).


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.