Hello,
Damien Zammit, le sam. 28 févr. 2026 06:14:08 +0000, a ecrit:
> There were problems resuming the lapic timer, causing lockups on -smp 2.
> We used to use the PIT on cpu0 for clock interrupts and lapic timer
> for periodic interrupts on other cpus. Now the PIT is only used to
> calibrate the lapic timer to unify the clock sources to be lapic based.
> Re-enable the lapic timer on all cpus for clock sources of periodic intrs.
Ok, why not, that can simplify things, so applied. But
> @@ -631,11 +636,15 @@ void
> startrtclock(void)
> {
> #ifdef APIC
> - unmask_irq(timer_pin);
> - calibrate_lapic_timer();
> - if (cpu_number() != 0) {
> - lapic_enable_timer();
> + if (cpu_number() == 0) {
> + /* cpu0 calls this before other cpus do
> + * to calibrate the lapic timer once for all cpus. */
> + unmask_irq(timer_pin);
> + calibrate_lapic_timer();
> + mask_irq(timer_pin);
> + /* The PIT is no longer required past here */
Can't we deconfigure the PIT rather than leaving it clock-tick and keep
the irq masked?
Samuel