diff options
author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2017-02-21 12:43:02 +0000 |
---|---|---|
committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2017-02-21 12:43:02 +0000 |
commit | 1e3db1de0cf6b904373e0f4c9e738b9713f3e17b (patch) | |
tree | 9c3eb36eac0b6065dcb12dfdf875957ee7c51293 /sys/compat/linuxkpi/common/include/linux/spinlock.h | |
parent | 27569d019d4edb44094fab5f2fa60ad2b8b03bb7 (diff) | |
download | src-1e3db1de0cf6b904373e0f4c9e738b9713f3e17b.tar.gz src-1e3db1de0cf6b904373e0f4c9e738b9713f3e17b.zip |
Make the LinuxKPI task struct persistent accross system calls.
A set of helper functions have been added to manage the life of the
LinuxKPI task struct. When an external system call or task is invoked,
a check is made to create the task struct by demand. A thread
destructor callback is registered to free the task struct when a
thread exits to avoid memory leaks.
This change lays the ground for emulating the Linux kernel more
closely which is a dependency by the code using the LinuxKPI APIs.
Add new dedicated td_lkpi_task field has been added to struct thread
instead of abusing td_retval[1].
Fix some header file inclusions to make LINT kernel build properly
after this change.
Bump the __FreeBSD_version to force a rebuild of all kernel modules.
MFC after: 1 week
Sponsored by: Mellanox Technologies
Notes
Notes:
svn path=/head/; revision=314040
Diffstat (limited to 'sys/compat/linuxkpi/common/include/linux/spinlock.h')
-rw-r--r-- | sys/compat/linuxkpi/common/include/linux/spinlock.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/spinlock.h b/sys/compat/linuxkpi/common/include/linux/spinlock.h index 97c83e0ed034..4beb6fe45f2d 100644 --- a/sys/compat/linuxkpi/common/include/linux/spinlock.h +++ b/sys/compat/linuxkpi/common/include/linux/spinlock.h @@ -35,9 +35,9 @@ #include <sys/kernel.h> #include <sys/lock.h> #include <sys/mutex.h> +#include <sys/libkern.h> #include <linux/compiler.h> -#include <linux/kernel.h> #include <linux/rwlock.h> typedef struct { |