Nonostante il codice a 32 bit sia praticamente ormai quasi caduto in disuso, gli sviluppatori Linux approfittano del periodo di fine anno per apportare ulteriori migliorie pensate per i sistemi a x86 64 bit che continuano ad eseguirlo ancora, per qualche motivo.
Linux: in arrivo pulizie per il codice a 32 bit eseguito sui computer a 64 bit
L’esecuzione di codice a 32 bit relativo a kernel e software per Linux su hardware x86 a 64 bit era molto diffusa da tempo sui portatili con capacità di RAM limitate. Successivamente, la maggior parte delle distribuzioni ne ha gradualmente eliminato il supporto, non permettendo più la compatibilità con il software a 32 bit.
Dopo essersi occupato della stessa operazione di pulizia per quanto riguarda il codice ARM a 32 bit, uno sviluppatore ha di recente iniziato di fare lo stesso per quanto riguarda le piattaforme x86 Intel e AMD.
Come spiegato nel dettaglio dallo sviluppatore:
“In primo luogo si tratta di eseguire kernel a 32 bit su hardware a 64 bit, il che di solito funziona ma dovrebbe probabilmente essere scoraggiato più chiaramente fornendo supporto solo per le funzionalità utilizzate su hardware a 32 bit reale:
ho trovato solo alcuni server di fascia alta del 2003 (HP DL740 e DL760 G2) che erano gli unici possibili utilizzi rimanenti di HIGHMEM64G e BIGSMP dopo la rimozione delle macchine NUMA a 32 bit nel 2014. Allo stesso modo, esiste solo una generazione di hardware con supporto per VT-x. Tutte queste funzionalità possono essere rimosse senza danneggiare gli utenti.
Nella selezione della CPU, creare un kernel a 32 bit ottimizzato per AMD K8 o Intel Core2 è anacronistico, quindi invece devono essere offerti solo tipi di CPU a 32 bit come obiettivi di ottimizzazione. L’obiettivo “generico” su 64 bit si è rivelato leggermente danneggiato, quindi ho incluso una correzione anche per quello, sostituendo l’obiettivo predefinito del compilatore con una selezione intenzionale tra i livelli utili.”
Il lavoro su Linux si divide su un totale di 11 patch che aggiungono 185 nuove linee di codice, eliminandone al tempo stesso 1.216 e, con queste, la fine del supporto KVM a 32 bit. Tutti i dettagli sono consultabili nella pagina dedicata.