|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0 |
|
| #
130f4181 |
| 20-May-2021 |
Konstantin Belousov <[email protected]> |
linuxkpi: remove global atomic counter of the task allocations
(cherry picked from commit d96f55bc7159e8d018847abe5b1782d74c8aa415)
|
| #
3a83634c |
| 21-May-2021 |
Hans Petter Selasky <[email protected]> |
Wait for all task_struct allocations to be returned before freeing the UMA zone in the LinuxKPI
(cherry picked from commit b764a426534f2f5f86d6625288c74dafdbc94d2b)
|
|
Revision tags: release/13.0.0 |
|
| #
e284a623 |
| 11-Mar-2021 |
Konstantin Belousov <[email protected]> |
linuxkpi: reduce number of stray mm_struct allocations
(cherry picked from commit fad437ba612a7c19f5cf1633e2d0d1c44d4dd478)
|
| #
389b4dd7 |
| 11-Mar-2021 |
Konstantin Belousov <[email protected]> |
linuxkpi: guarantee allocations of task and mm for interrupt threads
(cherry picked from commit 165ba13fb806c8596f868981883631a5ee78d6c8)
|
| #
8859f73a |
| 11-Mar-2021 |
Konstantin Belousov <[email protected]> |
linuxkpi: some style, wrap too long lines
(cherry picked from commit 4ce1f6162e9eb576ac40f24b8538f55e83ef5eb4)
|
|
Revision tags: release/12.2.0 |
|
| #
f334f212 |
| 02-Jul-2020 |
Konstantin Belousov <[email protected]> |
linuxkpi: improvements for linux_pid_task() and linux_get_pid_task().
Unify functions bodies. Do not call tdfind() if pid is passed, and do not call pfind() if tid is supplied.
Reviewed by: hselask
linuxkpi: improvements for linux_pid_task() and linux_get_pid_task().
Unify functions bodies. Do not call tdfind() if pid is passed, and do not call pfind() if tid is supplied.
Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 1 week Differential revision: https://reviews.freebsd.org/D25534
show more ...
|
| #
9a4e535b |
| 01-Jul-2020 |
Hans Petter Selasky <[email protected]> |
The "pid" field in the LinuxKPI task struct is typically set to the thread ID and not the process ID. Make sure the linux_task_exiting() function uses tdfind() to lookup the BSD procedure structure p
The "pid" field in the LinuxKPI task struct is typically set to the thread ID and not the process ID. Make sure the linux_task_exiting() function uses tdfind() to lookup the BSD procedure structure pointer by the "pid" field, and only fallback to pfind() when no match is found! This makes linux_task_exiting() in line with the rest of the code.
Differential Revision: https://reviews.freebsd.org/D25509 Submitted by: Greg V <[email protected]> MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
|
Revision tags: release/11.4.0, release/12.1.0, release/11.3.0 |
|
| #
07e0a3ca |
| 16-May-2019 |
Johannes Lundberg <[email protected]> |
LinuxKPI: Add group_leader member to struct task_struct.
Assign self as group leader at creation to act as the only member of a new process group. This patch is part of D19565
Reviewed by: hps Appr
LinuxKPI: Add group_leader member to struct task_struct.
Assign self as group leader at creation to act as the only member of a new process group. This patch is part of D19565
Reviewed by: hps Approved by: imp (mentor), hps MFC after: 1 week
show more ...
|
| #
638fa5a3 |
| 13-Mar-2019 |
Hans Petter Selasky <[email protected]> |
Implement current_exiting() in the LinuxKPI.
Submitted by: Johannes Lundberg <[email protected]> MFC after: 1 week Sponsored by: Limelight Networks Sponsored by: Mellanox Technologies
|
| #
983ed4f9 |
| 22-Feb-2019 |
Matt Macy <[email protected]> |
lkpi: allow late binding of linux_alloc_current
Some consumers may be loosely coupled with the lkpi. This allows them to call linux_alloc_current without having a static dependency.
Reviewed by: hp
lkpi: allow late binding of linux_alloc_current
Some consumers may be loosely coupled with the lkpi. This allows them to call linux_alloc_current without having a static dependency.
Reviewed by: hps@ MFC after: 1 week Sponsored by: iX Systems Differential Revision: https://reviews.freebsd.org/D19257
show more ...
|
|
Revision tags: release/12.0.0, release/11.2.0 |
|
| #
ef925749 |
| 11-Nov-2017 |
Hans Petter Selasky <[email protected]> |
Remove release and acquire semantics when accessing the "state" field of the LinuxKPI task struct. Change type of "state" variable from "int" to "atomic_t" to simplify code and avoid unneccessary cas
Remove release and acquire semantics when accessing the "state" field of the LinuxKPI task struct. Change type of "state" variable from "int" to "atomic_t" to simplify code and avoid unneccessary casting.
MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
|
Revision tags: release/10.4.0, release/11.1.0 |
|
| #
abf5c031 |
| 09-Jul-2017 |
Mark Johnston <[email protected]> |
Free existing per-thread task structs when unloading linuxkpi.ko.
They are otherwise leaked.
Reported and tested by: ae MFC after: 1 week
|
| #
8504aa98 |
| 18-Jun-2017 |
Mark Johnston <[email protected]> |
Add kthread parking support to the LinuxKPI.
Submitted by: kmacy (original version) Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11264
|
| #
68b9f2f0 |
| 31-May-2017 |
Hans Petter Selasky <[email protected]> |
Don't acquire a reference on the VM-space when allocating the LinuxKPI task structure to avoid deadlock when tearing down the VM object during a process exit.
Found by: markj @ MFC after: 1 week S
Don't acquire a reference on the VM-space when allocating the LinuxKPI task structure to avoid deadlock when tearing down the VM object during a process exit.
Found by: markj @ MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
| #
8402f058 |
| 06-Apr-2017 |
Hans Petter Selasky <[email protected]> |
Fix implementation of task_pid_group_leader() in the LinuxKPI.
In FreeBSD thread IDs and procedure IDs have distinct number spaces. When asking for the group leader task ID in the LinuxKPI, return t
Fix implementation of task_pid_group_leader() in the LinuxKPI.
In FreeBSD thread IDs and procedure IDs have distinct number spaces. When asking for the group leader task ID in the LinuxKPI, return the procedure ID and let this resolve to the first task in the procedure having a valid LinuxKPI task structure pointer.
MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
| #
e54b103e |
| 06-Apr-2017 |
Hans Petter Selasky <[email protected]> |
Before registering a new mm_struct in the LinuxKPI check if other tasks in the belonging procedure already have a valid mm_struct and reference that instead.
The mm_struct in the LinuxKPI should be
Before registering a new mm_struct in the LinuxKPI check if other tasks in the belonging procedure already have a valid mm_struct and reference that instead.
The mm_struct in the LinuxKPI should be shared among all tasks belonging to the same procedure. This has to do with with the mmap_sem semaphore which should serialize all VM operations inside a given procedure. Linux based drivers depend on this behaviour.
MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
| #
a0699ebf |
| 17-Mar-2017 |
Hans Petter Selasky <[email protected]> |
Implement get_pid_task(), pid_task() and some other PID helper functions in the LinuxKPI. Add a usage atomic to the task_struct structure to facilitate refcounting the task structure when returned fr
Implement get_pid_task(), pid_task() and some other PID helper functions in the LinuxKPI. Add a usage atomic to the task_struct structure to facilitate refcounting the task structure when returned from get_pid_task(). The get_task_struct() and put_task_struct() function is used to manage atomic refcounting. After this change the task_struct should only be freed through put_task_struct().
Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
| #
05d4f501 |
| 17-Mar-2017 |
Hans Petter Selasky <[email protected]> |
Implement minimalistic memory mapping structure, struct mm_struct, and some associated helper functions in the LinuxKPI. Let the existing linux_alloc_current() function allocate and initialize the ne
Implement minimalistic memory mapping structure, struct mm_struct, and some associated helper functions in the LinuxKPI. Let the existing linux_alloc_current() function allocate and initialize the new structure and let linux_free_current() drop the refcount on the memory mapping structure. When the mm_struct's refcount reaches zero, the structure is freed.
Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
| #
1e3db1de |
| 21-Feb-2017 |
Hans Petter Selasky <[email protected]> |
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 invok
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
show more ...
|