Il kernel Linux continua la sua lenta e silenziosa pulizia dell’architettura x86. La novità riguarda il TSC, il Time Stamp Counter presente nei processori Intel e AMD da moltissimi anni, che ora diventa un requisito di avvio per il sistema.
La modifica non introduce un vincolo moderno e arbitrario, ma taglia il supporto a CPU molto vecchie, nate in un’epoca in cui il contatore temporale non era ancora affidabile o, in alcuni casi, nemmeno disponibile. È per questo che il paragone con Windows 11 è fuorviante: qui non si alza l’asticella per i PC recenti, si elimina il peso del passato.
Linux e il requisito TSC sulle CPU x86
Con le più recenti patch del ramo x86, il kernel non tratta più il TSC come una caratteristica opzionale da gestire in fase di compilazione. La presenza del contatore diventa essenziale, e questo semplifica il codice che deve avviare e gestire i sistemi supportati.
Il TSC è un registro hardware a 64 bit che cresce nel tempo e può essere letto direttamente dalla CPU tramite istruzioni come RDTSC e, sui modelli compatibili, RDTSCP. Questo consente di misurare intervalli molto brevi con un accesso rapido, senza ricorrere ogni volta a timer esterni più lenti come HPET o l’ACPI Power Management Timer.
Nei processori più antichi, però, il TSC non era sempre stabile: poteva dipendere dalla frequenza del core, fermarsi in alcuni stati di risparmio energetico o risultare non sincronizzato tra core diversi. Per un sistema operativo, un contatore veloce ma incoerente è un problema serio.
Perché Linux può rinunciare ai vecchi processori
La direzione presa dal kernel era già chiara da tempo. Le versioni precedenti avevano iniziato a rimuovere il supporto per i486 e per varie piattaforme derivate, fino ad arrivare alla cancellazione di configurazioni dedicate a CPU i586 prive di TSC. Anche opzioni storiche come M486, M486SX, ELAN e varianti simili sono state progressivamente eliminate.
In pratica, i Pentium e i derivati che dispongono del TSC possono continuare a funzionare grazie alle configurazioni appropriate, mentre i processori senza questo requisito restano esclusi dal mainline. Il vantaggio non è tanto prestazionale quanto manutentivo: meno combinazioni da conservare, testare e correggere nel tempo.
Un percorso che ricorda quello di Windows, ma con obiettivi diversi
Microsoft ha affrontato il tema già da anni attraverso QueryPerformanceCounter, l’API usata dalle applicazioni per misurare intervalli brevi. In passato Windows ha preferito timer di piattaforma come HPET o ACPI PM Timer per evitare i limiti dei vecchi TSC, poi ha iniziato a usare i TSC a frequenza costante quando i processori e la sincronizzazione tra core lo hanno reso affidabile.
Oggi, per chi usa CPU Intel o AMD relativamente recenti, la novità di Linux non cambia nulla. L’impatto reale riguarda soprattutto il retrocomputing e alcune apparecchiature industriali datate, che potranno continuare a vivere con versioni precedenti del kernel ma non seguiranno indefinitamente l’evoluzione di Linux. È un compromesso inevitabile: meno compatibilità estrema, più semplicità e meno codice da mantenere nel tempo.







