Maaaring ihinto ang arkitektura ng Linux Kernel x32

Linux Kernel 4.19

Recientemente isang email ang pinakawalan sa pamamagitan ng Linux Kernel mailing list at ang email na ito ay may pangunahing layunin alisin ang code mula sa pagpapatupad ng x32 subarchitecture (hindi malito sa x86 IA-32).

Na nagpapahintulot sa iyo na gamitin ang 32-bit na modelo ng pagtugon sa memorya (hybrid x86 at x86_64) sa x86 64-bit na mga system.

Ano ang arkitektura ng x32?

Mahalagang banggitin na ang x32 sub-arkitektura ay isang hybrid x86_64 ABI, na nagpapahintulot sa isang 32-bit memory addressing model na magamit sa 64-bit system (nagpapatakbo ang processor sa 64-bit mode, ngunit gumagamit ng 32-bit pointers at arithmetic na pagpapatakbo).

ABI X32 Pinapayagan ang mga application na samantalahin ang arkitektura ng x86_64, tulad ng karagdagang mga pagrehistro at mas mabilis na mga tagubilin, PIC ABI.

Sa parehong oras, sinusuportahan ng ABI X32 ang 32-bit na mga pointer ng memorya, na nakakatipid ng memorya, nag-aambag sa mas mahusay na pagpuno ng cache ng processor, at may positibong epekto sa pangkalahatang bilis ng pagpapatupad ng code.

Ang limitasyon ng ABI X32 ay ang imposibilidad ng pagdidirekta ng higit sa 4 GB ng memorya mula sa application.

Ang suporta ng X32 ay naging bahagi ng Linux Kernel mula noong 3.4 na paglabas nito, na nabuo noong Mayo 2012.

Tatalakayin ng mga developer kung magpapatuloy sa pagpapanatili ng arkitekturang ito o hindi

Ayon sa developer na nagmumungkahi ng pagtanggal ng x32 na teknolohiya hindi ito nabigyang katarungan at hindi natagpuan ang isang praktikal na aplikasyon sa modernong mga layout ng pang-industriya.

Bukod, atAng l x32 code ay gumagamit ng medyo kontrobersyal na paraan ng pagtatrabaho sa mga tawag sa system, na lumilikha ng peligro na makagambala sa normal na operasyon pagkatapos maproseso ang pagpapatupad ng tawag sa system.

Sinabi ni Linus Torvalds na sasang-ayon siyang tatanggalin ang x32 kung walang isinumiteng argumento o kung ang mga system kung saan nailapat ang x32 subarchitecture ay hindi ipinakita.

Linus nabanggit din na ang paggamit ng x32 na arkitektura ay tila limitado sa matinding pagsubok sa pagganaps, dahil ang suporta ng subarchitecture na ito ay nauugnay sa isang malaking deal ng mga komplikasyon upang mapanatili ang mga pamamahagi at ang kapaligiran sa pag-unlad.

Ang mail:

Kumusta po sa lahat

Seryoso kong isinasaalang-alang ang pagsusumite ng isang patch upang alisin ang suporta ng x32 mula sa Linux. Narito ang ilang mga isyu dito:

  1. Hindi ganap na malinaw na mayroon itong mga gumagamit. Sa pagkakaalam ko, suportado ito sa Gentoo at Debian
  2. Ang paraan ng paggana ng sistema ng pagtawag ay napaka-kakaiba. Karamihan sa mga syscall sa x32 ay pumapasok sa pamamagitan ng kanilang * katutubong * (ibig sabihin hindi sa COMPAT_SYSCALL_DEFINE) na may entry point, at sinasadya ito.

Halimbawa, ang adjtimex () ay gumagamit ng katutubong input, hindi ang compat input, dahil ang x32 struct timex ay tumutugma sa layout na x86_64. Ngunit ang isang maliit na syscalls ay may magkakahiwalay na mga puntos ng pagpasok - ito ang mga syscall na nagsisimula sa 512.

Pumasok ang mga ito sa pamamagitan ng mga puntos ng pagpasok ng COMPAT_SYSCALL_DEFINE.

Ang X32 syscalls na * wala * sa saklaw na 512 ay lumalabag sa bawat pagkakahawig ng kernel syscall Convention.

Sa mga handler ng syscall, ang in_compat_syscall () ay nagbabalik ng totoo, ngunit ang pagpasok ng COMPAT_SYSCALL_DEFINE ay hindi tinawag na ito ay nakakabaliw at pinapamahalaan mo ang peligro na masira ang mga bagay kapag pinilit ng mga tao ang kanilang pagpapatupad ng syscall.

At higit sa lahat, walang sumusubok sa mga bagay na ito.

Sa isang okasyon Kapag sinusubukan ang x32, napagpasyahan ng isa sa mga developer ng Gentoo na ang pagpapabuti ng pagganap kapag lumilipat sa ABI x32 ay hindi kasing laki ng ipinapakitang mga synthetic na pagsubok Mula sa mga gumagawa ng ABI x32:

Ang makabuluhang pag-unlad ay makikita lamang kung ihinahambing sa dating arkitektura ng x86, ngunit kung ihinahambing sa kasalukuyang arkitektura ng x86-64, ang pakinabang ay bale-wala (ang mga pagsusulit ng SPEC ng mga tagalikha ng x32 ay nagpakita ng hanggang 40% na pagpapabilis kumpara Sa klasikong ABI x86_64, mga pagsubok kasama ang H.264 codec ay nagpakita ng isang pagpabilis ng 15-20%).


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.