mirror of
https://github.com/opnsense/src.git
synced 2026-02-17 01:31:45 -05:00
lock mac_ifnet_mtx, which protects labels on struct ifnet, unless at least one policy is actively using labels on ifnets. This avoids a global mutex acquire in certain fast paths -- most noticeably ifnet transmit. This was previously invisible by default, as no MAC policies were loaded by default, but recently became visible due to mac_ntpd being enabled by default. gallatin@ reports a reduction in PPS overhead from 300% to 2.2% with this change. We will want to explore further MAC Framework optimisation to reduce overhead further, but this brings things more back into the world of the sane. MFC after: 3 days |
||
|---|---|---|
| .. | ||
| mac_audit.c | ||
| mac_cred.c | ||
| mac_framework.c | ||
| mac_framework.h | ||
| mac_inet.c | ||
| mac_inet6.c | ||
| mac_internal.h | ||
| mac_label.c | ||
| mac_net.c | ||
| mac_pipe.c | ||
| mac_policy.h | ||
| mac_posix_sem.c | ||
| mac_posix_shm.c | ||
| mac_priv.c | ||
| mac_process.c | ||
| mac_socket.c | ||
| mac_syscalls.c | ||
| mac_system.c | ||
| mac_sysv_msg.c | ||
| mac_sysv_sem.c | ||
| mac_sysv_shm.c | ||
| mac_vfs.c | ||