Page MenuHomeFreeBSD

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

Authored by kaktus on Feb 16 2020, 4:41 PM.

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.

N.B.
This review covers all parts not specified otherwise in reviews D23625 to D23640.

All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
kaktus added inline comments.Feb 16 2020, 9:03 PM
sys/dev/sfxge/sfxge_ev.c
506 ↗(On Diff #68417)

MPSAFE

567 ↗(On Diff #68417)

MPSAFE

1005 ↗(On Diff #68417)

MPSAFE

sys/dev/sfxge/sfxge_port.c
199 ↗(On Diff #68417)

MPSAFE

654 ↗(On Diff #68417)

MPSAFE

786 ↗(On Diff #68417)

MPSAFE

789 ↗(On Diff #68417)

MPSAFE

806 ↗(On Diff #68417)

MPSAFE

sys/dev/sound/pci/atiixp.c
1100 ↗(On Diff #68417)

MPSAFE

sys/dev/sound/pci/es137x.c
1651 ↗(On Diff #68417)

MPSAFE

1667 ↗(On Diff #68417)

MPSAFE

1685 ↗(On Diff #68417)

MPSAFE

1698 ↗(On Diff #68417)

MPSAFE

1703 ↗(On Diff #68417)

MPSAFE

sys/dev/sound/pci/via8233.c
262 ↗(On Diff #68417)

MPSAFE

267 ↗(On Diff #68417)

MPSAFE

272 ↗(On Diff #68417)

MPSAFE

sys/dev/sound/pcm/ac97.c
923 ↗(On Diff #68417)

MPSAFE

sys/dev/sound/pcm/feeder_eq.c
688 ↗(On Diff #68417)

MPSAFE

700 ↗(On Diff #68417)

MPSAFE

sys/dev/sound/pcm/mixer.c
893 ↗(On Diff #68417)

MPSAFE

sys/dev/sound/pcm/vchan.c
996 ↗(On Diff #68417)

All MPSAFE

sys/dev/tsec/if_tsec.c
1688 ↗(On Diff #68417)

MPSAFE

1691 ↗(On Diff #68417)

MPSAFE

1695 ↗(On Diff #68417)

MPSAFE

1698 ↗(On Diff #68417)

MPSAFE

sys/dev/virtio/block/virtio_blk.c
1397 ↗(On Diff #68417)

MPSAFE

sys/fs/nfsclient/nfs_clnfsiod.c
129 ↗(On Diff #68417)

MPSAFE

166 ↗(On Diff #68417)

MPSAFE

sys/geom/geom_kern.c
224 ↗(On Diff #68417)

All three probably MPSAFE

sys/kern/kern_linker.c
2264 ↗(On Diff #68417)

MPSAFE

sys/kern/kern_malloc.c
1229 ↗(On Diff #68417)

MPSAFE

sys/kern/kern_mib.c
187 ↗(On Diff #68417)

MPSAFE

203 ↗(On Diff #68417)

MPSAFE

220 ↗(On Diff #68417)

MPSAFE

253 ↗(On Diff #68417)

MPSAFE

403 ↗(On Diff #68417)

MPSAFE

sys/kern/kern_poll.c
138 ↗(On Diff #68417)

MPSAFE

164 ↗(On Diff #68417)

MPSAFE

191 ↗(On Diff #68417)

MPSAFE

217 ↗(On Diff #68417)

MPSAFE

sys/kern/kern_prot.c
1683 ↗(On Diff #68417)

MPSAFE

sys/kern/subr_devstat.c
445 ↗(On Diff #68417)

MPSAFE

sys/kern/subr_prof.c
391 ↗(On Diff #68417)

MPSAFE

sys/kern/subr_rman.c
1072 ↗(On Diff #68417)

MPSAFE

sys/kern/subr_rtc.c
85 ↗(On Diff #68417)

MPSAFE

sys/kern/subr_sleepqueue.c
1438 ↗(On Diff #68417)

MPSAFE

1443 ↗(On Diff #68417)

MPSAFE

sys/kern/subr_stats.c
3898 ↗(On Diff #68417)

MPSAFE

sys/kern/uipc_usrreq.c
1907 ↗(On Diff #68417)

MPSAFE

1911 ↗(On Diff #68417)

MPSAFE

1915 ↗(On Diff #68417)

MPSAFE

sys/libkern/iconv.c
355 ↗(On Diff #68417)

MPSAFE

388 ↗(On Diff #68417)

MPSAFE

457 ↗(On Diff #68417)

MPSAFE

sys/net/if_epair.c
138 ↗(On Diff #68417)

MPSAFE

sys/net/iflib.c
6282 ↗(On Diff #68417)

MPSAFE

sys/netinet/cc/cc.c
326 ↗(On Diff #68417)

MPSAFE

329 ↗(On Diff #68417)

MPSAFE

sys/netinet/ip_divert.c
746 ↗(On Diff #68417)

MPSAFE

sys/netinet/ip_id.c
140 ↗(On Diff #68417)

MPSAFE

147 ↗(On Diff #68417)

MPSAFE

sys/netinet/ip_input.c
234 ↗(On Diff #68417)

MPSAFE

256 ↗(On Diff #68417)

MPSAFE

275 ↗(On Diff #68417)

MPSAFE

297 ↗(On Diff #68417)

MPSAFE

sys/netinet/ip_mroute.c
2803 ↗(On Diff #68417)

MPSAFE

sys/netinet/netdump/netdump_client.c
144 ↗(On Diff #68417)

MPSAFE

sys/netinet/raw_ip.c
1142 ↗(On Diff #68417)

MPSAFE

sys/netinet/tcp_fastopen.c
272 ↗(On Diff #68417)

MPSAFE

331 ↗(On Diff #68417)

MPSAFE

338 ↗(On Diff #68417)

MPSAFE

344 ↗(On Diff #68417)

MPSAFE

350 ↗(On Diff #68417)

MPSAFE

356 ↗(On Diff #68417)

MPSAFE

sys/netinet/tcp_hostcache.c
169 ↗(On Diff #68417)

MPSAFE

174 ↗(On Diff #68417)

MPSAFE

sys/netinet/udp_usrreq.c
921 ↗(On Diff #68417)

MPSAFE

963 ↗(On Diff #68417)

MPSAFE

kaktus updated this revision to Diff 68424.Feb 16 2020, 9:27 PM
kaktus edited the summary of this revision. (Show Details)

Address comments and fix many more obvious cases.

kaktus added inline comments.Feb 16 2020, 9:39 PM
sys/powerpc/powermac/pmu.c
469 ↗(On Diff #68424)

Should be MPSAFE

gallatin added inline comments.
sys/dev/mxge/if_mxge.c
1510 ↗(On Diff #68424)

Nothing in mxge needs giant

kaktus updated this revision to Diff 68600.Feb 20 2020, 3:49 PM

Address comments and update to rS358167.

kaktus updated this revision to Diff 68841.Feb 26 2020, 1:59 PM

Sync with rS358330 and split sys/dev/random bits to a separate review for so@ approval.

cy added a subscriber: cy.Feb 27 2020, 2:46 AM
This revision was not accepted when it landed; it landed in state Needs Review.Wed, Apr 1, 12:12 AM
This revision was automatically updated to reflect the committed changes.