HPET vs other timers

Nate Lawson nate at root.org
Sun Jun 3 00:30:41 UTC 2007


Poul-Henning Kamp wrote:
> Nate Lawson wrote:
>>> Anyone able to speculate why though?  HPET only reads 32 bits from a
>>> memory mapped region.  No locking or other requirements.  ACPI_timer
>>> does multiple IO ops, which according to bde@ are much slower than
>>> memory reads.  
> 
> HPET needs to do metastability mitigation and is not "just a read
> from a memory mapped region".

If it does, then it's not implemented yet:

static u_int
hpet_get_timecount(struct timecounter *tc)
{
        struct acpi_hpet_softc *sc;

        sc = tc->tc_priv;
        return (bus_read_4(sc->mem_res, HPET_OFFSET_VALUE));
}

Are you sure you're not thinking of ACPI-safe?

-- 
Nate


More information about the freebsd-current mailing list