Page MenuHomeFreeBSD

Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (M of N)
ClosedPublic

Authored by kaktus on Feb 26 2020, 3:17 PM.
Tags
None
Referenced Files
F138042637: D23841.diff
Fri, Nov 28, 11:03 AM
Unknown Object (File)
Thu, Nov 27, 10:23 AM
Unknown Object (File)
Wed, Nov 26, 11:02 AM
Unknown Object (File)
Wed, Nov 26, 4:46 AM
Unknown Object (File)
Fri, Nov 21, 12:54 AM
Unknown Object (File)
Thu, Nov 20, 9:41 PM
Unknown Object (File)
Thu, Nov 20, 9:35 PM
Unknown Object (File)
Thu, Nov 20, 9:34 PM
Subscribers

Details

Summary

r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

cem added a subscriber: cem.
cem added inline comments.
sys/dev/random/fortuna.c
305 ↗(On Diff #68843)

I think mpsafe is fine here.

sys/dev/random/random_harvestq.c
114 ↗(On Diff #68843)

Kinda feels like NODE type sysctls should be MPSAFE globally. The weird exceptions with handlers should have to opt out of mpsafe. Imo.

309 ↗(On Diff #68843)

Sure. There is some trivial conversion to atomic update here but that’s not the goal of this patch series.

331 ↗(On Diff #68843)

MPSAFE

393 ↗(On Diff #68843)

MPSAFE

This revision is now accepted and ready to land.Feb 26 2020, 4:56 PM

OK, I'll mark them as mpsafe in a commit.

sys/dev/random/random_harvestq.c
114 ↗(On Diff #68843)

Too late, this is the last patch in the whole series of adding NEEDGIANT :-)
I'll invite you to a brainstorming review for a proposed decoupling of nodes with handlers so this mess could be removed.