Mentre leggo, i jiffie vengono incrementati su ogni tick del timer tramite il timer ISR. Ma in SMP, tutte le CPU avranno il proprio interrupt del timer e quindi il proprio ISR del timer. Quindi la mia domanda è:Quale CPU incrementa i jiffie in SMP?
I jiffies sono globali su tutte le CPU? Se sì, come e quale CPU lo incrementa nel suo ISR del timer?
Secondo la mia comprensione i jiffies non possono essere per cpu altrimenti lo stesso processo quando programmato su CPU differente vedrà un valore diverso da jiffy.
Grazie
CPU0 CPU1 CPU2 CPU3 0: 41 19 0 8 IO-APIC-edge timer @ugoren: Sopra è l'uscita di cat/proc/interrupts per l'allarme da 0 sul mio desktop Ubuntu. Mi chiedo ancora quale CPU stia calcolando i jiffies su quale timer interrompe. Di seguito è riportato il mio cat/proc/versione Linux versione 3.2.0-26-generic-pae (buildd @ lamiak) (gcc versione 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)) – Inder
Sembra che l'interruzione globale del timer sia gestita da una diversa CPU ogni volta. Non vedo alcun problema con esso. – ugoren
Sì, il timer globale (interrupt 0) viene gestito da una CPU diversa ogni volta. Ma se questo timer incrementa i jiffies allora la somma del conteggio su tutte le CPU dovrebbe essere valori jiffies. Ma la somma è 68 (41 + 19 + 0 + 8) che non può essere jiffies. – Inder