Ingo Molnar, maintainer dell'architettura x86, del meccanismo di locking e dello scheduler nel kernel Linux, ha presentato per discussione un insieme di patch che rimuovono dal kernel il supporto per i processori 486 (M486, M486SX, AMD ELAN) e le prime serie di processori 586. Nel kernel si propone di mantenere solo la possibilità di lavorare con i processori x86 che supportano l'istruzione CX8 (CMPXCHG8B) e il registro TSC (Time Stamp Counter), apparsi nei CPU Pentium.
Si osserva che per supportare i CPU 486 nel kernel è necessario mantenere codice che emula le operazioni CX8 (comparare e scambiare 8 byte) e TSC (contatore dei cicli CPU, utilizzato nello scheduler). Questo codice complica il kernel, ne rende difficile la manutenzione e talvolta diventa fonte di problemi, la cui risoluzione demanda tempo agli sviluppatori. La cessazione del supporto per i 486 consentirebbe di rimuovere dal kernel 14104 righe di codice, semplificando notevolmente alcune funzioni nel kernel grazie all'eliminazione degli strati che emulano CX8 e TSC e permettendo di liberarsi della libreria math-emu, che emula l'FPU.
Un giorno prima della pubblicazione delle patch, Linus Torvalds ha sollevato la questione dell'opportunità di rimuovere il supporto per i 486 durante la discussione su un problema ricorrente legato all'emulazione di CX8. Linus ritiene sia giunto il momento di rinunciare al supporto per i CPU 486 e non vede motivi per continuare a far perdere tempo agli sviluppatori nella risoluzione dei problemi che ne derivano. Il supporto per i processori 386 era stato rimosso dal kernel nel 2012. Secondo i partecipanti alla discussione, ora è arrivato il momento di rimuovere il supporto per i CPU 486. Nell'ottobre 2022, Linus aveva già pubblicato una proposta simile, ma non ha avuto seguito.
Nei sistemi 486 ancora in uso, i kernel Linux attuali non vengono praticamente utilizzati. Varianti specializzate dei processori 486 per sistemi embedded, come Intel Quark, supportano CX8 e TSC e non verranno interessate. I vecchi CPU 486 originali continuano generalmente a essere utilizzati con distribuzioni obsolete che forniscono vecchie versioni del kernel Linux. Le moderne distribuzioni Linux hanno da tempo cessato il supporto per i sistemi x86 a 32 bit o sono passate all'utilizzo dell'opzione X86_PAE, che richiede il supporto per CX8.
Fonte: opennet.ru
