Page MenuHomeFreeBSD

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

Authored by kaktus on Feb 11 2020, 9:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 21 2024, 2:32 AM
Unknown Object (File)
Jan 15 2024, 9:31 AM
Unknown Object (File)
Jan 14 2024, 5:36 AM
Unknown Object (File)
Dec 22 2023, 10:25 PM
Unknown Object (File)
Nov 23 2023, 6:11 AM
Unknown Object (File)
Sep 25 2023, 3:40 AM
Unknown Object (File)
Sep 25 2023, 3:40 AM
Unknown Object (File)
Sep 25 2023, 3:40 AM

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.

You’re asked for a review based on src/MAINTAINERS entry.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

I believe all sysctls in vmm/ can be safely marked as MPSAFE.

Mark the nodes as MPSAFE.

Again, wait some limited time for somebody from bhyve, then commit.

This revision is now accepted and ready to land.Feb 13 2020, 5:01 PM

Generally looks fine. Only weirdness is having to mark SYSCTL_NODE()'s with MPSAFE. A SYSCTL_NODE without an explicit handler (so handler set to NULL) is inherently MPSAFE, and it'd be nice to adjust the assertions to special case that to avoid adding churn since eventually once al sysctls are safe we will go through and remove all the CTLFLAG_MPSAFE flags.