Dopo quasi tre anni dalla prima idea, il supporto alle CPU 486 (e primi Pentium) verrà rimosso da Kernel Linux

Quando la scorsa settimana ho letto gli articoli che descrivevano la decisione da parte di Linus Torvalds di rimuovere il supporto all’architettura 486 dal Kernel Linux ho avuto una strana sensazione di déjà-vu.

Ne hanno parlato in molti, da ZDNet a Phoronix, ed anche Linuxiac, e così la notizia è rimasta lì, in attesa di… fact-checking!

Già, perché ero convinto che il supporto fosse stato rimosso già da anni, da quando nel 2022 avevamo raccontato la storia nell’articolo “Il supporto ai processori i486 sarà presto rimosso dal Kernel Linux, parola di Linus Torvalds“.

Ora, è chiaro come le tempistiche in un progetto ampio come il Kernel Linux siano logicamente sempre un poco dilatate, ma le frasi del creatore del Kernel non lasciavano spazio a troppe speculazioni:

That’s the kind of maintenance burden we simply shouldn’t have — no developer actually cares (correctly), nobody really tests that situation (also correctly — it’s old and irrelevant hardware), but it also means that code just randomly doesn’t actually work.

Si tratta del classico fardello gestionale che semplicemente non dovremmo avere — a nessuno sviluppatore importa (correttamente), nessuno testa realmente quell’ambito (ed anche questo è corretto — è hardware vecchio e irrilevante), ma significa anche che quel codice randomicamente non funziona.

Per questo quando a fine aprile scorso Torvalds ha scritto nuovamente nella mailing list del Kernel frasi simili, si è capito come le riflessioni a proposito del “fardello gestionale” non fossero affatto casuali, né temporanee.

Il contesto è del tutto simile al primo, dove azioni di manutenzione normali vengono rallentate dalla considerazione di architetture che, ormai, sono retaggio del passato.

Questa volta la discussione riguarda CONFIG_X86_TSC (TSC sta per Time Stamp Counter) una funzionalità presente nel Kernel Linux sin dalla versione 2.6.12:

Because CONFIG_X86_TSC does cause some oddities: we end up still using the TSC for many things if the hardware supports it (which modern hardware obviously does), but then other things get disabled entirely. […] I really get the feeling that it’s time to leave i486 support behind. There’s zero real reason for anybody to waste one second of development effort on this kind of issue.

Perché CONFIG_X86_TSC causa alcune stranezze: alla fine usiamo TSC per molte cose se l’hardware lo supporta (e l’hardware moderno ovviamente lo fa), ma poi altre cose vengono completamente disabilitate. […] Ho davvero la sensazione che sia il momento di abbandonare il supporto i486. Non c’è una vera ragione per cui qualcuno possa sprecare energie sullo sviluppo di questo tipo di problema.

E gli fa eco anche Ingo Molnar, sottolineando come si tratti principalmente di effort buttato, ed esprimendo un compiaciuto “Fully agreed!, indicando la tabella di marcia affinché tutte queste porzioni di codice vengano definitivamente rimosse.

Il lavoro non riguarderà solo l’architettura 486, ma anche i primi processori 586, quelli che rivoluzionarono a suo tempo il mercato, i Pentium.

A tendere, la CPU x86 minima supportata sarà quella del Pentium originale (P5) o più recente, che richiede la presenza di TSC e dell’istruzione CMPXCHG8B (CX8), caratteristiche assenti nei vecchi processori 486 e nei primi 586 (IDT WinChip e AMD Elan).

Quella che fino a due anni fa era un’idea si è tramutata quindi oggi in un’esigenza, e quindi addio 486. È così che va l’evoluzione!

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

14 risposte a “Dopo quasi tre anni dalla prima idea, il supporto alle CPU 486 (e primi Pentium) verrà rimosso da Kernel Linux”

  1. Avatar Mauro Miatello
    Mauro Miatello

    la stazione spaziale usa 386SX

  2. Avatar JustATiredMan
    JustATiredMan

    forse non usano linux :-D, e anche fosse, dubito sia collegata a internet, per cui non dovrebbe necessitare di molti updates legati alla sicurezza.

  3. Avatar Alessandro Scarozza
    Alessandro Scarozza

    fosse per me andrebbe proprio rimosso il supporto a x86 a 32 bit, esistono comunque i vecchi kernel LTS.

  4. Avatar Autodelta85
    Autodelta85

    Direi doveroso oramai

  5. Avatar JustATiredMan
    JustATiredMan

    probabilmente sarà fatto in qualche step successivo.
    Oggi, c'è ancora molto hardware embedded a 32bit per essere rimosso.

  6. Avatar Alessandro Scarozza
    Alessandro Scarozza

    io farei una versione mega LTS mantenuta per tipo 10 anni, e nelle successive farei un bel taglio netto

  7. Avatar JustATiredMan
    JustATiredMan

    mah… non so se si possa fare cosi di netto. 32bit sono più che sufficenti in moltissimi casi, sopratutto nell’embedded. Le cpu a 64 bit, risulterebbero piu costose magari per usi dove si devono solo pilotare sensori e/o attuatori, sarebbero del tutto inutili. In ambito embedded/industriale, spesso vanno ancora bene cpu a 16 e pure a 8 bit…. vedi lo Z80 che viene ancora usato… lo trovi in versioni microcontroller che vanno a 50-100 mhz, quando l’originale andava a 3,5, ma le istruzioni sono ancora quelle.
    https://www.zilog.com/docs/ez80acclaim/ps0153.pdf

  8. Avatar Alessandro Scarozza
    Alessandro Scarozza

    no no, io parlo solamente delle x86 a 32 bit. i casi embedded o comunque tutti gli altri casi da te accennati usano ARM o RISCV o altre soluzioni.

  9. Avatar JustATiredMan
    JustATiredMan

    credo che sia codice comune. In sostanza quello relativo a 32 bit, non è solo x86, ma generale con tutte le architetture, fatto salvo di qualche pezzo specifico.

  10. Avatar Giok
    Giok

    Ehh questa proprio non ci voleva, adesso sarò costretto ad aggiornare il mio hardware 🙂

  11. Avatar Giacomo Perin
    Giacomo Perin

    Quindi dopo windows 11 che abbandona il supporto a cpu di più di 5 anni, anche linux imita l'iniziativa smettendo il supporto a cpu con più di 30 anni…

  12. Avatar Alessandro Scarozza
    Alessandro Scarozza

    la parte in comune è minima e comunque parlerei solamente della parte x86-32bit nello specifico

  13. Avatar Black_Codec

    Raddooppiando i costi di manutenzione?!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *