Page MenuHomeFreeBSD

Add NOEPOCHASSERT().
ClosedPublic

Authored by glebius on Oct 14 2019, 4:19 AM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 25 2023, 2:40 PM
Unknown Object (File)
Dec 19 2023, 10:31 PM
Unknown Object (File)
Sep 3 2023, 7:07 AM
Unknown Object (File)
Sep 3 2023, 7:06 AM
Unknown Object (File)
Sep 3 2023, 7:01 AM
Unknown Object (File)
Aug 28 2023, 10:10 AM
Unknown Object (File)
Aug 28 2023, 9:57 AM
Unknown Object (File)
Aug 16 2023, 11:42 PM
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 Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/net/if.c
3585 ↗(On Diff #63242)

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.