freebsd-dev/sys
Mateusz Guzik 3ea3fbe685 vfs: fix vn_poll performance with either MAC or AUDIT
The code would unconditionally lock the vnode to audit or call the
mac hoook, even if neither want to do anything. Pre-check the state
to avoid locking in the common case of nothing to do.

Note this code should not be normally executed anyway as vnodes are
always return ready. However, poll1/2 from will-it-scale use regular
files for benchmarking, presumably to focus on the interface itself
as the vnode handler is not supposed to do almost anything.

This in particular fixes poll2 which passes 128 fds.

$ ./poll2_processes -s 10
before: 134411
after:  271572
2020-07-16 14:09:18 +00:00
..
amd64 amd64: patch ffsl to use the compiler builtin 2020-07-16 11:28:24 +00:00
arm Fix the module name for some arm drivers. 2020-07-12 07:27:21 +00:00
arm64 Print the arm64 registers in more exception handling panics 2020-07-14 18:50:48 +00:00
bsm bsm: add AUE_CLOSERANGE 2020-04-24 01:27:25 +00:00
cam Use the more descriptive src_ccb and dst_ccb for the two ccbs being merged. 2020-06-20 04:07:23 +00:00
cddl Fix page fault in zfsctl_snapdir_getattr 2020-07-02 13:17:31 +00:00
compat linuxkpi: Ignore NULL pointers passed to string parameter of kstr(n)dup 2020-07-14 21:56:59 +00:00
conf Add a driver for the SafeXcel EIP-97. 2020-07-14 14:09:29 +00:00
contrib Rename nvpair.c to bsd_nvpair.c to not conflict with openzfs' version. 2020-06-27 00:55:03 +00:00
crypto Add domain policy allocation for amd64 fpu_kern_ctx 2020-07-03 14:54:46 +00:00
ddb [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
dev hwpmc: Always set pmc_cpuid to something 2020-07-14 22:25:06 +00:00
dts Remove licenses 2020-06-04 17:20:58 +00:00
fs Fix the pNFS flexible file layout client for servers with small write size. 2020-07-15 01:26:28 +00:00
gdb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
geom g_concat_find_device: trim /dev/ if it is present, like other GEOM 2020-07-09 08:00:46 +00:00
gnu dts: patch the am33xx dts for upcoming clock support 2020-06-05 20:14:54 +00:00
i386 Improve description of the vector argument for i386 smp_targeted_tlb_shootdown(). 2020-07-15 16:12:00 +00:00
isa
kern vfs: fix vn_poll performance with either MAC or AUDIT 2020-07-16 14:09:18 +00:00
kgssapi Add support for optional separate output buffers to in-kernel crypto. 2020-05-25 22:12:04 +00:00
libkern libkern: Add arc4random_uniform 2020-05-23 17:51:06 +00:00
mips [ar71xx] fix watchdog to work on subsequent SoCs 2020-07-15 19:34:19 +00:00
modules build DTS for Orange Pi PC Plus as well 2020-07-15 18:04:01 +00:00
net ether_ifattach: set mtu before calling if_attach() 2020-07-16 13:37:32 +00:00
net80211 [net80211] Commit files missing in the previous commit 2020-07-01 00:24:55 +00:00
netgraph Add support for [read|write] supported data length commands. 2020-07-08 06:33:07 +00:00
netinet Improve the error handling in generating ASCONF chunks. 2020-07-14 20:32:50 +00:00
netinet6 Switch inet6 default route subscription to the new rib subscription api. 2020-07-12 11:24:23 +00:00
netipsec Simplify IPsec transform-specific teardown. 2020-06-25 23:59:16 +00:00
netpfil Don't print VNET pointer when initializing dummynet 2020-07-13 13:35:36 +00:00
netsmb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
nfs Use epoch(9) for rtentries to simplify control plane operations. 2020-05-23 10:21:02 +00:00
nfsclient
nfsserver
nlm Fix export_args ex_flags field so that is 64bits, the same as mnt_flags. 2020-06-14 00:10:18 +00:00
ofed Infiniband clients must be attached and detached in a specific order in ibcore. 2020-07-06 08:50:11 +00:00
opencrypto Convert cryptostats to a counter_u64 array. 2020-06-30 22:01:21 +00:00
powerpc [PowerPC] Use PVO_PADDR to get the PA from PVO 2020-07-15 13:43:48 +00:00
riscv riscv plic: Do not complete interrupts until the interrupt handler has run 2020-07-06 21:29:50 +00:00
rpc Fix up a comment added by r362455. 2020-06-21 02:49:56 +00:00
security vfs: fix vn_poll performance with either MAC or AUDIT 2020-07-16 14:09:18 +00:00
sys fd: remove fd_lastfile 2020-07-15 10:24:04 +00:00
teken
tests Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tools vfs: stop null checking routines in vop wrappers 2020-01-26 00:41:38 +00:00
ufs The binary representation of the superblock (the fs structure) is written 2020-06-19 01:04:25 +00:00
vm Add vm_map_valid_range_KBI(). 2020-07-13 16:39:27 +00:00
x86 hwpmc: Always set pmc_cpuid to something 2020-07-14 22:25:06 +00:00
xdr Split XDR into separate kernel module. Make krpc depend on xdr. 2020-04-17 06:04:20 +00:00
xen Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (16 of many) 2020-02-25 19:04:39 +00:00
Makefile Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00