Applied, thanks!

Damien Zammit, le dim. 15 févr. 2026 04:36:19 +0000, a ecrit:
> This was likely an oversight, that the last_hpc_read is only supposed
> to be updated by cpu0 during its clock interrupt.
> This will ensure only one cpu can update the value but any other cpu
> can read it.
> 
> This does *not* make the hp clock smp safe yet.
> 
> TESTED:
>  - The clocktest script from earlier commit msg still passes on UP.
>  - The clocktest script from earlier commit msg now passes on SMP
>    when run on master processor only (fixed).
>  - The clocktest script from earlier commit msg *fails* on SMP
>    when run on slave processor set using /sbin/smp ./clocktest
>  - Passes all i386 CI.
> ---
>  kern/mach_clock.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/kern/mach_clock.c b/kern/mach_clock.c
> index 33a74aff..c59ed7ad 100644
> --- a/kern/mach_clock.c
> +++ b/kern/mach_clock.c
> @@ -334,8 +334,12 @@ void clock_interrupt(
>                * we catch up softticks so it does not fall behind */
>               ++softticks;
>           }
> +
> +         /*
> +          *  Only update high precision read on cpu0 once per clock interrupt
> +          */
> +         last_hpc_read = hpclock_read_counter();
>       }
> -     last_hpc_read = hpclock_read_counter();
>  }
>  
>  /*
> -- 
> 2.45.2
> 
> 
> 

-- 
Samuel
<s> bah, j'aime bien les feux d'artifices, mais j'ai peur de me prendre un 
boeing sur le coin de la gueule si je vais sur le pont de brooklyn
 -+- #ens-mim - 11 septembre forever -+-

Reply via email to