#
cff79fd0 |
| 17-May-2024 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: Fix spin_lock_init
Some linux code re-init some spinlock so add MTX_NEW to mtx_init.
Reported by: David Wolfskill <david@catwhisker.org> Fixes: ae38a1a1bfdf ("linuxkpi: spinlock: Simplif
linuxkpi: Fix spin_lock_init
Some linux code re-init some spinlock so add MTX_NEW to mtx_init.
Reported by: David Wolfskill <david@catwhisker.org> Fixes: ae38a1a1bfdf ("linuxkpi: spinlock: Simplify code")
show more ...
|
#
ae38a1a1 |
| 15-May-2024 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: spinlock: Simplify code
Just use a typedef for spinlock_t, no need to create a useless structure.
Reviewed by: bz, emaste Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Re
linuxkpi: spinlock: Simplify code
Just use a typedef for spinlock_t, no need to create a useless structure.
Reviewed by: bz, emaste Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D45205
show more ...
|
Revision tags: release/13.3.0, release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0 |
|
#
ad83dd2b |
| 31-Mar-2023 |
John Baldwin <jhb@FreeBSD.org> |
LinuxKPI: Appease -Wunused-but-set-variable warnings from GCC.
- Mark assert dummy variables as __unused.
- Use a dummy (void) cast of the flags argument passed to spin_unlock_irqrestore so it ge
LinuxKPI: Appease -Wunused-but-set-variable warnings from GCC.
- Mark assert dummy variables as __unused.
- Use a dummy (void) cast of the flags argument passed to spin_unlock_irqrestore so it gets treated as used.
Reviewed by: manu, hselasky Differential Revision: https://reviews.freebsd.org/D39349
show more ...
|
Revision tags: release/12.4.0, release/13.1.0 |
|
#
11ef1d97 |
| 26-Jan-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Revert "LinuxKPI: Allow spin_lock_irqsave to be called within a critical section"
This change results in deadlocks on UP systems
This reverts commit 7dea0c9e6eba4dc127cd67667c81fa2c250f1024.
Reque
Revert "LinuxKPI: Allow spin_lock_irqsave to be called within a critical section"
This change results in deadlocks on UP systems
This reverts commit 7dea0c9e6eba4dc127cd67667c81fa2c250f1024.
Requested by: kib, hselasky
show more ...
|
#
02ea6033 |
| 18-Jan-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Allow spin_lock_irqsave to be called within a critical section
with spinning on spin_trylock. dma-buf part of drm-kmod depends on this property and absence of it support results in "mi_swi
LinuxKPI: Allow spin_lock_irqsave to be called within a critical section
with spinning on spin_trylock. dma-buf part of drm-kmod depends on this property and absence of it support results in "mi_switch: switch in a critical section" assertions [1][2].
[1] https://github.com/freebsd/drm-kmod/issues/116 [2] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261166
MFC after: 1 week Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D33887
show more ...
|
#
307f78f3 |
| 19-Dec-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Constantly use _LINUXKPI_ prefix in include guards
MFC after: 1 week Reviewed by: bz, emaste, hselasky, manu Differential Revision: https://reviews.freebsd.org/D33562
|
#
f1a7639a |
| 04-Dec-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Add some typical header pollution
To reduce amount of drm-kmod patching
MFC after: 1 week Reviewed by: hselasky, manu Differential Revision: https://reviews.freebsd.org/D33297
|
Revision tags: release/12.3.0 |
|
#
086cfe4d |
| 15-Jul-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Add spin_trylock_irqsave() macro
This is needed by the drm-kmod 5.6 update.
Reviewed by: hselasky MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D30706
|
#
c77ec79b |
| 05-Jul-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Change flags parameter type of atomic_dec_and_lock_irqsave
On Linux atomic_dec_and_lock_irqsave is a wrapper macro which provides a reference to third parameter rather than parameter value
LinuxKPI: Change flags parameter type of atomic_dec_and_lock_irqsave
On Linux atomic_dec_and_lock_irqsave is a wrapper macro which provides a reference to third parameter rather than parameter value itself to implementation routine called _atomic_dec_and_lock_irqsave [1].
While here, implement a fast path.
[1] https://github.com/torvalds/linux/blob/master/include/linux/spinlock.h#L476
Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D30781
show more ...
|
#
46ae23a4 |
| 09-Jun-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: avoid userret: Returning with with pinned thread
Some code manually calls local_bh_disable() and spin_lock() but then calls spin_unlock_bh() (or vice versa). Our code then calls local_bh_d
LinuxKPI: avoid userret: Returning with with pinned thread
Some code manually calls local_bh_disable() and spin_lock() but then calls spin_unlock_bh() (or vice versa). Our code then calls local_bh_disable() again from spin_lock() which means we have the thread pin count increased twice and that means we get out of synch and are still pinned when returning to user space.
Avoid this by adding the explicit local_bh_{enable,disable}() to the spin_[un]lock_bh() versions.
Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D30711
show more ...
|
#
e657f3de |
| 26-Apr-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Remove unneeded {} in atomic_dec_and_lock_irqsave()
|
#
c8de6e20 |
| 26-Apr-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Elimiate brackets on return in spinlock.h
|
#
ce65353a |
| 26-Apr-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Implement atomic_dec_and_lock_irqsave()
This is needed by the drm-kmod 5.5 update.
Reviewed by: hselasky, manu MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D29988
|
Revision tags: release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
#
83630517 |
| 23-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
linuxkpi whitespace cleanup
Reviewed by: hselasky, markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D14807
|
#
9a323f25 |
| 17-Feb-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement spin_trylock_irq() function macro in the LinuxKPI.
MFC after: 1 week Submitted by: Johannes Lundberg <johalun0@gmail.com> Sponsored by: Mellanox Technologies
|
Revision tags: release/10.4.0, release/11.1.0 |
|
#
6ae9acde |
| 23-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r313896 through r314128.
|
#
e560eab7 |
| 21-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Streamline the LinuxKPI spinlock wrappers.
1) Add better spinlock debug names when WITNESS_ALL is defined.
2) Make sure that the calling thread gets bound to the current CPU while a spinlock is loc
Streamline the LinuxKPI spinlock wrappers.
1) Add better spinlock debug names when WITNESS_ALL is defined.
2) Make sure that the calling thread gets bound to the current CPU while a spinlock is locked. Some Linux kernel code depends on that the CPU ID doesn't change while a spinlock is locked.
3) Add support for using LinuxKPI spinlocks during a panic().
MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
#
1e3db1de |
| 21-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
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 ...
|
Revision tags: release/11.0.1, release/11.0.0, release/10.3.0 |
|
#
b626f5a7 |
| 04-Jan-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH r289384-r293170
Sponsored by: The FreeBSD Foundation
|
#
a5d8944a |
| 19-Nov-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Catch up with head (r291075).
|
#
3c3feed4 |
| 01-Nov-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from head
|
#
8d59ecb2 |
| 29-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Finish process of moving the LinuxKPI module into the default kernel build.
- Move all files related to the LinuxKPI into sys/compat/linuxkpi and its subfolders. - Update sys/conf/files and some M
Finish process of moving the LinuxKPI module into the default kernel build.
- Move all files related to the LinuxKPI into sys/compat/linuxkpi and its subfolders. - Update sys/conf/files and some Makefiles to use new file locations. - Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn adds the LinuxKPI to all LINT builds. - The LinuxKPI can be added to the kernel by setting the COMPAT_LINUXKPI option. The OFED kernel option no longer builds the LinuxKPI into the kernel. This was done to keep the build rules for the LinuxKPI in sys/conf/files simple. - Extend the LinuxKPI module to include support for USB by moving the Linux USB compat from usb.ko to linuxkpi.ko. - Bump the FreeBSD_version. - A universe kernel build has been done.
Reviewed by: np @ (cxgb and cxgbe related changes only) Sponsored by: Mellanox Technologies
show more ...
|