You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/hw/timer
Igor Mammedov 20c2345290 hpet: make main counter read lock-less
Make access to main HPET counter lock-less.

In unlikely event of an update in progress, readers will busy wait
untill update is finished.

As result micro benchmark of concurrent reading of HPET counter
with large number of vCPU shows over 80% better (less) latency.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/20250814160600.2327672-6-imammedo@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 week ago
..
Kconfig rust: Kconfig: Factor out whether HPET is Rust or C 6 months ago
a9gtimer.c qom: Have class_init() take a const data argument 5 months ago
allwinner-a10-pit.c qom: Have class_init() take a const data argument 5 months ago
arm_mptimer.c qom: Have class_init() take a const data argument 5 months ago
arm_timer.c qom: Have class_init() take a const data argument 5 months ago
armv7m_systick.c qom: Have class_init() take a const data argument 5 months ago
aspeed_timer.c qom: Have class_init() take a const data argument 5 months ago
avr_timer16.c qom: Have class_init() take a const data argument 5 months ago
bcm2835_systmr.c qom: Have class_init() take a const data argument 5 months ago
cadence_ttc.c qom: Have class_init() take a const data argument 5 months ago
cmsdk-apb-dualtimer.c qom: Have class_init() take a const data argument 5 months ago
cmsdk-apb-timer.c qom: Have class_init() take a const data argument 5 months ago
digic-timer.c qom: Have class_init() take a const data argument 5 months ago
exynos4210_mct.c qom: Have class_init() take a const data argument 5 months ago
exynos4210_pwm.c qom: Have class_init() take a const data argument 5 months ago
grlib_gptimer.c qom: Have class_init() take a const data argument 5 months ago
hpet.c hpet: make main counter read lock-less 1 week ago
i8254.c qom: Have class_init() take a const data argument 5 months ago
i8254_common.c qom: Have class_init() take a const data argument 5 months ago
ibex_timer.c qom: Have class_init() take a const data argument 5 months ago
imx_epit.c qom: Have class_init() take a const data argument 5 months ago
imx_gpt.c qom: Have class_init() take a const data argument 5 months ago
meson.build rust: Kconfig: Factor out whether HPET is Rust or C 6 months ago
mips_gictimer.c hw: Do not include hw/sysbus.h if it is not necessary 4 years ago
mss-timer.c qom: Have class_init() take a const data argument 5 months ago
npcm7xx_timer.c qom: Have class_init() take a const data argument 5 months ago
nrf51_timer.c qom: Have class_init() take a const data argument 5 months ago
pxa2xx_timer.c hw/arm: Replace TABs for spaces in OMAP board and device code 4 months ago
renesas_cmt.c qom: Have class_init() take a const data argument 5 months ago
renesas_tmr.c qom: Have class_init() take a const data argument 5 months ago
sh_timer.c include/system: Move exec/memory.h to system/memory.h 5 months ago
sifive_pwm.c qom: Have class_init() take a const data argument 5 months ago
slavio_timer.c qom: Have class_init() take a const data argument 5 months ago
sse-counter.c qom: Have class_init() take a const data argument 5 months ago
sse-timer.c qom: Have class_init() take a const data argument 5 months ago
stellaris-gptm.c qom: Have class_init() take a const data argument 5 months ago
stm32f2xx_timer.c qom: Have class_init() take a const data argument 5 months ago
trace-events hw/timer/aspeed: Refactor Timer Callbacks for SoC-Specific Implementations 7 months ago
trace.h trace: switch position of headers to what Meson requires 5 years ago
xilinx_timer.c qom: Have class_init() take a const data argument 5 months ago