Linux Kernel x32 아키텍처가 중단 될 수 있음

리눅스 커널 4.19

최근에 이메일이 공개되었습니다 Linux Kernel 메일 링리스트를 통해이 이메일의 주요 목적은 x32 하위 아키텍처 구현에서 코드 제거 (x86 IA-32와 혼동하지 마십시오).

32 비트 메모리 주소 지정 모델을 사용할 수 있습니다. (hybrid x86 및 x86_64) x86 64 비트 시스템에서.

x32 아키텍처 란 무엇입니까?

x32 하위 아키텍처가 하이브리드 x86_64 ABI라는 점을 언급하는 것이 중요합니다., 32 비트 메모리 주소 지정 모델을 64 비트 시스템에서 사용할 수 있습니다 (프로세서는 64 비트 모드에서 작동하지만 32 비트 포인터 및 산술 연산을 사용함).

아비 X32 응용 프로그램이 추가 레지스터 및 더 빠른 명령 인 PIC ABI와 같은 x86_64 아키텍처를 최대한 활용할 수 있도록합니다.

동시에 ABI X32는 32 비트 메모리 포인터를 지원하여 메모리를 절약하고 프로세서 캐시를보다 효율적으로 채우는 데 기여하며 전체 코드 실행 속도에 긍정적 인 영향을 미칩니다.

ABI X32의 한계는 응용 프로그램에서 4GB 이상의 메모리를 보낼 수 없다는 것입니다.

X32 지원은 3.4 년 2012 월에 형성된 XNUMX 릴리스 이후 Linux 커널의 일부였습니다.

개발자는이 아키텍처의 유지 관리를 계속할지 여부에 대해 토론합니다.

x32 기술 제거를 제안하는 개발자에 따르면 그것은 정당화되지 않았으며 현대 산업 레이아웃에서 실용적인 응용 프로그램을 찾지 못했습니다.

게다가l x32 코드는 시스템 호출 작업에 상당히 논란이 많은 방법을 사용합니다., 시스템 호출 구현을 처리 한 후 정상적인 작업이 중단 될 위험이 있습니다.

Linus Torvalds는 제출 된 주장이 없으면 x32를 제거하는 데 동의 할 것이라고 말했습니다. 또는 x32 하위 아키텍처가 적용된 시스템이 표시되지 않는 경우.

라이너스 또한 x32 아키텍처의 사용은 극한의 성능 테스트에만 국한된 것으로 보입니다.s,이 서브 아키텍처에 대한 지원은 배포 및 개발 환경을 유지하는 데있어 많은 복잡성과 관련이 있습니다.

메일:

안녕하세요.

Linux에서 x32 지원을 제거하는 패치 제출을 진지하게 고려하고 있습니다.. 여기에 몇 가지 문제가 있습니다.

  1. 사용자가 있다는 것은 완전히 명확하지 않습니다. 내가 아는 한 Gentoo와 Debian에서 지원됩니다.
  2. 호출 시스템이 작동하는 방식은 매우 이상합니다. x32에서 대부분의 syscall은 진입 점과 함께 * native * (즉, COMPAT_SYSCALL_DEFINE이 아님)를 통해 입력되며 이는 의도적 인 것입니다.

예를 들어 adjtimex ()는 x32 구조체 timex가 x86_64 레이아웃과 일치하므로 compat 입력이 아닌 기본 입력을 사용합니다. 그러나 소수의 syscall에는 별도의 진입 점이 있습니다. 이들은 512에서 시작하는 syscall입니다.

이들은 COMPAT_SYSCALL_DEFINE 진입 점을 통해 들어갑니다.

32 범위에서 *가 아닌 * X512 시스템 호출은 커널 시스템 호출 규칙의 모든 유사성을 위반합니다.

syscall 핸들러에서 in_compat_syscall ()은 true를 반환하지만 COMPAT_SYSCALL_DEFINE 항목은 호출되지 않습니다. 이것은 미친 짓이며 사람들이 syscall 구현을 리팩토링 할 때 문제를 일으킬 위험이 있습니다.

그리고 무엇보다도 아무도 이러한 일을 시도하지 않습니다.

한번에 x32를 테스트 할 때 Gentoo 개발자 중 한 명이 ABI x32로 전환 할 때의 성능 향상이 합성 테스트가 보여주는 것만 큼 크지 않다고 결론을 내 렸습니다. ABI x32 제작자로부터 :

이전 x86 아키텍처와 비교할 때만 상당한 진전을 볼 수 있지만 현재 x86-64 아키텍처와 비교할 때 그 이득은 무시할 만합니다 (x32 제작자의 SPEC 테스트는 기존 ABI x40_86에 비해 최대 64 % 가속화 된 것으로 나타났습니다. H.264 코덱의 경우 15-20 %의 가속도를 나타냄).


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.