Il timestamp spesso risulta un’informazione vitale: sapere con precisione quando è successo qualcosa, permette di ricostruire le catene di eventi. E, in caso di imprevisti, identificare il colpevole.
Il Kernel ha tutto un suo sistema per poter associare un timestamp ad ogni evento, ma proprio perché è un software, può segnare l’orario di quando si accorge di un evento – cosa che non è sempre immediata. E ci possono essere casi in cui due eventi vengono invertiti solo perché il Kernel si rende conto del primo dopo il secondo – assegnando un orario sbagliato.
Alcuni processori – specie se parte di un SoC (System-on-a-Chip), hanno la capacità di genererare un timestamp hardware assieme all’evento. Il Kernel, sfruttando questa capacità, non dovrà stabilire quando è avvenuto un certo evento, ma semplicemente leggere l’orario associato.
Per poter dare a Linux questa possibilità, da qualche mese gli sviluppatori di NVIDIA Dipen Patel e Thierry Reding stanno mettendo assieme HTE, acronimo di Hadware Timestamp Engine. L’obbiettivo è proprio quello di avere a disposizione un metodo standard con cui poter andare a leggere il timestamp hardware di certi eventi. E la cosa è lodevole, ma Torvalds ha avuto qualche appunto da fare.
Per prima cosa non gli piaceva il nome trovato, ma non tanto per il nome in sé quanto per il fatto che in alcune parti si fa riferimento all’acronimo ed in altre genericamente a “timestamp”. Inoltre, l’acronimo stesso non pare sufficientemente chiaro per chi non sa già di cosa si stia parlando.
Inoltre, i dispositivi supportati al momento sono… uno. Solo il Tegra di NVIDIA: troppo poco.
Infine, la richiesta di inclusione nel Kernel è stata fatta l’ultimo giorno di “finestra” disponibile: certamente nei tempi, ma solitamente le nuove funzioni sono presentate all’inizio della finestra, così da avere più tempo per esaminarle.
A tutte le obiezioni gli sviluppatori hanno dato risposte e disponibilità a migliorare. In particolare il nome potrà essere facilmente cambiato e unificato (proprio grazie al fatto di essere nuovo, e quindi non avere molti riferimenti). Inoltre, ci sono già altri dispositivi che aspettano alla porta di poter usare questo sistema.
Tutto risolto? Sembra di sì, visto che lo stesso Linus in meno di 24 ore ha sciolto le proprie riserve, senza nemmeno aspettare le risposte e accettando il codice. Da sviluppare e migliorare, sempre, col contributo di chiunque voglia!
Ho coltivato la mia passione per l'informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.