opnsense-src/sys
Vladimir Kondratyev 2c9bb9c618 LinuxKPI: Implement kthread_worker related functions
Kthread worker is a single thread workqueue which can be used in cases
where specific kthread association is necessary, for example, when it
should have RT priority or be assigned to certain cgroup.

This change implements Linux v4.9 interface which mostly hides kthread
internals from users thus allowing to use ordinary taskqueue(9) KPI.
As kthread worker prohibits enqueueing of already pending or canceling
tasks some minimal changes to taskqueue(9) were done.
taskqueue_enqueue_flags() was added to taskqueue KPI which accepts extra
flags parameter. It contains one or more of the following flags:

TASKQUEUE_FAIL_IF_PENDING - taskqueue_enqueue_flags() fails if the task
    is already scheduled to execution. EEXIST is returned and the
    ta_pending counter value remains unchanged.
TASKQUEUE_FAIL_IF_CANCELING - taskqueue_enqueue_flags() fails if the
    task is in the canceling state and ECANCELED is returned.

Required by:	drm-kmod 5.10

MFC after:	1 week
Reviewed by:	hselasky, Pau Amma (docs)
Differential Revision:	https://reviews.freebsd.org/D35051

(cherry picked from commit b6f87b78b5)
2022-06-02 00:50:14 +03:00
..
amd64 amd64 NOTES: Add entries for qlxgb, glxgbe, and glxge. 2022-05-19 17:22:22 -07:00
arm Add the extres pseudo devices to some kernels. 2022-05-17 14:15:44 -07:00
arm64 genet: fix output packet corruption in uncommon case 2022-05-23 06:53:01 -05:00
bsm
cam Assert that invalid bus widths can't be passed to bus_width_str(). 2022-05-10 15:51:49 -07:00
cddl libsa: Make the nvlist implementation more self-contained 2022-05-27 09:15:14 -04:00
compat LinuxKPI: Implement kthread_worker related functions 2022-06-02 00:50:14 +03:00
conf Avoid adding -d to kernel module link command lines for lld >= 14 2022-05-30 20:28:14 +02:00
contrib sys/contrib/zlib: Always define Z_U8 and Z_U4 2022-04-04 11:58:10 -04:00
crypto crypto: Validate AES-GCM IV length in check_csp(). 2022-04-29 13:50:04 -07:00
ddb Create sys/reg.h for the common code previously in machine/reg.h 2022-05-12 15:12:59 -07:00
dev backlight: Update cached value when getting the brightness 2022-06-01 09:12:18 +02:00
dts add overlay for enabling i2c1 on allwinner h3 2022-02-09 11:35:59 +02:00
fs fusefs: fix an undefined variable access 2022-05-23 13:11:16 -06:00
gdb gdb(4): Do not use run length encoding for 3-symbol repetitions 2022-02-04 20:58:34 -05:00
geom GEOM: Introduce partial confxml API 2022-05-10 21:20:25 -04:00
gnu bwn: eliminate dead writes in BWN_GPL_PHY 2022-05-12 08:56:04 -04:00
i386 smapi: Store softc pointer in si_drv1 of cdev. 2022-05-19 15:01:50 -07:00
isa
kern LinuxKPI: Implement kthread_worker related functions 2022-06-02 00:50:14 +03:00
kgssapi
libkern libkern: Fix two typos in source code comments 2022-04-14 08:13:56 +02:00
mips mips: Remove EXT_RESOURCES from kernel configs. 2022-05-17 14:15:45 -07:00
modules infiniband: Disable -Wredundant-decl warnings. 2022-05-10 15:51:49 -07:00
net net: remove incorrect assertions 2022-05-31 12:02:01 +02:00
net80211 net80211(4): Fix a typo in a source code comment 2022-04-14 08:08:31 +02:00
netgraph ng_pppoe: introduce new sysctl net.graph.pppoe.lcp_pcp 2022-05-16 09:31:56 +07:00
netinet netdump: check the support status of the interface 2022-05-27 13:22:47 -03:00
netinet6 mld6: Ensure that mld_domifattach() always succeeds 2022-04-27 20:34:17 -04:00
netipsec IPsec: Use protocol-specific malloc types instead of M_XDATA. 2022-05-10 16:33:00 -07:00
netpfil pf: counter argument to pfr_pool_get() may never be NULL 2022-04-27 08:46:55 +02:00
netsmb
nfs nfs: do not panic on bootpc_init when no interfaces are found 2022-05-06 09:14:28 -03:00
nfsclient
nfsserver
nlm
ofed ofed: Remove a double word in a source code comment 2022-04-14 08:16:09 +02:00
opencrypto KTLS: Free the MAC session when destroying AES-CBC software sessions. 2022-05-13 16:48:48 -07:00
powerpc ata_kauai: Fix support for "shasta" controllers. 2022-05-13 13:15:56 -07:00
riscv aw_wdog: support Allwinner D1 watchdog 2022-05-16 10:34:04 -03:00
rpc krpc: Fix NFS-over-TLS for KTLS1.3 2022-05-30 17:38:43 -07:00
security audit: Initialize vattr fields before calling VOP_GETATTR 2022-04-11 09:43:27 -04:00
sys LinuxKPI: Implement kthread_worker related functions 2022-06-02 00:50:14 +03:00
teken teken: color #3 is yellow not brown - use TC_YELLOW as the name 2022-05-03 14:20:44 -04:00
tests
tools Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2022-02-08 15:00:55 -05:00
ufs UFS: clear fs_fmod once more, in the buffer data copy. 2022-05-17 01:32:55 +03:00
vm Add a VA_IS_CLEANMAP() macro. 2022-05-10 10:47:07 -07:00
x86 x86: Add a NT_X86_SEGBASES register set. 2022-05-13 09:45:19 -07:00
xdr
xen xen(3): Fix a typo in a source code comment 2022-04-02 15:32:40 +02:00
Makefile