freebsd-nq/sys/compat
Hans Petter Selasky ca2ad6bd77 LinuxKPI workqueue cleanup.
This change makes the workqueue implementation behave more like in
Linux, both functionality wise and structure wise.

All workqueue code has been moved to linux_work.c

Add an atomic based statemachine to the work_struct to ensure proper
operation. Prior to this change struct_work was directly mapped to a
FreeBSD task. When a taskqueue has multiple threads the same task may
end up being executed on more than one worker thread simultaneously.
This might cause problems with code coming from Linux, which expects
serial behaviour, similar to Linux tasklets.

Move all global workqueue function names into the linux_xxx domain to
avoid symbol name clashes in the future.

Implement a few more workqueue related functions and macros.

Create two multithreaded taskqueues for the LinuxKPI during module
load, one for time-consuming callbacks and one for non-time consuming
callbacks.

MFC after:		1 week
Sponsored by:		Mellanox Technologies
2017-03-07 12:09:14 +00:00
..
cloudabi Rework r313352. 2017-02-13 09:04:38 +00:00
cloudabi32 Regenerate all the system call tables to drop "created from" lines. 2017-02-10 19:45:02 +00:00
cloudabi64 Regenerate all the system call tables to drop "created from" lines. 2017-02-10 19:45:02 +00:00
freebsd32 Rework r313352. 2017-02-13 09:04:38 +00:00
ia32 With the removal of IA64, the only arch which uses ia32 compat is amd64. 2017-03-01 11:39:29 +00:00
linprocfs Add /proc/self/mounts to linprocfs; some linux binaries need it. 2017-02-20 17:33:25 +00:00
linsysfs Add support to the jail framework to be able to mount linsysfs(5) and 2015-07-19 08:52:35 +00:00
linux Add UNIMPLEMENTED() placeholder macro for 2017-03-06 18:11:38 +00:00
linuxkpi/common LinuxKPI workqueue cleanup. 2017-03-07 12:09:14 +00:00
ndis ndis(4): Undo unneeded workarounds in ndis' rand(). 2016-05-22 14:13:20 +00:00
netbsd
x86bios x86bios: spelling fix in a comment. 2016-04-30 00:34:04 +00:00