freebsd-skq/sys/security/mac
Alexander V. Chernikov e4b3229aa5 - Improve BPF locking model.
Interface locks and descriptor locks are converted from mutex(9) to rwlock(9).
This greately improves performance: in most common case we need to acquire 1
reader lock instead of 2 mutexes.

- Remove filter(descriptor) (reader) lock in bpf_mtap[2]
This was suggested by glebius@. We protect filter by requesting interface
writer lock on filter change.

- Cover struct bpf_if under BPF_INTERNAL define. This permits including bpf.h
without including rwlock stuff. However, this is is temporary solution,
struct bpf_if should be made opaque for any external caller.

Found by:       Dmitrij Tejblum <tejblum@yandex-team.ru>
Sponsored by:   Yandex LLC

Reviewed by:    glebius (previous version)
Reviewed by:    silence on -net@
Approved by:    (mentor)

MFC after:      3 weeks
2012-04-06 06:53:58 +00:00
..
mac_atalk.c
mac_audit.c
mac_cred.c
mac_framework.c put sys/systm.h at its proper place or add it if missing 2011-12-12 10:05:13 +00:00
mac_framework.h Correct several issues in the integration of POSIX shared memory objects 2011-09-02 17:40:39 +00:00
mac_inet6.c
mac_inet.c
mac_internal.h Add an extra comment to the SDT probes definition. This allows us to get 2010-08-22 11:18:57 +00:00
mac_label.c
mac_net.c - Improve BPF locking model. 2012-04-06 06:53:58 +00:00
mac_pipe.c
mac_policy.h Correct several issues in the integration of POSIX shared memory objects 2011-09-02 17:40:39 +00:00
mac_posix_sem.c Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
mac_posix_shm.c Correct several issues in the integration of POSIX shared memory objects 2011-09-02 17:40:39 +00:00
mac_priv.c Revert the approach for skipping lockstat_probe_func call when doing 2011-12-12 23:29:32 +00:00
mac_process.c Unless "cnt" exceeds MAX_COMMIT_COUNT, nfsrv_commit() and nfsvno_fsync() are 2011-02-05 21:21:27 +00:00
mac_socket.c
mac_syscalls.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
mac_system.c
mac_sysv_msg.c
mac_sysv_sem.c
mac_sysv_shm.c
mac_vfs.c Add missing DTrace probe invocation to mac_vnode_check_open; the probe 2010-10-23 16:59:39 +00:00