freebsd-dev/sys
John Baldwin d139909d6e destroy_dev_sched*: Don't hold Giant for all deferred destroy_dev.
Rather than using taskqueue_swi_giant which holds Giant for all
deferred destroy_dev calls, create a separate queue for destroyed
devices with D_NEEDGIANT set in the corresponding cdevsw.  The task
for this queue holds Giant whild destroying deferred devices while the
task for the default queue does not hold Giant.

In addition, switch to taskqueue_thread for destroy_dev_sched.
Deferred destroy_dev requests don't need to run at an SWI priority.

Reviewed by:	imp, markj
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D34915
2022-04-18 12:04:30 -07:00
..
amd64 Remove checks for <sys/cdefs.h> being included. 2022-04-12 10:06:18 -07:00
arm arm freescale: Remove unused variables. 2022-04-13 16:08:22 -07:00
arm64 genet: fix problems with interface down/up 2022-04-14 14:10:13 -05:00
bsm
cam cam(4): Remove a double word in a source code comment 2022-04-09 10:13:59 +02:00
cddl zfs: merge openzfs/zfs@a86e08941 (master) into main 2022-03-08 18:53:02 +01:00
compat LinuxKPI: 802.11: improve hw_scan 2022-04-15 15:54:03 +00:00
conf zfs: Disable -Wunused-but-set-variable for dnode.c. 2022-04-13 16:08:20 -07:00
contrib acpica: Drop a local patch in favor of an upstream patch 2022-04-15 16:29:09 -04:00
crypto Remove checks for __GNUCLIKE_ASM assuming it is always true. 2022-04-12 10:05:45 -07:00
ddb
dev nvme: Use controller's page size instead of PAGE_SIZE to create qpair 2022-04-15 14:46:19 -06:00
dts dts: add IPQ4018/IPQ4019 ethernet MAC and ethernet switch definitions 2022-02-03 21:26:45 -08:00
fs nfscl: Clean up the code by removing unused arguments 2022-04-15 18:51:01 -07:00
gdb
geom Remove 12.x ABI compat for kernel dump ioctls 2022-04-15 12:06:05 -03:00
gnu
i386 i386 getmemsize: Use __diagused for a variable only used in KASSERT(). 2022-04-13 16:08:23 -07:00
isa
kern destroy_dev_sched*: Don't hold Giant for all deferred destroy_dev. 2022-04-18 12:04:30 -07:00
kgssapi kgssapi krb5: Remove unused variables. 2022-04-06 16:45:29 -07:00
libkern libkern: Fix two typos in source code comments 2022-04-09 09:36:34 +02:00
modules zfs: Disable -Wunused-but-set-variable for dnode.c. 2022-04-13 16:08:20 -07:00
net infiniband_resolve_addr: ih is only used for INET or INET6. 2022-04-13 16:08:21 -07:00
net80211 net80211(4): Fix a typo in a source code comment 2022-04-09 09:13:53 +02:00
netgraph ng_netflow: Move various variables under INET || INET6. 2022-04-13 16:08:21 -07:00
netinet sctp: cleanup 2022-04-16 21:03:16 +02:00
netinet6 netinet6: Use __diagused for variables only used in KASSERT(). 2022-04-13 16:08:19 -07:00
netipsec ipsec_encap: setdf is only used for INET. 2022-04-13 16:08:21 -07:00
netpfil ipfw: icmp6_type is only used for INET6. 2022-04-13 16:08:21 -07:00
netsmb smb_smb_treedisconnect: eliminate write only variable mbp 2022-04-04 22:30:57 -06:00
nfs nfs: do not panic on bootpc_init when no interfaces are found 2022-04-07 19:33:26 -03:00
nfsclient
nfsserver
nlm
ofed ofed: Fix a typo in a source code comment 2022-04-09 14:39:36 +02:00
opencrypto crypto: hide crypto_destroyreq behind a tunable 2022-02-16 07:45:12 +00:00
powerpc powerpc mpc85xx: Remove unused variables. 2022-04-13 16:08:24 -07:00
riscv riscv: Use __diagused for variables only used in KASSERT(). 2022-04-13 16:08:23 -07:00
rpc svc_vc_rendezvous_stat: eliminiate write only variable stat 2022-04-04 22:31:04 -06:00
security audit: Initialize vattr fields before calling VOP_GETATTR 2022-03-28 11:23:45 -04:00
sys Remove 12.x ABI compat for kernel dump ioctls 2022-04-15 12:06:05 -03:00
teken teken: color #3 is yellow not brown - use TC_YELLOW as the name 2022-03-12 09:17:29 -05:00
tests
tools syscallarg_t: Add a type for system call arguments 2022-03-28 19:43:03 +01:00
ufs ufs/acl.h: forward-declare struct inode 2022-04-10 00:43:53 +03:00
vm vm: Initialize the transient buffer mapping arena with M_WAITOK 2022-04-14 15:46:14 -04:00
x86 Remove checks for <sys/cdefs.h> being included. 2022-04-12 10:06:18 -07:00
xdr
xen xen: Use __diagused for a variable only used in KASSERT(). 2022-04-13 16:08:20 -07:00
Makefile