Module Name: src Committed By: pgoyette Date: Thu Dec 12 02:15:43 UTC 2019
Modified Files: src/sys/arch/amd64/amd64: netbsd32_machdep.c netbsd32_machdep_16.c src/sys/arch/mips/mips: netbsd32_machdep.c netbsd32_machdep_16.c src/sys/arch/sparc64/sparc64: netbsd32_machdep.c netbsd32_machdep_16.c src/sys/compat/common: bio_30.c ccd_60.c clockctl_50.c compat_sysv_50_mod.c ieee80211_20.c if43_20.c if_43.c if_media_80.c if_spppsubr50.c kern_mod_80.c kern_sig_16.c kern_uipc_socket_50.c rndpseudo_50.c rtsock_14.c rtsock_50.c rtsock_70.c sysmon_power_40.c tty_43.c tty_60.c uipc_syscalls_40.c uipc_syscalls_50.c uipc_usrreq_70.c usb_subr_30.c vfs_syscalls_10.c vnd_30.c vnd_50.c src/sys/compat/netbsd32: netbsd32_compat_50.c netbsd32_compat_80.c netbsd32_kern_proc.c src/sys/compat/sunos: sunos_mod.c src/sys/compat/sunos32: sunos32_mod.c src/sys/dev/raidframe: rf_compat32.c rf_compat50.c rf_compat80.c src/sys/dev/wscons: wsevent_50.c src/sys/fs/puffs: puffs_compat.c src/sys/kern: kern_core.c kern_module.c src/sys/net: if_vlan.c src/sys/opencrypto: ocryptodev.c src/sys/sys: module_hook.h param.h Log Message: Rather than keeping a separate mutex, condvar, and pserialize for each module hook, we can share a common set of synchronization structures. This cuts the amount of cacheline_aligned data for these structures by 50%. Note that we still have a per-hook localcount, since we need to count individual references. As discussed with riastradh@ Welcome to 9.99.22 ! To generate a diff of this commit: cvs rdiff -u -r1.132 -r1.133 src/sys/arch/amd64/amd64/netbsd32_machdep.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/amd64/amd64/netbsd32_machdep_16.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/mips/mips/netbsd32_machdep.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/mips/mips/netbsd32_machdep_16.c cvs rdiff -u -r1.114 -r1.115 src/sys/arch/sparc64/sparc64/netbsd32_machdep.c cvs rdiff -u -r1.3 -r1.4 src/sys/arch/sparc64/sparc64/netbsd32_machdep_16.c cvs rdiff -u -r1.3 -r1.4 src/sys/compat/common/bio_30.c \ src/sys/compat/common/clockctl_50.c src/sys/compat/common/if_spppsubr50.c \ src/sys/compat/common/kern_uipc_socket_50.c \ src/sys/compat/common/sysmon_power_40.c src/sys/compat/common/vnd_30.c cvs rdiff -u -r1.10 -r1.11 src/sys/compat/common/ccd_60.c cvs rdiff -u -r1.4 -r1.5 src/sys/compat/common/compat_sysv_50_mod.c \ src/sys/compat/common/if43_20.c src/sys/compat/common/kern_sig_16.c \ src/sys/compat/common/uipc_usrreq_70.c \ src/sys/compat/common/vfs_syscalls_10.c src/sys/compat/common/vnd_50.c cvs rdiff -u -r1.5 -r1.6 src/sys/compat/common/ieee80211_20.c \ src/sys/compat/common/kern_mod_80.c src/sys/compat/common/rndpseudo_50.c \ src/sys/compat/common/usb_subr_30.c cvs rdiff -u -r1.23 -r1.24 src/sys/compat/common/if_43.c cvs rdiff -u -r1.2 -r1.3 src/sys/compat/common/if_media_80.c cvs rdiff -u -r1.8 -r1.9 src/sys/compat/common/rtsock_14.c \ src/sys/compat/common/tty_60.c src/sys/compat/common/uipc_syscalls_50.c cvs rdiff -u -r1.14 -r1.15 src/sys/compat/common/rtsock_50.c cvs rdiff -u -r1.7 -r1.8 src/sys/compat/common/rtsock_70.c cvs rdiff -u -r1.34 -r1.35 src/sys/compat/common/tty_43.c cvs rdiff -u -r1.20 -r1.21 src/sys/compat/common/uipc_syscalls_40.c cvs rdiff -u -r1.41 -r1.42 src/sys/compat/netbsd32/netbsd32_compat_50.c cvs rdiff -u -r1.5 -r1.6 src/sys/compat/netbsd32/netbsd32_compat_80.c cvs rdiff -u -r1.4 -r1.5 src/sys/compat/netbsd32/netbsd32_kern_proc.c cvs rdiff -u -r1.6 -r1.7 src/sys/compat/sunos/sunos_mod.c cvs rdiff -u -r1.6 -r1.7 src/sys/compat/sunos32/sunos32_mod.c cvs rdiff -u -r1.6 -r1.7 src/sys/dev/raidframe/rf_compat32.c cvs rdiff -u -r1.11 -r1.12 src/sys/dev/raidframe/rf_compat50.c cvs rdiff -u -r1.13 -r1.14 src/sys/dev/raidframe/rf_compat80.c cvs rdiff -u -r1.4 -r1.5 src/sys/dev/wscons/wsevent_50.c cvs rdiff -u -r1.7 -r1.8 src/sys/fs/puffs/puffs_compat.c cvs rdiff -u -r1.28 -r1.29 src/sys/kern/kern_core.c cvs rdiff -u -r1.138 -r1.139 src/sys/kern/kern_module.c cvs rdiff -u -r1.148 -r1.149 src/sys/net/if_vlan.c cvs rdiff -u -r1.13 -r1.14 src/sys/opencrypto/ocryptodev.c cvs rdiff -u -r1.4 -r1.5 src/sys/sys/module_hook.h cvs rdiff -u -r1.622 -r1.623 src/sys/sys/param.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.