freebsd-skq/sys/security/mac
Mateusz Guzik 89744405e6 pipe: allow for lockless pipe_stat
pipes get stated all thet time and this avoidably contributed to contention.
The pipe lock is only held to accomodate MAC and to check the type.

Since normally there is no probe for pipe stat depessimize this by having the
flag.

The pipe_state field gets modified with locks held all the time and it's not
feasible to convert them to use atomic store. Move the type flag away to a
separate variable as a simple cleanup and to provide stable field to read.
Use short for both fields to avoid growing the struct.

While here short-circuit MAC for pipe_poll as well.
2020-11-19 06:30:25 +00:00
..
mac_audit.c
mac_cred.c
mac_framework.c pipe: allow for lockless pipe_stat 2020-11-19 06:30:25 +00:00
mac_framework.h pipe: allow for lockless pipe_stat 2020-11-19 06:30:25 +00:00
mac_inet6.c
mac_inet.c When MAC is enabled and a policy module is loaded, don't unconditionally 2019-05-03 20:38:43 +00:00
mac_internal.h security: clean up empty lines in .c and .h files 2020-09-01 21:26:00 +00:00
mac_label.c security: clean up empty lines in .c and .h files 2020-09-01 21:26:00 +00:00
mac_net.c When MAC is enabled and a policy module is loaded, don't unconditionally 2019-05-03 20:38:43 +00:00
mac_pipe.c pipe: allow for lockless pipe_stat 2020-11-19 06:30:25 +00:00
mac_policy.h
mac_posix_sem.c
mac_posix_shm.c
mac_priv.c mac: implement fast path for checks 2020-02-13 22:19:17 +00:00
mac_process.c vfs: drop the mostly unused flags argument from VOP_UNLOCK 2020-01-03 22:29:58 +00:00
mac_socket.c security: clean up empty lines in .c and .h files 2020-09-01 21:26:00 +00:00
mac_syscalls.c vfs: drop the mostly unused flags argument from VOP_UNLOCK 2020-01-03 22:29:58 +00:00
mac_system.c
mac_sysv_msg.c
mac_sysv_sem.c
mac_sysv_shm.c
mac_vfs.c vfs: add a cheaper entry for mac_vnode_check_access 2020-08-05 07:34:45 +00:00