Page MenuHomeFreeBSD

Add NOEPOCHASSERT().
ClosedPublic

Authored by glebius on Oct 14 2019, 4:19 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Jan 18, 5:32 PM
Unknown Object (File)
Sun, Jan 12, 1:26 PM
Unknown Object (File)
Sun, Jan 12, 12:09 AM
Unknown Object (File)
Wed, Jan 8, 10:44 AM
Unknown Object (File)
Dec 11 2024, 8:36 AM
Unknown Object (File)
Dec 3 2024, 3:00 PM
Unknown Object (File)
Dec 2 2024, 7:04 PM
Unknown Object (File)
Nov 22 2024, 4:34 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 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.