Hi Roger,
On 22/02/2024 09:05, Roger Pau Monne wrote:
The usage of a cmpxchg loop in hpet_get_channel() is unnecessary, as the same
can be achieved with an atomic increment, which is both simpler to read, and
avoid any need for a loop.
Note there can be a small divergence in the channel returned if next_channel
overflows, but returned channel will always be in the [0, num_hpets_used)
range, and that's fine for the purpose of balancing HPET channels across CPUs.
This is also theoretical, as there's no system currently with 2^32 CPUs (as
long as next_channel is 32bit width).
This would also happen if we decide to reduce the size next_channel.
Reviewed-by: Julien Grall <jgr...@amazon.com>
Cheers,
--
Julien Grall