HomeFreeBSD

lockprof: use IPI-injecetd fences to fix hangs on stat dump and reset

Description

lockprof: use IPI-injecetd fences to fix hangs on stat dump and reset

The previously used quiesce_all_cpus walks all CPUs and waits until curthread
can run on them. Even on contemporary machines this becomes a significant
problem under load when it can literally take minutes for the operation to
complete. With the patch the stall is normally less than 1 second.

Reviewed by: kib, jeff (previous version)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21740

Details

Provenance
mjgAuthored on
Reviewer
kib
Differential Revision
D21740: lockprof: fix hangs under load when changing the state or dumping stats
Parents
rS355230: Add a way to inject fences using IPIs
Branches
Unknown
Tags
Unknown