bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH gnumach] ioapic: Timer calibrated in 10 mach ticks


From: Samuel Thibault
Subject: Re: [PATCH gnumach] ioapic: Timer calibrated in 10 mach ticks
Date: Sat, 11 Mar 2023 10:17:44 +0100
User-agent: NeoMutt/20170609 (1.8.3)

Applied, thanks!

Damien Zammit, le sam. 11 mars 2023 07:29:45 +0000, a ecrit:
> hz variable is the number of mach ticks in 1 second.
> We want to know how many lapic ticks in 1 mach tick.
> Therefore, we set a timer for 10 mach ticks and divide
> the lapic stopwatch counter value by 10.
> ---
>  i386/i386at/ioapic.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/i386/i386at/ioapic.c b/i386/i386at/ioapic.c
> index c6da35e1..73fd216a 100644
> --- a/i386/i386at/ioapic.c
> +++ b/i386/i386at/ioapic.c
> @@ -172,8 +172,8 @@ timer_measure_10x_apic_hz(void)
>      /* Set APIC timer */
>      lapic->init_count.r = start;
> 
> -    /* Delay for 10 * 1/hz seconds */
> -    set_timeout(&tmp_timer, hz / 10);
> +    /* Delay for 10 ticks (10 * 1/hz seconds) */
> +    set_timeout(&tmp_timer, 10);
>      do {
>          cpu_pause();
>      } while (!done);
> @@ -195,9 +195,8 @@ calibrate_lapic_timer(void)
>      lapic->divider_config.r = LAPIC_TIMER_DIVIDE_2;
>      lapic->lvt_timer.r = IOAPIC_INT_BASE;
> 
> -    /* Measure number of APIC timer ticks in 10x 1/hz seconds
> -     * but calibrate the timer to expire at rate of hz
> -     * divide by 10 because we waited 10 times longer than we needed. */
> +    /* Measure number of APIC timer ticks in 10 mach ticks
> +     * divide by 10 because we want to know how many in 1 tick */
>      if (!calibrated_ticks) {
>          s = splhigh();
>          spl0();
> --
> 2.39.0
> 
> 
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]