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
..
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-01-20 05:45:07 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-06 04:16:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-07 12:09:14 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-05 03:05:24 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-01-28 02:22:15 +00:00