Ingo Molnar, az x86 architektúra, a blokkolási mechanizmus és a Linux kernel feladatütemezőjének karbantartója, egy patch-gyűjteményt javasolt, amely eltávolítja a kernelből a 486-os processzorok (M486, M486SX, AMD ELAN) és a korai 586-os processzorok támogatását. A kernelben csak azok a x86 processzorok maradnak, amelyek támogatják a CX8 (CMPXCHG8B) utasítást és a TSC (Time Stamp Counter) regisztert, amelyek a Pentium CPU-ban jelentek meg.
Megjegyzik, hogy a 486-os CPU támogatása érdekében a kernelnek olyan kódot kell tartania, amely emulálja a CX8 (8 bájt összehasonlítás és csere) és a TSC (CPU ciklusszámláló, amelyet a feladatütemező használ) műveleteit. Az ilyen kód bonyolítja a kernelt, nehezíti a karbantartást, és időnként problémák forrásává válik, amelyek megoldása időt vesz igénybe a fejlesztők számára. A 486-os támogatás megszüntetése lehetővé tenné, hogy 14104 sor kódot távolítsanak el a kernből, ami jelentősen egyszerűsítené az egyes funkciókat azáltal, hogy megszünteti a CX8 és a TSC emulálásáért felelős rétegeket, és megszabadít a math-emu könyvtártól is, amely az FPU emulálásáért felelős.
A patch-ek közzétételét megelőző napon Linus Torvalds felvetette a 486-os támogatás eltávolításának szükségességét a CX8 emulálása körüli vita során. Linus úgy véli, hogy elérkezett az idő a 486-os CPU támogatásának elhagyására, és nem lát okot arra, hogy a fejlesztők idejét az ebből fakadó problémák megoldására pazarolják. A 386-os processzorok támogatását 2012-ben távolították el a kernből. A vitában részt vevő egyesek szerint most jött el az idő a 486-os CPU támogatásának eltávolítására. 2022 októberében Linus már előterjesztette ezt a javaslatot, de az nem kapott további fejleményeket.
A még használt 486-os rendszerekhez kapcsolódó kernelverziók a Linux esetében gyakorlatilag már nincsenek használatban. A beágyazott rendszerekhez kifejlesztett 486-os processzor-speciális változatai, mint például az Intel Quark, támogatják a CX8 és TSC-t, így azok módosítása nem érinti őket. Az öreg, eredeti 486-os CPU-k általában elavult disztribúciókkal használatosak, amelyek régi Linux kernel verziókat szállítanak. A modern Linux disztribúciók régóta megszüntették a 32 bites x86 rendszerek támogatását vagy átálltak az X86_PAE opcióra, amely CX8 támogatást igényel.
Forrás: opennet.ru
