HomeFreeBSD

Retire nstart/nend counters.

Description

Retire nstart/nend counters.

Those counters were abused for decade to workaround broken orphanization
process in different classes by delaying the call while there are active
requests. But from one side it did not close all the races, while from
another was quite expensive on SMP due to trashing twice per request cache
lines of consumer and provider and requiring locks. It lost its sense
after I manually went through all the GEOM classes in base and made
orphanization wait for either provider close or request completion.

Consumer counters are still used under INVARIANTS to detect premature
consumer close and detach. Provider counters are removed completely.

Sponsored by: iXsystems, Inc.

Details

Provenance
mavAuthored on Dec 30 2019, 12:46 AM
Parents
rGa2ea78495a13: Add libdtrace support for arm64 USDT probes.
Branches
Unknown
Tags
Unknown

Event Timeline