베테랑 Linux 커널 개발자 Ingo Molnar는 오늘 "구식" 32비트 CPU에 대한 지원을 제거하도록 설계된 일련의 Linux 커널 패치를 출시했습니다. 특히, 이러한 패치가 승인되면 Linux 커널은 이전 i486 CPU 및 이전 i586 CPU 모델에 대한 지원을 종료합니다.

이미지-1.webp

최신 Linux 환경에서는 거의 언급되거나 사용되지 않지만 많은 배포판에서 x86 32비트 하드웨어에 대한 지원이 종료되었지만 커널은 1990년대 초반에 도입된 이전 i486 프로세서에 대한 지원을 계속 유지합니다. 그러나 오늘의 패치 시리즈에서는 i486 프로세서와 이전 i586 프로세서에 대한 지원이 종료됩니다. 이러한 커널 패치는 TSC 및 CX8/CMPXCHG8B 기능이 부족한 CPU에 대한 지원을 제거합니다. 이는 업스트림 Linux 커널에서 32비트 프로세서에 대한 최소 지원이 CMPXCHG8B 및 타임스탬프 카운터(TSC)를 지원하는 원래 Pentium CPU 수준이 된다는 것을 의미합니다. 그럼에도 불구하고 누군가가 그보다 오래된 하드웨어에 대한 CPU 지원을 중단하기 위해 패치를 사용하여 i586/P5 Pentium에서 최신 Linux 커널과 최신 소프트웨어 스택을 부팅하는 것을 듣는 것은 놀라운 일입니다.

Ingo Molnar는 패치 시리즈에서 이전 i486 및 초기 i586 프로세서에 대한 지원을 제거하면 커널 개발자의 유지 관리 부담이 줄어들 것이라고 언급했습니다. 이러한 오래된 하드웨어에 대한 지원을 제거하면 커널 코드도 14,000줄 이상 줄어들게 됩니다. Molnar는 오늘 아침 RFC 패치 시리즈에서 다음과 같이 썼습니다.

x86 아키텍처에서는 현대 코어에서 소수의 사람들이 사용하는 구형 32비트 CPU를 지원하기 위해 x86-32에 다양하고 정교한 하드웨어 에뮬레이션 도구를 제공합니다. 이 호환성 문제는 때때로 사람들이 해결하는 데 많은 시간을 소비해야 하는 문제, 즉 다른 일을 하는 데 시간을 소비해야 하는 문제로 이어질 수도 있습니다.

Linus가 최근에 말했듯이:

">이제 i486에 대한 지원을 중단해야 할 때라고 생각합니다."

> 누구도 이 문제에 대해 단 1초의 개발 노력도 낭비할 이유가 없습니다. "

이 시리즈는 TSC 및 CX8(CMPXCHG8B) 하드웨어 지원을 포함한 최소 커널 지원을 추가하고 486(및 파생 제품) 및 초기 586(및 파생 제품) 지원을 제거합니다.

이렇게 하면 많은 코드가 제거됩니다.

80개 파일이 수정되었고, 38개 코드가 삽입(+)되었으며, 14104개 코드가 삭제(-)되었습니다.

이것의 대부분은 math-emu/ 라이브러리입니다. 그러나 math-emu가 없어도 단순화가 상당히 중요합니다.

33개 파일이 수정되었고, 38개 코드가 삽입(+)되었으며, 1081개 코드가 삭제(-)되었습니다. "