aboutsummaryrefslogtreecommitdiff
path: root/compiler-rt/(public-mirror)
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2026-08-19 00:33:33 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2026-09-17 08:37:51 +0000
commitb9cee186b83ecb531a6d4b4421230acfd5314c16 (patch)
treec077662a714894de9659434f5427708cb961c075 /compiler-rt/(public-mirror)
parent2231e505d1d40441b80cfacb5a92111d1408a935 (diff)
ice: Add a failure injection facilityHEADmain
Add compile-time optional, non-sleeping fail points around every VF creation resource boundary, before VF VSI reconstruction, and in the GET_STATS validation path. Provide an ICE-wide wrapper and device selector so other driver subsystems can add scoped points without duplicating the failpoint plumbing. Keep the current SR-IOV points and VF selector in an iov child namespace. Compile the facility only with options DRIVER_FAILPOINTS. This shared option avoids a separate kernel option for every driver that provides test-only injection hooks. Ordinary kernels contain no ICE failpoint objects or sysctl nodes. Require an exact PF device name and optionally a VF index before any point can fire. This prevents a stale test setting from affecting another PF. The hooks exposed two reset-lifetime defects while validating the existing SR-IOV review series. A PF reset could discard a firmware VSI before teardown, and a rebuilt sibling could leave stale switch-filter state after IOV destroy. Tested on an E810-XXV with INVARIANTS and WITNESS. All twelve creation checkpoints rolled back and permitted immediate resource reuse. Forced reconstruction and malformed GET_STATS failures also preserved sibling operation and reply cardinality. Reviewed by: gallatin, nprice, ziaee MFC after: 2 weeks Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D58940
Diffstat (limited to 'compiler-rt/(public-mirror)')
0 files changed, 0 insertions, 0 deletions