Page MenuHomeFreeBSD

Add NOEPOCHASSERT().
ClosedPublic

Authored by glebius on Oct 14 2019, 4:19 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 11, 8:36 AM
Unknown Object (File)
Tue, Dec 3, 3:00 PM
Unknown Object (File)
Mon, Dec 2, 7:04 PM
Unknown Object (File)
Nov 22 2024, 4:34 AM
Unknown Object (File)
Nov 15 2024, 5:53 AM
Unknown Object (File)
Nov 13 2024, 12:00 AM
Unknown Object (File)
Nov 4 2024, 11:17 PM
Unknown Object (File)
Oct 28 2024, 2:20 AM
Subscribers

Details

Summary

Add a special assertion that would trigger if a thread
is in epoch. With EPOCH_TRACE present, it will also list the
epochs entered and entry points.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 27020
Build 25309: arc lint + arc unit

Event Timeline

sys/net/if.c
3585

This won't be part of commit. Added just to check functionality.

This revision is now accepted and ready to land.Oct 14 2019, 10:03 AM

Re-do the patch a bit. Instead of new macro, just add epoch_trace_list()
to the three critical places where we must not be in an epoch.

This revision now requires review to proceed.Oct 15 2019, 3:45 PM
sys/kern/kern_synch.c
152 ↗(On Diff #63297)

!= 0 instead of > 0 matches the KASSERT() below.

sys/kern/kern_synch.c
152 ↗(On Diff #63297)

I don't agree. The value isn't boolean, it is an unsigned counter. Using > 0 is more correct.

sys/kern/kern_synch.c
152 ↗(On Diff #63297)

I thought it was signed integer. If unsigned, then your check is OK.

This revision was not accepted when it landed; it landed in state Needs Review.Oct 15 2019, 9:24 PM
This revision was automatically updated to reflect the committed changes.