deb2e577a2
If any non-static modules are loaded (and mac_ntpd tends to be), the lock is taken all the time al over the kernel. On platforms like arm64 this results in an avoidable significant performance degradation. Since write-locking is almost never needed, use a primitive optimized towards read-locking. Sample result of building the kernel on tmpfs 11 times: stock 11142.80s user 6704.44s system 4924% cpu 6:02.42 total patched 11118.95s user 2374.94s system 4547% cpu 4:56.71 total |
||
---|---|---|
.. | ||
mac_audit.c | ||
mac_cred.c | ||
mac_framework.c | ||
mac_framework.h | ||
mac_inet6.c | ||
mac_inet.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 |