mirror of
https://github.com/opnsense/src.git
synced 2026-02-15 08:38:13 -05:00
After running a `make buildkernel', I noticed most of the Giant locks in sysctl are only caused by a very small amount of sysctl's: - sysctl.name2oid. This one is locked by SYSCTL_LOCK, just like sysctl.oidfmt. - kern.ident, kern.osrelease, kern.version, etc. These are just constant strings. - kern.arandom, used by the stack protector. It is already protected by arc4_mtx. I also saw the following sysctl's show up. Not as often as the ones above, but still quite often: - security.jail.jailed. Also mark security.jail.list as MPSAFE. They don't need locking or already use allprison_lock. - kern.devname, used by devname(3), ttyname(3), etc. This seems to reduce Giant locking inside sysctl by ~75% in my primitive test setup. |
||
|---|---|---|
| .. | ||
| cd9660 | ||
| coda | ||
| deadfs | ||
| devfs | ||
| fdescfs | ||
| fifofs | ||
| hpfs | ||
| msdosfs | ||
| ntfs | ||
| nullfs | ||
| nwfs | ||
| portalfs | ||
| procfs | ||
| pseudofs | ||
| smbfs | ||
| tmpfs | ||
| udf | ||
| unionfs | ||