freebsd-dev/sys/kern
Jason A. Harmening f7833196bd vfs_lookup(): Minor performance optimizations
Refactor the symlink and mountpoint traversal logic to avoid
repeatedly checking the vnode type; a symlink cannot be a mountpoint
and vice versa.  Avoid repeatedly checking cn_flags for NOCROSSMOUNT
and simplify the check which determines whether the vnode is a
mountpoint.

Suggested by:	mjg
Reviewed by:	kib
Tested by:	pho
Differential Revision:	https://reviews.freebsd.org/D35054
2022-10-26 19:33:33 -05:00
..
bus_if.m
clock_if.m
cpufreq_if.m
device_if.m
firmw.S
genassym.sh
genoffset.c
genoffset.sh
imgact_aout.c
imgact_binmisc.c
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Add AT_USRSTACK{BASE, LIM} AT vectors, and ELF_BSDF_VMNOOVERCOMMIT flag 2022-09-16 23:23:26 +03:00
imgact_shell.c
init_main.c
init_sysent.c
kern_acct.c
kern_alq.c
kern_boottrace.c
kern_clock.c time(3): Fix spelling. 2022-10-23 18:42:11 +02:00
kern_clocksource.c
kern_condvar.c
kern_conf.c
kern_cons.c
kern_context.c
kern_cpu.c
kern_cpuset.c powerpc: cpuset: add local functions for copyin/copyout 2022-10-03 12:03:09 -03:00
kern_ctf.c
kern_descrip.c
kern_devctl.c
kern_dtrace.c
kern_dump.c
kern_environment.c kern: Support duplicate variables in early kenv 2022-10-17 23:02:20 -07:00
kern_et.c
kern_event.c
kern_exec.c vfs: always retain path buffer after lookup 2022-09-17 09:10:38 +00:00
kern_exit.c
kern_fail.c
kern_ffclock.c
kern_fork.c
kern_hhook.c
kern_idle.c
kern_intr.c kern_intr: Check for NULL event in intr_destroy() 2022-10-15 15:51:44 -03:00
kern_jail.c if_me: Use dedicated network privilege 2022-10-15 17:05:36 +02:00
kern_kcov.c
kern_khelp.c
kern_kthread.c
kern_ktr.c
kern_ktrace.c
kern_linker.c
kern_lock.c
kern_lockf.c lockf: elide vnode interlock in the common case in lf_purgelocks 2022-09-14 23:04:22 +00:00
kern_lockstat.c
kern_loginclass.c
kern_malloc.c kmem_malloc/free: Use void * instead of vm_offset_t for kernel pointers. 2022-09-22 15:09:19 -07:00
kern_mbuf.c debugnet: Fix parameter order in the calls to m_get() 2022-09-21 06:55:20 -04:00
kern_mib.c
kern_module.c
kern_mtxpool.c
kern_mutex.c
kern_ntptime.c
kern_osd.c
kern_physio.c SPDX: Not BSD-4-Clause 2022-09-16 21:49:16 -06:00
kern_pmc.c
kern_poll.c
kern_priv.c
kern_proc.c
kern_procctl.c
kern_prot.c
kern_racct.c
kern_rangelock.c
kern_rctl.c
kern_resource.c
kern_rmlock.c
kern_rwlock.c
kern_sdt.c
kern_sema.c
kern_sendfile.c
kern_sharedpage.c
kern_shutdown.c
kern_sig.c
kern_switch.c Fix the build with SCHED_STATS after d3f96f6610 2022-09-26 20:20:46 -06:00
kern_sx.c
kern_synch.c
kern_syscalls.c
kern_sysctl.c show_sysctl_all: reduce copying, please coverity 2022-10-01 12:20:04 -05:00
kern_tc.c
kern_thr.c
kern_thread.c
kern_time.c
kern_timeout.c
kern_tslog.c
kern_ubsan.c
kern_umtx.c time(3): Align fast clock times to avoid firing multiple timers. 2022-10-03 17:53:17 +02:00
kern_uuid.c
kern_vnodedumper.c
kern_xxx.c
ksched.c ksched: correct return code for invalid priority 2022-10-17 15:12:13 -03:00
link_elf_obj.c
link_elf.c
linker_if.m
Make.tags.inc
Makefile
md4c.c
md5c.c
msi_if.m
p1003_1b.c
pic_if.m
posix4_mib.c
sched_4bsd.c sched_4bsd: Fix a racy thread state modification 2022-09-23 20:09:06 -04:00
sched_ule.c
serdev_if.m
stack_protector.c
subr_acl_nfs4.c
subr_acl_posix1e.c
subr_asan.c kasan: disable kasan_mark() after a violation 2022-09-27 11:01:21 -05:00
subr_atomic64.c
subr_autoconf.c
subr_blist.c
subr_boot.c
subr_bufring.c
subr_bus_dma.c
subr_bus.c device_get_path(): take sbuf directly 2022-10-19 19:39:40 +03:00
subr_busdma_bounce.c
subr_busdma_bufalloc.c kmem_malloc/free: Use void * instead of vm_offset_t for kernel pointers. 2022-09-22 15:09:19 -07:00
subr_capability.c
subr_clock.c
subr_clockcalib.c
subr_compressor.c
subr_counter.c
subr_coverage.c
subr_csan.c
subr_devmap.c Remove pre-armv6 support from devmap 2022-10-05 09:56:17 +01:00
subr_devstat.c
subr_disk.c
subr_dummy_vdso_tc.c
subr_early.c
subr_epoch.c
subr_eventhandler.c
subr_fattime.c
subr_filter.c
subr_firmware.c
subr_gtaskqueue.c
subr_hash.c
subr_hints.c
subr_intr.c
subr_kdb.c
subr_kobj.c
subr_lock.c locks: whack a failed experiment in form of restrict_starvation 2022-09-16 17:29:37 +00:00
subr_log.c
subr_mchain.c
subr_module.c
subr_msan.c
subr_msgbuf.c
subr_param.c time(3): Optimize tvtohz() function. 2022-10-23 10:04:50 +02:00
subr_pcpu.c
subr_pctrie.c
subr_physmem.c physmem: Add physmem_excluded to query if a region is excluded 2022-10-25 09:32:49 -06:00
subr_pidctrl.c
subr_power.c
subr_prf.c
subr_prng.c
subr_prof.c
subr_rangeset.c
subr_rman.c
subr_rtc.c
subr_sbuf.c
subr_scanf.c
subr_sfbuf.c
subr_sglist.c
subr_sleepqueue.c
subr_smp.c
subr_smr.c
subr_stack.c
subr_stats.c
subr_syscall.c
subr_taskqueue.c
subr_terminal.c
subr_trap.c
subr_turnstile.c
subr_uio.c
subr_unit.c unr: remove UNR64_LOCKED 2022-10-08 10:41:21 +00:00
subr_vmem.c
subr_witness.c
sys_capability.c
sys_eventfd.c
sys_generic.c
sys_getrandom.c
sys_pipe.c SPDX: Not BSD-4-Clause 2022-09-14 21:29:31 -06:00
sys_procdesc.c
sys_process.c
sys_socket.c
syscalls.c
syscalls.master
systrace_args.c
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c
tty_compat.c
tty_info.c
tty_inq.c
tty_outq.c
tty_pts.c
tty_tty.c
tty_ttydisc.c
tty.c
uipc_accf.c
uipc_debug.c
uipc_domain.c protocols: make socket buffers ioctl handler changeable 2022-09-28 10:20:09 +00:00
uipc_ktls.c tcp: remove INP_TIMEWAIT flag 2022-10-06 19:24:37 -07:00
uipc_mbuf2.c
uipc_mbuf.c
uipc_mbufhash.c
uipc_mqueue.c vfs: always retain path buffer after lookup 2022-09-17 09:10:38 +00:00
uipc_sem.c
uipc_shm.c
uipc_sockbuf.c sockbufs: add sbreserve_locked_limit() with custom maxsockbuf limit. 2022-09-28 10:20:09 +00:00
uipc_socket.c Revert "listen(): improve POSIX compliance" 2022-10-12 04:33:00 +02:00
uipc_syscalls.c Fixup build after recent getsock changes 2022-09-10 20:40:43 +00:00
uipc_usrreq.c unix/dgram: don't leak file descriptors when socket write failed 2022-09-30 13:43:08 -07:00
vfs_acl.c vfs: introduce V_PCATCH to stop abusing PCATCH 2022-09-17 15:41:37 +00:00
vfs_aio.c vfs: introduce V_PCATCH to stop abusing PCATCH 2022-09-17 15:41:37 +00:00
vfs_bio.c
vfs_cache.c cache: add cache_assert_no_entries 2022-10-24 15:37:43 +00:00
vfs_cluster.c
vfs_default.c
vfs_export.c
vfs_extattr.c vfs: introduce V_PCATCH to stop abusing PCATCH 2022-09-17 15:41:37 +00:00
vfs_hash.c
vfs_init.c Fix O(n^2) behavior in sysctl 2022-09-26 18:03:34 -06:00
vfs_lookup.c vfs_lookup(): Minor performance optimizations 2022-10-26 19:33:33 -05:00
vfs_mount.c vfs: stop using the V_MNTREF flag 2022-09-14 18:16:23 +00:00
vfs_mountroot.c vfs: clean up parse_mount_dev_present 2022-09-17 12:42:46 +00:00
vfs_subr.c vfs_busy(): fix wording in comment 2022-10-26 19:33:30 -05:00
vfs_syscalls.c vfs: introduce V_PCATCH to stop abusing PCATCH 2022-09-17 15:41:37 +00:00
vfs_vnops.c vn_bmap_seekhole: check that passed offset is non-negative 2022-10-19 20:24:07 +03:00
vnode_if.src