realpath(3) is used a lot e.g., by clang and is a major source of getcwd and fstatat calls. This can be done more efficiently in the kernel. This works by performing a regular lookup while saving the name and found parent directory. If the terminal vnode is a directory we can resolve it using usual means. Otherwise we can use the name saved by lookup and resolve the parent. See the review for sample syscall counts. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D23574 |
||
---|---|---|
.. | ||
audit_arg.c | ||
audit_bsm_db.c | ||
audit_bsm_klib.c | ||
audit_bsm.c | ||
audit_dtrace.c | ||
audit_ioctl.h | ||
audit_pipe.c | ||
audit_private.h | ||
audit_syscalls.c | ||
audit_trigger.c | ||
audit_worker.c | ||
audit.c | ||
audit.h | ||
bsm_domain.c | ||
bsm_errno.c | ||
bsm_fcntl.c | ||
bsm_socket_type.c | ||
bsm_token.c |