Now
ad-namecache commitmail json YAML
Keeping the namecache lock next to the vnode lock has a repeatable
detrimental effect. So shuffle some stuff around in vnode_impl to save
a bit of space, and give the namecache locks their own cache line.
detrimental effect. So shuffle some stuff around in vnode_impl to save
a bit of space, and give the namecache locks their own cache line.
ad-namecache commitmail json YAML
Resurrect the counter stuff from HEAD, which tries to deal with 32-bit
counter rollover. Drive it by sysctl and/or callout every 5 minutes,
since there's no garbage collection kthread any more.
counter rollover. Drive it by sysctl and/or callout every 5 minutes,
since there's no garbage collection kthread any more.
ad-namecache commitmail json YAML
- rb_tree_insert_node() refuses to insert duplicate nodes. It always
returns a pointer to the current node in the tree for the given key.
Therefore the call to rb_tree_lookup_node() in cache_enter() is not
needed.
- Adjust a comment and move some code for clarity.
returns a pointer to the current node in the tree for the given key.
Therefore the call to rb_tree_lookup_node() in cache_enter() is not
needed.
- Adjust a comment and move some code for clarity.
ad-namecache commitmail json YAML
- Fold the "doingcache" conditional into the max length conditional.
- Mark the tunables __read_mostly.
- Mark the tunables __read_mostly.
ad-namecache commitmail json YAML
Move nc_key up, so cache_lookup_entry() only needs to touch one cache line
at each step.
at each step.
ad-namecache commitmail json YAML
- Include sys/types.h for vax.
- Use macro versions of kpreempt_disable()/enable().
- Use atomic_load_relaxed().
- Make cache_key() inline.
- Use macro versions of kpreempt_disable()/enable().
- Use atomic_load_relaxed().
- Make cache_key() inline.
ad-namecache commitmail json YAML
__read_mostly -> const in one place
ad-namecache commitmail json YAML
Fix a comment.
ad-namecache commitmail json YAML
lookup_fastforward(): bail out on mount -o union
ad-namecache commitmail json YAML
Back out experimental change - not ready for LK_SHARED on VOP_OPEN() just yet.
ad-namecache commitmail json YAML
src/sys/coda/coda_vnops.c@1.107.6.2
/
diff
/
nxr@1.107.6.2
src/sys/compat/common/Makefile.sysio@1.12.4.1 / diff / nxr@1.12.4.1
src/sys/compat/common/compat_sysctl_09_43.c@1.3.2.1 / diff / nxr@1.3.2.1
src/sys/compat/common/kern_50.c@1.2.6.1 / diff / nxr@1.2.6.1
src/sys/compat/common/kern_info_43.c@1.38.2.1 / diff / nxr@1.38.2.1
src/sys/compat/common/kern_time_50.c@1.34.2.1 / diff / nxr@1.34.2.1
src/sys/compat/common/kern_time_60.c@1.2.6.1 / diff / nxr@1.2.6.1
src/sys/compat/common/kern_xxx_12.c@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/compat/common/rtsock_14.c@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/compat/common/rtsock_50.c@1.15.2.1 / diff / nxr@1.15.2.1
src/sys/compat/common/uipc_syscalls_40.c@1.21.2.1 / diff / nxr@1.21.2.1
src/sys/compat/common/uipc_syscalls_50.c@1.10.2.1 / diff / nxr@1.10.2.1
src/sys/compat/common/vfs_syscalls_30.c@1.39.2.2 / diff / nxr@1.39.2.2
src/sys/compat/common/vfs_syscalls_43.c@1.64.6.1 / diff / nxr@1.64.6.1
src/sys/compat/linux/common/linux_exec.c@1.120.6.1 / diff / nxr@1.120.6.1
src/sys/compat/netbsd32/netbsd32_compat_30.c@1.33.6.2 / diff / nxr@1.33.6.2
src/sys/compat/netbsd32/netbsd32_compat_50.c@1.44.2.1 / diff / nxr@1.44.2.1
src/sys/compat/netbsd32/netbsd32_compat_60.c@1.5.2.1 / diff / nxr@1.5.2.1
src/sys/compat/netbsd32/netbsd32_fs.c@1.85.2.2 / diff / nxr@1.85.2.2
src/sys/compat/netbsd32/netbsd32_ioctl.c@1.106.2.1 / diff / nxr@1.106.2.1
:
(more 292 files)
src/sys/compat/common/Makefile.sysio@1.12.4.1 / diff / nxr@1.12.4.1
src/sys/compat/common/compat_sysctl_09_43.c@1.3.2.1 / diff / nxr@1.3.2.1
src/sys/compat/common/kern_50.c@1.2.6.1 / diff / nxr@1.2.6.1
src/sys/compat/common/kern_info_43.c@1.38.2.1 / diff / nxr@1.38.2.1
src/sys/compat/common/kern_time_50.c@1.34.2.1 / diff / nxr@1.34.2.1
src/sys/compat/common/kern_time_60.c@1.2.6.1 / diff / nxr@1.2.6.1
src/sys/compat/common/kern_xxx_12.c@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/compat/common/rtsock_14.c@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/compat/common/rtsock_50.c@1.15.2.1 / diff / nxr@1.15.2.1
src/sys/compat/common/uipc_syscalls_40.c@1.21.2.1 / diff / nxr@1.21.2.1
src/sys/compat/common/uipc_syscalls_50.c@1.10.2.1 / diff / nxr@1.10.2.1
src/sys/compat/common/vfs_syscalls_30.c@1.39.2.2 / diff / nxr@1.39.2.2
src/sys/compat/common/vfs_syscalls_43.c@1.64.6.1 / diff / nxr@1.64.6.1
src/sys/compat/linux/common/linux_exec.c@1.120.6.1 / diff / nxr@1.120.6.1
src/sys/compat/netbsd32/netbsd32_compat_30.c@1.33.6.2 / diff / nxr@1.33.6.2
src/sys/compat/netbsd32/netbsd32_compat_50.c@1.44.2.1 / diff / nxr@1.44.2.1
src/sys/compat/netbsd32/netbsd32_compat_60.c@1.5.2.1 / diff / nxr@1.5.2.1
src/sys/compat/netbsd32/netbsd32_fs.c@1.85.2.2 / diff / nxr@1.85.2.2
src/sys/compat/netbsd32/netbsd32_ioctl.c@1.106.2.1 / diff / nxr@1.106.2.1
:
(more 292 files)
Sync with head.
ad-namecache commitmail json YAML
src/sys/external/bsd/common/include/asm/byteorder.h@1.1.2.2
/
diff
/
nxr@1.1.2.2
src/sys/external/bsd/common/include/asm/div64.h@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/external/bsd/common/include/linux/kernel.h@1.23.2.1 / diff / nxr@1.23.2.1
src/sys/external/bsd/common/include/linux/list.h@1.18.6.1 / diff / nxr@1.18.6.1
src/sys/external/bsd/common/include/linux/log2.h@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/external/bsd/common/linux/linux_work.c@1.44.6.1 / diff / nxr@1.44.6.1
src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc@1.3.2.1 / diff / nxr@1.3.2.1
src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc@1.4.2.1 / diff / nxr@1.4.2.1
src/sys/external/bsd/drm2/amdgpu/files.amdgpu@1.7.10.1 / diff / nxr@1.7.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atom.c@1.1.10.1 / diff / nxr@1.1.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios.c@1.3.10.1 / diff / nxr@1.3.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios_crtc.c@1.1.10.1 / diff / nxr@1.1.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios_dp.c@1.2.8.1 / diff / nxr@1.2.8.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios_encoders.c@1.1.10.1 / diff / nxr@1.1.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios_i2c.c@1.1.10.1 / diff / nxr@1.1.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_bo_list.c@1.4.10.1 / diff / nxr@1.4.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_cgs.c@1.4.10.1 / diff / nxr@1.4.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ci_dpm.c@1.2.10.1 / diff / nxr@1.2.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ci_smc.c@1.2.10.1 / diff / nxr@1.2.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_cik_ih.c@1.2.10.1 / diff / nxr@1.2.10.1
:
(more 235 files)
src/sys/external/bsd/common/include/asm/div64.h@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/external/bsd/common/include/linux/kernel.h@1.23.2.1 / diff / nxr@1.23.2.1
src/sys/external/bsd/common/include/linux/list.h@1.18.6.1 / diff / nxr@1.18.6.1
src/sys/external/bsd/common/include/linux/log2.h@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/external/bsd/common/linux/linux_work.c@1.44.6.1 / diff / nxr@1.44.6.1
src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc@1.3.2.1 / diff / nxr@1.3.2.1
src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc@1.4.2.1 / diff / nxr@1.4.2.1
src/sys/external/bsd/drm2/amdgpu/files.amdgpu@1.7.10.1 / diff / nxr@1.7.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atom.c@1.1.10.1 / diff / nxr@1.1.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios.c@1.3.10.1 / diff / nxr@1.3.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios_crtc.c@1.1.10.1 / diff / nxr@1.1.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios_dp.c@1.2.8.1 / diff / nxr@1.2.8.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios_encoders.c@1.1.10.1 / diff / nxr@1.1.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_atombios_i2c.c@1.1.10.1 / diff / nxr@1.1.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_bo_list.c@1.4.10.1 / diff / nxr@1.4.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_cgs.c@1.4.10.1 / diff / nxr@1.4.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ci_dpm.c@1.2.10.1 / diff / nxr@1.2.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ci_smc.c@1.2.10.1 / diff / nxr@1.2.10.1
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_cik_ih.c@1.2.10.1 / diff / nxr@1.2.10.1
:
(more 235 files)
Sync with head.
ad-namecache commitmail json YAML
src/sys/dev/DEVNAMES@1.325.2.2
/
diff
/
nxr@1.325.2.2
src/sys/dev/acpi/acpi_mcfg.c@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/dev/acpi/acpi_mcfg.h@1.2.6.1 / diff / nxr@1.2.6.1
src/sys/dev/acpi/files.acpi@1.114.6.1 / diff / nxr@1.114.6.1
src/sys/dev/acpi/genet_acpi.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/dev/acpi/sdhc_acpi.c@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/dev/acpi/xhci_acpi.c@1.5.4.2 / diff / nxr@1.5.4.2
src/sys/dev/audio/audio.c@1.37.2.2 / diff / nxr@1.37.2.2
src/sys/dev/audio/audiodef.h@1.7.4.2 / diff / nxr@1.7.4.2
src/sys/dev/audio/audiovar.h@1.5.2.2 / diff / nxr@1.5.2.2
src/sys/dev/cadence/if_cemac.c@1.21.4.1 / diff / nxr@1.21.4.1
src/sys/dev/clockctl.c@1.37.6.1 / diff / nxr@1.37.6.1
src/sys/dev/dkwedge/dk.c@1.97.10.1 / diff / nxr@1.97.10.1
src/sys/dev/fdt/fdt_intr.c@1.24.2.1 / diff / nxr@1.24.2.1
src/sys/dev/fdt/fdt_private.h@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/dev/fdt/fdt_subr.c@1.31.2.1 / diff / nxr@1.31.2.1
src/sys/dev/fdt/fdtbus.c@1.30.2.2 / diff / nxr@1.30.2.2
src/sys/dev/fdt/fdtvar.h@1.57.2.1 / diff / nxr@1.57.2.1
src/sys/dev/fdt/files.fdt@1.50.2.1 / diff / nxr@1.50.2.1
src/sys/dev/fdt/genet_fdt.c@1.1.2.2 / diff / nxr@1.1.2.2
:
(more 269 files)
src/sys/dev/acpi/acpi_mcfg.c@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/dev/acpi/acpi_mcfg.h@1.2.6.1 / diff / nxr@1.2.6.1
src/sys/dev/acpi/files.acpi@1.114.6.1 / diff / nxr@1.114.6.1
src/sys/dev/acpi/genet_acpi.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/dev/acpi/sdhc_acpi.c@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/dev/acpi/xhci_acpi.c@1.5.4.2 / diff / nxr@1.5.4.2
src/sys/dev/audio/audio.c@1.37.2.2 / diff / nxr@1.37.2.2
src/sys/dev/audio/audiodef.h@1.7.4.2 / diff / nxr@1.7.4.2
src/sys/dev/audio/audiovar.h@1.5.2.2 / diff / nxr@1.5.2.2
src/sys/dev/cadence/if_cemac.c@1.21.4.1 / diff / nxr@1.21.4.1
src/sys/dev/clockctl.c@1.37.6.1 / diff / nxr@1.37.6.1
src/sys/dev/dkwedge/dk.c@1.97.10.1 / diff / nxr@1.97.10.1
src/sys/dev/fdt/fdt_intr.c@1.24.2.1 / diff / nxr@1.24.2.1
src/sys/dev/fdt/fdt_private.h@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/dev/fdt/fdt_subr.c@1.31.2.1 / diff / nxr@1.31.2.1
src/sys/dev/fdt/fdtbus.c@1.30.2.2 / diff / nxr@1.30.2.2
src/sys/dev/fdt/fdtvar.h@1.57.2.1 / diff / nxr@1.57.2.1
src/sys/dev/fdt/files.fdt@1.50.2.1 / diff / nxr@1.50.2.1
src/sys/dev/fdt/genet_fdt.c@1.1.2.2 / diff / nxr@1.1.2.2
:
(more 269 files)
Sync with head.
ad-namecache commitmail json YAML
src/sys/arch/aarch64/aarch64/cpu.c@1.31.2.3
/
diff
/
nxr@1.31.2.3
src/sys/arch/aarch64/aarch64/cpu_in_cksum.S deleted
src/sys/arch/aarch64/aarch64/genassym.cf@1.17.2.2 / diff / nxr@1.17.2.2
src/sys/arch/aarch64/aarch64/locore.S@1.50.2.3 / diff / nxr@1.50.2.3
src/sys/arch/aarch64/aarch64/netbsd32_machdep.c@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/arch/aarch64/aarch64/pmap.c@1.60.2.2 / diff / nxr@1.60.2.2
src/sys/arch/aarch64/aarch64/trap.c@1.24.2.1 / diff / nxr@1.24.2.1
src/sys/arch/aarch64/aarch64/vectors.S@1.9.6.1 / diff / nxr@1.9.6.1
src/sys/arch/aarch64/conf/files.aarch64@1.16.2.3 / diff / nxr@1.16.2.3
src/sys/arch/aarch64/conf/majors.aarch64@1.4.6.1 / diff / nxr@1.4.6.1
src/sys/arch/aarch64/include/armreg.h@1.30.2.1 / diff / nxr@1.30.2.1
src/sys/arch/aarch64/include/cpu.h@1.17.2.2 / diff / nxr@1.17.2.2
src/sys/arch/aarch64/include/machdep.h@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/arch/aarch64/include/param.h@1.13.2.1 / diff / nxr@1.13.2.1
src/sys/arch/aarch64/include/pmap.h@1.30.2.1 / diff / nxr@1.30.2.1
src/sys/arch/aarch64/include/pte.h@1.10.2.1 / diff / nxr@1.10.2.1
src/sys/arch/aarch64/include/types.h@1.13.2.1 / diff / nxr@1.13.2.1
src/sys/arch/acorn32/podulebus/if_ie.c@1.44.2.1 / diff / nxr@1.44.2.1
src/sys/arch/algor/conf/majors.algor@1.27.6.1 / diff / nxr@1.27.6.1
src/sys/arch/alpha/alpha/genassym.cf@1.21.6.1 / diff / nxr@1.21.6.1
:
(more 293 files)
src/sys/arch/aarch64/aarch64/cpu_in_cksum.S deleted
src/sys/arch/aarch64/aarch64/genassym.cf@1.17.2.2 / diff / nxr@1.17.2.2
src/sys/arch/aarch64/aarch64/locore.S@1.50.2.3 / diff / nxr@1.50.2.3
src/sys/arch/aarch64/aarch64/netbsd32_machdep.c@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/arch/aarch64/aarch64/pmap.c@1.60.2.2 / diff / nxr@1.60.2.2
src/sys/arch/aarch64/aarch64/trap.c@1.24.2.1 / diff / nxr@1.24.2.1
src/sys/arch/aarch64/aarch64/vectors.S@1.9.6.1 / diff / nxr@1.9.6.1
src/sys/arch/aarch64/conf/files.aarch64@1.16.2.3 / diff / nxr@1.16.2.3
src/sys/arch/aarch64/conf/majors.aarch64@1.4.6.1 / diff / nxr@1.4.6.1
src/sys/arch/aarch64/include/armreg.h@1.30.2.1 / diff / nxr@1.30.2.1
src/sys/arch/aarch64/include/cpu.h@1.17.2.2 / diff / nxr@1.17.2.2
src/sys/arch/aarch64/include/machdep.h@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/arch/aarch64/include/param.h@1.13.2.1 / diff / nxr@1.13.2.1
src/sys/arch/aarch64/include/pmap.h@1.30.2.1 / diff / nxr@1.30.2.1
src/sys/arch/aarch64/include/pte.h@1.10.2.1 / diff / nxr@1.10.2.1
src/sys/arch/aarch64/include/types.h@1.13.2.1 / diff / nxr@1.13.2.1
src/sys/arch/acorn32/podulebus/if_ie.c@1.44.2.1 / diff / nxr@1.44.2.1
src/sys/arch/algor/conf/majors.algor@1.27.6.1 / diff / nxr@1.27.6.1
src/sys/arch/alpha/alpha/genassym.cf@1.21.6.1 / diff / nxr@1.21.6.1
:
(more 293 files)
Sync with head.
ad-namecache commitmail json YAML
src/common/lib/libc/arch/i386/string/memcmp.S deleted
src/common/lib/libc/arch/x86_64/string/bcmp.S deleted
src/common/lib/libc/arch/x86_64/string/memcmp.S deleted
src/common/lib/libc/gen/radixtree.c@1.20.2.1 / diff / nxr@1.20.2.1
src/common/lib/libc/stdlib/random.c@1.5.20.1 / diff / nxr@1.5.20.1
src/common/lib/libc/string/bcmp.c@1.7.38.1 / diff / nxr@1.7.38.1
src/common/lib/libc/string/memcmp.c@1.5.8.1 / diff / nxr@1.5.8.1
src/common/lib/libc/arch/x86_64/string/bcmp.S deleted
src/common/lib/libc/arch/x86_64/string/memcmp.S deleted
src/common/lib/libc/gen/radixtree.c@1.20.2.1 / diff / nxr@1.20.2.1
src/common/lib/libc/stdlib/random.c@1.5.20.1 / diff / nxr@1.5.20.1
src/common/lib/libc/string/bcmp.c@1.7.38.1 / diff / nxr@1.7.38.1
src/common/lib/libc/string/memcmp.c@1.5.8.1 / diff / nxr@1.5.8.1
Sync with head.
ad-namecache commitmail json YAML
Turns out there's no point adjusting v_holdcnt with atomics.
ad-namecache commitmail json YAML
Comments.
ad-namecache commitmail json YAML
src/sys/arch/aarch64/aarch64/aarch64_machdep.c@1.37.2.1
/
diff
/
nxr@1.37.2.1
src/sys/arch/aarch64/aarch64/cpu.c@1.31.2.2 / diff / nxr@1.31.2.2
src/sys/arch/aarch64/aarch64/locore.S@1.50.2.2 / diff / nxr@1.50.2.2
src/sys/arch/aarch64/aarch64/start.S@1.5.2.1 / diff / nxr@1.5.2.1
src/sys/arch/aarch64/conf/files.aarch64@1.16.2.2 / diff / nxr@1.16.2.2
src/sys/arch/aarch64/include/asm.h@1.5.2.1 / diff / nxr@1.5.2.1
src/sys/arch/aarch64/include/vmparam.h@1.8.6.1 / diff / nxr@1.8.6.1
src/sys/arch/acorn32/conf/EB7500ATX@1.68.6.1 / diff / nxr@1.68.6.1
src/sys/arch/acorn32/conf/GENERIC@1.129.4.1 / diff / nxr@1.129.4.1
src/sys/arch/acorn32/conf/INSTALL@1.83.6.1 / diff / nxr@1.83.6.1
src/sys/arch/acorn32/conf/LOWMEM_WSCONS@1.75.6.1 / diff / nxr@1.75.6.1
src/sys/arch/acorn32/conf/NC@1.75.6.1 / diff / nxr@1.75.6.1
src/sys/arch/algor/conf/P4032@1.79.6.1 / diff / nxr@1.79.6.1
src/sys/arch/algor/conf/P5064@1.90.6.1 / diff / nxr@1.90.6.1
src/sys/arch/algor/conf/P6032@1.81.6.1 / diff / nxr@1.81.6.1
src/sys/arch/alpha/alpha/pmap.c@1.264.6.1 / diff / nxr@1.264.6.1
src/sys/arch/alpha/conf/GENERIC@1.396.2.1 / diff / nxr@1.396.2.1
src/sys/arch/alpha/conf/INSTALL@1.111.6.1 / diff / nxr@1.111.6.1
src/sys/arch/alpha/conf/RAWHIDE@1.43.6.1 / diff / nxr@1.43.6.1
src/sys/arch/amd64/conf/ALL@1.135.2.2 / diff / nxr@1.135.2.2
:
(more 367 files)
src/sys/arch/aarch64/aarch64/cpu.c@1.31.2.2 / diff / nxr@1.31.2.2
src/sys/arch/aarch64/aarch64/locore.S@1.50.2.2 / diff / nxr@1.50.2.2
src/sys/arch/aarch64/aarch64/start.S@1.5.2.1 / diff / nxr@1.5.2.1
src/sys/arch/aarch64/conf/files.aarch64@1.16.2.2 / diff / nxr@1.16.2.2
src/sys/arch/aarch64/include/asm.h@1.5.2.1 / diff / nxr@1.5.2.1
src/sys/arch/aarch64/include/vmparam.h@1.8.6.1 / diff / nxr@1.8.6.1
src/sys/arch/acorn32/conf/EB7500ATX@1.68.6.1 / diff / nxr@1.68.6.1
src/sys/arch/acorn32/conf/GENERIC@1.129.4.1 / diff / nxr@1.129.4.1
src/sys/arch/acorn32/conf/INSTALL@1.83.6.1 / diff / nxr@1.83.6.1
src/sys/arch/acorn32/conf/LOWMEM_WSCONS@1.75.6.1 / diff / nxr@1.75.6.1
src/sys/arch/acorn32/conf/NC@1.75.6.1 / diff / nxr@1.75.6.1
src/sys/arch/algor/conf/P4032@1.79.6.1 / diff / nxr@1.79.6.1
src/sys/arch/algor/conf/P5064@1.90.6.1 / diff / nxr@1.90.6.1
src/sys/arch/algor/conf/P6032@1.81.6.1 / diff / nxr@1.81.6.1
src/sys/arch/alpha/alpha/pmap.c@1.264.6.1 / diff / nxr@1.264.6.1
src/sys/arch/alpha/conf/GENERIC@1.396.2.1 / diff / nxr@1.396.2.1
src/sys/arch/alpha/conf/INSTALL@1.111.6.1 / diff / nxr@1.111.6.1
src/sys/arch/alpha/conf/RAWHIDE@1.43.6.1 / diff / nxr@1.43.6.1
src/sys/arch/amd64/conf/ALL@1.135.2.2 / diff / nxr@1.135.2.2
:
(more 367 files)
Sync with head.
ad-namecache commitmail json YAML
src/sys/kern/kern_rwlock.c@1.59.2.5
/
diff
/
nxr@1.59.2.5
src/sys/kern/kern_synch.c@1.334.2.4 / diff / nxr@1.334.2.4
src/sys/rump/include/rump/rump_namei.h@1.37.2.4 / diff / nxr@1.37.2.4
src/sys/sys/rwlock.h@1.12.2.3 / diff / nxr@1.12.2.3
src/sys/kern/kern_synch.c@1.334.2.4 / diff / nxr@1.334.2.4
src/sys/rump/include/rump/rump_namei.h@1.37.2.4 / diff / nxr@1.37.2.4
src/sys/sys/rwlock.h@1.12.2.3 / diff / nxr@1.12.2.3
Remove unintentional differences to base.
ad-namecache commitmail json YAML
Add a missing membar to previous.
ad-namecache commitmail json YAML
src/sys/compat/netbsd32/netbsd32_fs.c@1.85.2.1
/
diff
/
nxr@1.85.2.1
src/sys/kern/kern_exec.c@1.485.2.2 / diff / nxr@1.485.2.2
src/sys/kern/kern_proc.c@1.239.2.1 / diff / nxr@1.239.2.1
src/sys/kern/uipc_usrreq.c@1.194.4.1 / diff / nxr@1.194.4.1
src/sys/kern/vfs_cwd.c@1.4.62.1 / diff / nxr@1.4.62.1
src/sys/kern/vfs_getcwd.c@1.53.2.4 / diff / nxr@1.53.2.4
src/sys/kern/vfs_lookup.c@1.212.4.9 / diff / nxr@1.212.4.9
src/sys/kern/vfs_mount.c@1.73.2.2 / diff / nxr@1.73.2.2
src/sys/kern/vfs_subr.c@1.478.2.3 / diff / nxr@1.478.2.3
src/sys/kern/vfs_syscalls.c@1.539.2.3 / diff / nxr@1.539.2.3
src/sys/kern/vfs_vnode.c@1.105.2.6 / diff / nxr@1.105.2.6
src/sys/miscfs/procfs/procfs_vnops.c@1.207.2.1 / diff / nxr@1.207.2.1
src/sys/sys/filedesc.h@1.65.2.1 / diff / nxr@1.65.2.1
src/sys/sys/vfs_syscalls.h@1.26.2.1 / diff / nxr@1.26.2.1
src/sys/kern/kern_exec.c@1.485.2.2 / diff / nxr@1.485.2.2
src/sys/kern/kern_proc.c@1.239.2.1 / diff / nxr@1.239.2.1
src/sys/kern/uipc_usrreq.c@1.194.4.1 / diff / nxr@1.194.4.1
src/sys/kern/vfs_cwd.c@1.4.62.1 / diff / nxr@1.4.62.1
src/sys/kern/vfs_getcwd.c@1.53.2.4 / diff / nxr@1.53.2.4
src/sys/kern/vfs_lookup.c@1.212.4.9 / diff / nxr@1.212.4.9
src/sys/kern/vfs_mount.c@1.73.2.2 / diff / nxr@1.73.2.2
src/sys/kern/vfs_subr.c@1.478.2.3 / diff / nxr@1.478.2.3
src/sys/kern/vfs_syscalls.c@1.539.2.3 / diff / nxr@1.539.2.3
src/sys/kern/vfs_vnode.c@1.105.2.6 / diff / nxr@1.105.2.6
src/sys/miscfs/procfs/procfs_vnops.c@1.207.2.1 / diff / nxr@1.207.2.1
src/sys/sys/filedesc.h@1.65.2.1 / diff / nxr@1.65.2.1
src/sys/sys/vfs_syscalls.h@1.26.2.1 / diff / nxr@1.26.2.1
Make cwdinfo use mostly lockless, and largely hide the details in vfs_cwd.c.
ad-namecache commitmail json YAML
Regen.
ad-namecache commitmail json YAML
src/sys/fs/tmpfs/tmpfs_subr.c@1.105.2.2
/
diff
/
nxr@1.105.2.2
src/sys/fs/tmpfs/tmpfs_vfsops.c@1.75.2.3 / diff / nxr@1.75.2.3
src/sys/kern/vfs_cache.c@1.126.2.11 / diff / nxr@1.126.2.11
src/sys/sys/namei.src@1.47.2.6 / diff / nxr@1.47.2.6
src/sys/ufs/ffs/ffs_vfsops.c@1.362.4.4 / diff / nxr@1.362.4.4
src/sys/ufs/ufs/ufs_vnops.c@1.248.2.2 / diff / nxr@1.248.2.2
src/sys/fs/tmpfs/tmpfs_vfsops.c@1.75.2.3 / diff / nxr@1.75.2.3
src/sys/kern/vfs_cache.c@1.126.2.11 / diff / nxr@1.126.2.11
src/sys/sys/namei.src@1.47.2.6 / diff / nxr@1.47.2.6
src/sys/ufs/ffs/ffs_vfsops.c@1.362.4.4 / diff / nxr@1.362.4.4
src/sys/ufs/ufs/ufs_vnops.c@1.248.2.2 / diff / nxr@1.248.2.2
- Put all the namecache stuff back into vnode_impl_t.
- Tidy vfs_cache.c up, finish the comments.
- Finalise how ID information is entered to the cache.
- Handle very small/old systems.
- Tidy vfs_cache.c up, finish the comments.
- Finalise how ID information is entered to the cache.
- Handle very small/old systems.
ad-namecache commitmail json YAML
Add a comment.
ad-namecache commitmail json YAML
src/sys/kern/vfs_subr.c@1.478.2.2
/
diff
/
nxr@1.478.2.2
src/sys/kern/vfs_vnode.c@1.105.2.5 / diff / nxr@1.105.2.5
src/sys/miscfs/genfs/genfs_vnops.c@1.200.2.3 / diff / nxr@1.200.2.3
src/sys/sys/vnode.h@1.286.2.1 / diff / nxr@1.286.2.1
src/sys/sys/vnode_impl.h@1.19.2.5 / diff / nxr@1.19.2.5
src/sys/kern/vfs_vnode.c@1.105.2.5 / diff / nxr@1.105.2.5
src/sys/miscfs/genfs/genfs_vnops.c@1.200.2.3 / diff / nxr@1.200.2.3
src/sys/sys/vnode.h@1.286.2.1 / diff / nxr@1.286.2.1
src/sys/sys/vnode_impl.h@1.19.2.5 / diff / nxr@1.19.2.5
vnodes:
- Have own v_usecount again, don't share the uvm_object's refcount.
- Cluster the members of vnode_t and vnode_impl_t in a cache-concious way.
- Go back to having vi_lock directly in vnode_impl_t.
- Go back to having v_usecount adjusted with atomics.
- Start adjusting v_holdcnt with atomics, too.
- Put all the namecache stuff back into vnode_impl_t.
- Have own v_usecount again, don't share the uvm_object's refcount.
- Cluster the members of vnode_t and vnode_impl_t in a cache-concious way.
- Go back to having vi_lock directly in vnode_impl_t.
- Go back to having v_usecount adjusted with atomics.
- Start adjusting v_holdcnt with atomics, too.
- Put all the namecache stuff back into vnode_impl_t.
ad-namecache commitmail json YAML
Add an IMNT_NCLOOKUP flag to indicate the FS is OK with lookup directly
from cache.
from cache.
ad-namecache commitmail json YAML
Improve an assertion.
ad-namecache commitmail json YAML
vcache_reclaim(): purge namecache immediately after setting vnode to
VS_RECLAIMED.
VS_RECLAIMED.
ad-namecache commitmail json YAML
Update comments.
ad-namecache commitmail json YAML
- Change style of new code slightly to match rest of file.
- NFS lookup needs to cross mountpoint too.
- Update comments.
- NFS lookup needs to cross mountpoint too.
- Update comments.
ad-namecache commitmail json YAML
Back out previous.
ad-namecache commitmail json YAML
Fast-forward through the namecache was stopping one component too soon when
there was an obstacle, e.g. a mountpoint. The obstacle should be returned
not the parent directory.
there was an obstacle, e.g. a mountpoint. The obstacle should be returned
not the parent directory.
ad-namecache commitmail json YAML
Copy the IMNT_SHRLOOKUP flag from lowerrootvp's mount.
ad-namecache commitmail json YAML
Make sure LK_UPGRADE always comes with LK_NOWAIT; dropping the lock in here
is unclean and I wonder if it could screw over fstrans.
is unclean and I wonder if it could screw over fstrans.
ad-namecache commitmail json YAML
src/sys/arch/amd64/amd64/genassym.cf@1.80.2.3
/
diff
/
nxr@1.80.2.3
src/sys/arch/amd64/amd64/lock_stubs.S@1.35.2.2 / diff / nxr@1.35.2.2
src/sys/arch/amd64/include/rwlock.h@1.2.144.2 / diff / nxr@1.2.144.2
src/sys/arch/i386/i386/genassym.cf@1.117.2.3 / diff / nxr@1.117.2.3
src/sys/arch/i386/i386/lock_stubs.S@1.32.2.2 / diff / nxr@1.32.2.2
src/sys/arch/x86/include/rwlock.h@1.6.2.2 / diff / nxr@1.6.2.2
src/sys/kern/kern_rwlock.c@1.59.2.4 / diff / nxr@1.59.2.4
src/sys/sys/lwp.h@1.192.2.3 / diff / nxr@1.192.2.3
src/sys/sys/rwlock.h@1.12.2.2 / diff / nxr@1.12.2.2
src/sys/arch/amd64/amd64/lock_stubs.S@1.35.2.2 / diff / nxr@1.35.2.2
src/sys/arch/amd64/include/rwlock.h@1.2.144.2 / diff / nxr@1.2.144.2
src/sys/arch/i386/i386/genassym.cf@1.117.2.3 / diff / nxr@1.117.2.3
src/sys/arch/i386/i386/lock_stubs.S@1.32.2.2 / diff / nxr@1.32.2.2
src/sys/arch/x86/include/rwlock.h@1.6.2.2 / diff / nxr@1.6.2.2
src/sys/kern/kern_rwlock.c@1.59.2.4 / diff / nxr@1.59.2.4
src/sys/sys/lwp.h@1.192.2.3 / diff / nxr@1.192.2.3
src/sys/sys/rwlock.h@1.12.2.2 / diff / nxr@1.12.2.2
Back out previous.
ad-namecache commitmail json YAML
Regen.
ad-namecache commitmail json YAML
src/sys/kern/vfs_syscalls.c@1.539.2.2
/
diff
/
nxr@1.539.2.2
src/sys/kern/vfs_vnops.c@1.204.2.2 / diff / nxr@1.204.2.2
src/sys/kern/vfs_vnops.c@1.204.2.2 / diff / nxr@1.204.2.2
Use LOCKLEAF in the few cases it's useful for ffs/tmpfs/nullfs. Others need
to be checked.
to be checked.
ad-namecache commitmail json YAML
src/sys/fs/cd9660/cd9660_lookup.c@1.30.24.1
/
diff
/
nxr@1.30.24.1
src/sys/fs/cd9660/cd9660_vfsops.c@1.93.18.2 / diff / nxr@1.93.18.2
src/sys/fs/msdosfs/msdosfs_lookup.c@1.35.24.1 / diff / nxr@1.35.24.1
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.130.6.2 / diff / nxr@1.130.6.2
src/sys/fs/tmpfs/tmpfs_vfsops.c@1.75.2.2 / diff / nxr@1.75.2.2
src/sys/miscfs/genfs/layer_vnops.c@1.67.12.1 / diff / nxr@1.67.12.1
src/sys/miscfs/nullfs/null_vfsops.c@1.96.2.1 / diff / nxr@1.96.2.1
src/sys/miscfs/procfs/procfs_vfsops.c@1.101.6.2 / diff / nxr@1.101.6.2
src/sys/ufs/chfs/chfs_vnops.c@1.34.4.2 / diff / nxr@1.34.4.2
src/sys/ufs/ext2fs/ext2fs_lookup.c@1.88.22.1 / diff / nxr@1.88.22.1
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.214.4.2 / diff / nxr@1.214.4.2
src/sys/ufs/ffs/ffs_vfsops.c@1.362.4.3 / diff / nxr@1.362.4.3
src/sys/ufs/lfs/lfs_vfsops.c@1.367.2.2 / diff / nxr@1.367.2.2
src/sys/ufs/lfs/ulfs_lookup.c@1.41.12.1 / diff / nxr@1.41.12.1
src/sys/ufs/ufs/ufs_lookup.c@1.150.4.1 / diff / nxr@1.150.4.1
src/sys/fs/cd9660/cd9660_vfsops.c@1.93.18.2 / diff / nxr@1.93.18.2
src/sys/fs/msdosfs/msdosfs_lookup.c@1.35.24.1 / diff / nxr@1.35.24.1
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.130.6.2 / diff / nxr@1.130.6.2
src/sys/fs/tmpfs/tmpfs_vfsops.c@1.75.2.2 / diff / nxr@1.75.2.2
src/sys/miscfs/genfs/layer_vnops.c@1.67.12.1 / diff / nxr@1.67.12.1
src/sys/miscfs/nullfs/null_vfsops.c@1.96.2.1 / diff / nxr@1.96.2.1
src/sys/miscfs/procfs/procfs_vfsops.c@1.101.6.2 / diff / nxr@1.101.6.2
src/sys/ufs/chfs/chfs_vnops.c@1.34.4.2 / diff / nxr@1.34.4.2
src/sys/ufs/ext2fs/ext2fs_lookup.c@1.88.22.1 / diff / nxr@1.88.22.1
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.214.4.2 / diff / nxr@1.214.4.2
src/sys/ufs/ffs/ffs_vfsops.c@1.362.4.3 / diff / nxr@1.362.4.3
src/sys/ufs/lfs/lfs_vfsops.c@1.367.2.2 / diff / nxr@1.367.2.2
src/sys/ufs/lfs/ulfs_lookup.c@1.41.12.1 / diff / nxr@1.41.12.1
src/sys/ufs/ufs/ufs_lookup.c@1.150.4.1 / diff / nxr@1.150.4.1
Set IMNT_SHRLOOKUP and use it for the in-cache case. Need to check what
more can be done with tmpfs though, it can probably do the whole lookup.
more can be done with tmpfs though, it can probably do the whole lookup.
ad-namecache commitmail json YAML
src/sys/kern/vfs_cache.c@1.126.2.9
/
diff
/
nxr@1.126.2.9
src/sys/kern/vfs_getcwd.c@1.53.2.3 / diff / nxr@1.53.2.3
src/sys/kern/vfs_lookup.c@1.212.4.4 / diff / nxr@1.212.4.4
src/sys/sys/fstypes.h@1.37.6.1 / diff / nxr@1.37.6.1
src/sys/sys/namei.src@1.47.2.5 / diff / nxr@1.47.2.5
src/sys/kern/vfs_getcwd.c@1.53.2.3 / diff / nxr@1.53.2.3
src/sys/kern/vfs_lookup.c@1.212.4.4 / diff / nxr@1.212.4.4
src/sys/sys/fstypes.h@1.37.6.1 / diff / nxr@1.37.6.1
src/sys/sys/namei.src@1.47.2.5 / diff / nxr@1.47.2.5
- Add a LOCKSHARED flag to namei (matching FreeBSD) indicating that we want
the leaf locked with LK_SHARED.
- Add an IMNT_SHRLOOKUP flag to struct mount indicating that the file
system can do VOP_LOOKUP() with an shared lock. If it encounters
something tricky, VOP_LOOKUP() is free to return ENOLCK and namei() will
retry the lookup with an exclusive lock. If the file system has this flag
set, namei() will try with shared locks for all of the "read only"
lookups, i.e. nameiop=LOOKUP or !ISLASTCN.
- vfs_getcwd: only take vnode locks when really needed, take shared locks if
possible, and where the namecache has identify info for the directories,
do it all in the namecache.
- vfs_lookup: when crossing mountpoints take only a shared lock on the
covered vnode; don't need anything else.
the leaf locked with LK_SHARED.
- Add an IMNT_SHRLOOKUP flag to struct mount indicating that the file
system can do VOP_LOOKUP() with an shared lock. If it encounters
something tricky, VOP_LOOKUP() is free to return ENOLCK and namei() will
retry the lookup with an exclusive lock. If the file system has this flag
set, namei() will try with shared locks for all of the "read only"
lookups, i.e. nameiop=LOOKUP or !ISLASTCN.
- vfs_getcwd: only take vnode locks when really needed, take shared locks if
possible, and where the namecache has identify info for the directories,
do it all in the namecache.
- vfs_lookup: when crossing mountpoints take only a shared lock on the
covered vnode; don't need anything else.
ad-namecache commitmail json YAML
src/sys/arch/amd64/include/rwlock.h@1.2.144.1
/
diff
/
nxr@1.2.144.1
src/sys/arch/i386/include/rwlock.h@1.2.144.1 / diff / nxr@1.2.144.1
src/sys/arch/x86/include/rwlock.h@1.6.2.1 / diff / nxr@1.6.2.1
src/sys/arch/i386/include/rwlock.h@1.2.144.1 / diff / nxr@1.2.144.1
src/sys/arch/x86/include/rwlock.h@1.6.2.1 / diff / nxr@1.6.2.1
empty these; remove later.
ad-namecache commitmail json YAML
src/sys/arch/amd64/amd64/genassym.cf@1.80.2.2
/
diff
/
nxr@1.80.2.2
src/sys/arch/amd64/amd64/lock_stubs.S@1.35.2.1 / diff / nxr@1.35.2.1
src/sys/arch/i386/i386/genassym.cf@1.117.2.2 / diff / nxr@1.117.2.2
src/sys/arch/i386/i386/lock_stubs.S@1.32.2.1 / diff / nxr@1.32.2.1
src/sys/kern/kern_rwlock.c@1.59.2.3 / diff / nxr@1.59.2.3
src/sys/kern/kern_synch.c@1.334.2.2 / diff / nxr@1.334.2.2
src/sys/sys/lwp.h@1.192.2.2 / diff / nxr@1.192.2.2
src/sys/arch/amd64/amd64/lock_stubs.S@1.35.2.1 / diff / nxr@1.35.2.1
src/sys/arch/i386/i386/genassym.cf@1.117.2.2 / diff / nxr@1.117.2.2
src/sys/arch/i386/i386/lock_stubs.S@1.32.2.1 / diff / nxr@1.32.2.1
src/sys/kern/kern_rwlock.c@1.59.2.3 / diff / nxr@1.59.2.3
src/sys/kern/kern_synch.c@1.334.2.2 / diff / nxr@1.334.2.2
src/sys/sys/lwp.h@1.192.2.2 / diff / nxr@1.192.2.2
Adaptive rwlocks proposed on tech-kern and working well on this branch
with vnode locks.
with vnode locks.
ad-namecache commitmail json YAML
src/sys/kern/kern_rwlock.c@1.59.2.2
/
diff
/
nxr@1.59.2.2
src/sys/sys/rwlock.h@1.12.2.1 / diff / nxr@1.12.2.1
src/sys/sys/rwlock.h@1.12.2.1 / diff / nxr@1.12.2.1
Sync with head.
ad-namecache commitmail json YAML
Fix namecache_print().
ad-namecache commitmail json YAML
src/sys/kern/vnode_if.sh@1.68.2.1
/
diff
/
nxr@1.68.2.1
src/sys/miscfs/genfs/genfs_vnops.c@1.200.2.1 / diff / nxr@1.200.2.1
src/sys/miscfs/genfs/genfs_vnops.c@1.200.2.1 / diff / nxr@1.200.2.1
Allow VOP_LOCK(LK_NONE).
ad-namecache commitmail json YAML
- Adjust comments & assertions.
- Ditch memcmp().
- Ditch memcmp().
ad-namecache commitmail json YAML
src/sys/fs/tmpfs/tmpfs_subr.c@1.105.2.1
/
diff
/
nxr@1.105.2.1
src/sys/kern/vfs_cache.c@1.126.2.6 / diff / nxr@1.126.2.6
src/sys/kern/vfs_lookup.c@1.212.4.3 / diff / nxr@1.212.4.3
src/sys/sys/namei.src@1.47.2.4 / diff / nxr@1.47.2.4
src/sys/sys/vnode_impl.h@1.19.2.4 / diff / nxr@1.19.2.4
src/sys/ufs/ffs/ffs_vfsops.c@1.362.4.2 / diff / nxr@1.362.4.2
src/sys/ufs/ufs/ufs_vnops.c@1.248.2.1 / diff / nxr@1.248.2.1
src/sys/kern/vfs_cache.c@1.126.2.6 / diff / nxr@1.126.2.6
src/sys/kern/vfs_lookup.c@1.212.4.3 / diff / nxr@1.212.4.3
src/sys/sys/namei.src@1.47.2.4 / diff / nxr@1.47.2.4
src/sys/sys/vnode_impl.h@1.19.2.4 / diff / nxr@1.19.2.4
src/sys/ufs/ffs/ffs_vfsops.c@1.362.4.2 / diff / nxr@1.362.4.2
src/sys/ufs/ufs/ufs_vnops.c@1.248.2.1 / diff / nxr@1.248.2.1
vfs_lookup:
- Do the easy component name lookups directly in the namecache without
taking vnode locks nor vnode references (between the start and the leaf /
parent), which seems to largely solve the lock contention problem with
namei(). It needs support from the file system, which has to tell the
name cache about directory permissions (only ffs and tmpfs tried so far),
and I'm not sure how or if it can work with layered file systems yet.
Work in progress.
vfs_cache:
- Make the rbtree operations more efficient: inline the lookup, and key on a
64-bit hash value (32 bits plus 16 bits length) rather than names.
- Take namecache stuff out of vnode_impl, and take the rwlocks, and put them
all together an an nchnode struct which is mapped 1:1: with vnodes. Saves
memory and nicer cache profile.
- Add a routine to help vfs_lookup do its easy component name lookups.
- Report some more stats.
- Tidy up the file a bit.
- Do the easy component name lookups directly in the namecache without
taking vnode locks nor vnode references (between the start and the leaf /
parent), which seems to largely solve the lock contention problem with
namei(). It needs support from the file system, which has to tell the
name cache about directory permissions (only ffs and tmpfs tried so far),
and I'm not sure how or if it can work with layered file systems yet.
Work in progress.
vfs_cache:
- Make the rbtree operations more efficient: inline the lookup, and key on a
64-bit hash value (32 bits plus 16 bits length) rather than names.
- Take namecache stuff out of vnode_impl, and take the rwlocks, and put them
all together an an nchnode struct which is mapped 1:1: with vnodes. Saves
memory and nicer cache profile.
- Add a routine to help vfs_lookup do its easy component name lookups.
- Report some more stats.
- Tidy up the file a bit.
ad-namecache commitmail json YAML
vrelel: don't change the vnode state to VS_BLOCKED for VOP_INACTIVE(), it's
not needed (at least not for the usual case). Will revist before merge.
not needed (at least not for the usual case). Will revist before merge.
ad-namecache commitmail json YAML
- Get shared locks on the directories, except for VOP_GETATTR() which
unfortunately still needs LK_EXCLUSIVE due to itimes handling in UFS.
- vnode locks are not needed to traverse the namecache.
unfortunately still needs LK_EXCLUSIVE due to itimes handling in UFS.
- vnode locks are not needed to traverse the namecache.
ad-namecache commitmail json YAML
LK_SHARED for VOP_ACCESS().
ad-namecache commitmail json YAML
src/sys/arch/aarch64/aarch64/bus_space_asm_generic.S@1.1.10.1
/
diff
/
nxr@1.1.10.1
src/sys/arch/aarch64/aarch64/cpu.c@1.31.2.1 / diff / nxr@1.31.2.1
src/sys/arch/aarch64/aarch64/cpufunc.c@1.12.2.1 / diff / nxr@1.12.2.1
src/sys/arch/aarch64/aarch64/cpuswitch.S@1.13.2.1 / diff / nxr@1.13.2.1
src/sys/arch/aarch64/aarch64/fault.c@1.10.4.1 / diff / nxr@1.10.4.1
src/sys/arch/aarch64/aarch64/genassym.cf@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/arch/aarch64/aarch64/locore.S@1.50.2.1 / diff / nxr@1.50.2.1
src/sys/arch/aarch64/aarch64/pmap.c@1.60.2.1 / diff / nxr@1.60.2.1
src/sys/arch/aarch64/conf/files.aarch64@1.16.2.1 / diff / nxr@1.16.2.1
src/sys/arch/aarch64/include/cpu.h@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/arch/aarch64/include/cpufunc.h@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/arch/alpha/alpha/locore.s@1.123.6.1 / diff / nxr@1.123.6.1
src/sys/arch/amd64/amd64/genassym.cf@1.80.2.1 / diff / nxr@1.80.2.1
src/sys/arch/amd64/amd64/locore.S@1.195.2.1 / diff / nxr@1.195.2.1
src/sys/arch/amd64/amd64/machdep.c@1.344.2.1 / diff / nxr@1.344.2.1
src/sys/arch/amd64/amd64/spl.S@1.42.2.1 / diff / nxr@1.42.2.1
src/sys/arch/amd64/conf/ALL@1.135.2.1 / diff / nxr@1.135.2.1
src/sys/arch/amd64/conf/GENERIC@1.553.2.1 / diff / nxr@1.553.2.1
src/sys/arch/amd64/conf/files.amd64@1.114.2.1 / diff / nxr@1.114.2.1
src/sys/arch/amd64/conf/kern.ldscript@1.30.2.1 / diff / nxr@1.30.2.1
:
(more 327 files)
src/sys/arch/aarch64/aarch64/cpu.c@1.31.2.1 / diff / nxr@1.31.2.1
src/sys/arch/aarch64/aarch64/cpufunc.c@1.12.2.1 / diff / nxr@1.12.2.1
src/sys/arch/aarch64/aarch64/cpuswitch.S@1.13.2.1 / diff / nxr@1.13.2.1
src/sys/arch/aarch64/aarch64/fault.c@1.10.4.1 / diff / nxr@1.10.4.1
src/sys/arch/aarch64/aarch64/genassym.cf@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/arch/aarch64/aarch64/locore.S@1.50.2.1 / diff / nxr@1.50.2.1
src/sys/arch/aarch64/aarch64/pmap.c@1.60.2.1 / diff / nxr@1.60.2.1
src/sys/arch/aarch64/conf/files.aarch64@1.16.2.1 / diff / nxr@1.16.2.1
src/sys/arch/aarch64/include/cpu.h@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/arch/aarch64/include/cpufunc.h@1.9.2.1 / diff / nxr@1.9.2.1
src/sys/arch/alpha/alpha/locore.s@1.123.6.1 / diff / nxr@1.123.6.1
src/sys/arch/amd64/amd64/genassym.cf@1.80.2.1 / diff / nxr@1.80.2.1
src/sys/arch/amd64/amd64/locore.S@1.195.2.1 / diff / nxr@1.195.2.1
src/sys/arch/amd64/amd64/machdep.c@1.344.2.1 / diff / nxr@1.344.2.1
src/sys/arch/amd64/amd64/spl.S@1.42.2.1 / diff / nxr@1.42.2.1
src/sys/arch/amd64/conf/ALL@1.135.2.1 / diff / nxr@1.135.2.1
src/sys/arch/amd64/conf/GENERIC@1.553.2.1 / diff / nxr@1.553.2.1
src/sys/arch/amd64/conf/files.amd64@1.114.2.1 / diff / nxr@1.114.2.1
src/sys/arch/amd64/conf/kern.ldscript@1.30.2.1 / diff / nxr@1.30.2.1
:
(more 327 files)
Sync with head.
ad-namecache commitmail json YAML
Push the vnode locking in namei() about as far back as it will go.
ad-namecache commitmail json YAML
src/sys/kern/vfs_cache.c@1.126.2.5
/
diff
/
nxr@1.126.2.5
src/sys/sys/namei.src@1.47.2.3 / diff / nxr@1.47.2.3
src/sys/sys/vnode_impl.h@1.19.2.3 / diff / nxr@1.19.2.3
src/sys/sys/namei.src@1.47.2.3 / diff / nxr@1.47.2.3
src/sys/sys/vnode_impl.h@1.19.2.3 / diff / nxr@1.19.2.3
namecache:
This is working better than expected. It seems to cut system time for
build.sh by ~10% on my test machine and joerg@ is seeing better results with
pbulk. Improve it a bit more without changing the basic idea:
- Split cache_list_lock into a per-vnode rwlock for reverse lookup, and a
lightly contended global lock on LRU state (cache_lru_lock),
- For LRU replacement, imitate the VM system's page replacement algorithm.
This eliminates the writebacks to struct namecache (to track time of last
hit).
- Dynamically allocate the per-directory lock, preparing the way for having
a "struct nchdir" or similar which could contain stuff like different
structures for lookup, cached info to do the equivalent of VOP_ACCESS() in
cache, and so on.
This is working better than expected. It seems to cut system time for
build.sh by ~10% on my test machine and joerg@ is seeing better results with
pbulk. Improve it a bit more without changing the basic idea:
- Split cache_list_lock into a per-vnode rwlock for reverse lookup, and a
lightly contended global lock on LRU state (cache_lru_lock),
- For LRU replacement, imitate the VM system's page replacement algorithm.
This eliminates the writebacks to struct namecache (to track time of last
hit).
- Dynamically allocate the per-directory lock, preparing the way for having
a "struct nchdir" or similar which could contain stuff like different
structures for lookup, cached info to do the equivalent of VOP_ACCESS() in
cache, and so on.
ad-namecache commitmail json YAML
src/sys/kern/vfs_cache.c@1.126.2.4
/
diff
/
nxr@1.126.2.4
src/sys/sys/namei.src@1.47.2.2 / diff / nxr@1.47.2.2
src/sys/sys/vnode_impl.h@1.19.2.2 / diff / nxr@1.19.2.2
src/sys/sys/namei.src@1.47.2.2 / diff / nxr@1.47.2.2
src/sys/sys/vnode_impl.h@1.19.2.2 / diff / nxr@1.19.2.2
Make the per-directory lock a rwlock.
ad-namecache commitmail json YAML
Fix a comment.
ad-namecache commitmail json YAML
cache_enter(): check namelen before touching name.
ad-namecache commitmail json YAML
src/sys/kern/init_sysctl.c@1.223.2.1
/
diff
/
nxr@1.223.2.1
src/sys/kern/vfs_cache.c@1.126.2.1 / diff / nxr@1.126.2.1
src/sys/kern/vfs_vnode.c@1.105.2.1 / diff / nxr@1.105.2.1
src/sys/sys/namei.src@1.47.2.1 / diff / nxr@1.47.2.1
src/sys/sys/vnode_impl.h@1.19.2.1 / diff / nxr@1.19.2.1
src/sys/kern/vfs_cache.c@1.126.2.1 / diff / nxr@1.126.2.1
src/sys/kern/vfs_vnode.c@1.105.2.1 / diff / nxr@1.105.2.1
src/sys/sys/namei.src@1.47.2.1 / diff / nxr@1.47.2.1
src/sys/sys/vnode_impl.h@1.19.2.1 / diff / nxr@1.19.2.1
Redo the namecache to focus on per-directory data structures, removing the
huge hashtable and nasty locking scheme.
Initially this uses rbtrees (because that's what's there). The intent is
experiment with other data structures.
huge hashtable and nasty locking scheme.
Initially this uses rbtrees (because that's what's there). The intent is
experiment with other data structures.