Port-arm archive

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

Predictable CPU discovery (was: Re: CVS commit: src/sys/arch/aarch64/aarch64)



Moving to port-arm@.

> On Jul 2, 2020, at 11:37 AM, Jared McNeill <jmcneill%invisible.ca@localhost> wrote:
> 
> I think this will have issues on some big.LITTLE configurations like Rockchip RK3399.
> 
> In the RK3399 case cpu[0-3] is VIPT I$ and cpu[4-5] is PIPT I$. Boot order of secondaries is not guaranteed so it is possible to get different values of aarch64_cache_vindexsize from one boot to the next.

But that could be changed!

The Alpha port, for example, ensures predictable ordering and discovery of CPU properties in a predictable way from boot-to-boot.

It does this by booting the secondaries one at a time as they're discovered in the PCS table, letting them announce their extensions, etc., but then spin waiting to be released.

cpu_boot_secondary_processors() then simply sets a couple of bits to notify the waiting CPUs that they can move ahead.

-- thorpej



Home | Main Index | Thread Index | Old Index