| #
325aa4db
|
| 11-Jan-2025 |
Mark Johnston <markj@FreeBSD.org> |
linuxkpi: Introduce a properly typed jiffies
Now that we have a long-sized tick counter, we can migrate to using properly typed timeout parameters in various bits of the LinuxKPI. This fixes a subt
linuxkpi: Introduce a properly typed jiffies
Now that we have a long-sized tick counter, we can migrate to using properly typed timeout parameters in various bits of the LinuxKPI. This fixes a subtle incompatibility that is otherwise difficult to paper over and leads to bugs when ticks values are sign-extended.
- Introduce a "jiffies" symbol in subr_ticks.S, declared only in the LinuxKPI as an unsigned long. - Remove all references to "ticks" from the LinuxKPI. - Convert interfaces to match Linux's type signatures where it makes sense.
Reviewed by: manu Tested by: bz Differential Revision: https://reviews.freebsd.org/D48523
show more ...
|
| #
95ee2897
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
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
|
| #
325aa4db
|
| 11-Jan-2025 |
Mark Johnston <markj@FreeBSD.org> |
linuxkpi: Introduce a properly typed jiffies
Now that we have a long-sized tick counter, we can migrate to using properly typed timeout parameters in various bits of the LinuxKPI. This fixes a subt
linuxkpi: Introduce a properly typed jiffies
Now that we have a long-sized tick counter, we can migrate to using properly typed timeout parameters in various bits of the LinuxKPI. This fixes a subtle incompatibility that is otherwise difficult to paper over and leads to bugs when ticks values are sign-extended.
- Introduce a "jiffies" symbol in subr_ticks.S, declared only in the LinuxKPI as an unsigned long. - Remove all references to "ticks" from the LinuxKPI. - Convert interfaces to match Linux's type signatures where it makes sense.
Reviewed by: manu Tested by: bz Differential Revision: https://reviews.freebsd.org/D48523
show more ...
|
| #
95ee2897
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
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
|
| #
f6d45524
|
| 31-May-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Correct macroname in the LinuxKPI.
Submitted by: Johannes Lundberg <johalun0@gmail.com> MFC after: 1 week Sponsored by: Mellanox Technologies
|
| #
f6800be3
|
| 10-Aug-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Use integer type to pass around jiffies and/or ticks values in the LinuxKPI because in FreeBSD ticks are 32-bit.
MFC after: 1 week Sponsored by: Mellanox Technologies
|
| #
4eb18346
|
| 18-Jun-2017 |
Mark Johnston <markj@FreeBSD.org> |
Avoid including list.h in LinuxKPI headers.
list.h includes a number of FreeBSD headers as a workaround for the LIST_HEAD name collision. To reduce pollution, avoid including list.h in commonly used
Avoid including list.h in LinuxKPI headers.
list.h includes a number of FreeBSD headers as a workaround for the LIST_HEAD name collision. To reduce pollution, avoid including list.h in commonly used headers when it is not explicitly needed.
Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11249
show more ...
|
| #
0f8f7f55
|
| 23-May-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Make header file standalone by including definitions for needed linux_wait_xxx() functions.
Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies
|
| #
fe68f570
|
| 26-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update and add various macros to the LinuxKPI and resolve a macro redefinition issue in the cxgb driver.
MFC after: 1 week Sponsored by: Mellanox Technologies Reviewed by: np @
|
| #
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 ...
|
| #
382d6beb
|
| 20-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Move location of RCS keyword according to style.
Suggested by: jhb @ Sponsored by: Mellanox Technologies
|
| #
77320fe8
|
| 20-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add missing FreeBSD RCS keyword and SVN properties.
Sponsored by: Mellanox Technologies
|
| #
932493ff
|
| 27-Mar-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fixes for the LinuxAPI completion wrappers: - make sure the timeout computations are always above zero by using the existing "linux_timer_jiffies_until()" function. Negative timeouts can result in un
Fixes for the LinuxAPI completion wrappers: - make sure the timeout computations are always above zero by using the existing "linux_timer_jiffies_until()" function. Negative timeouts can result in undefined behaviour. - declare all completion functions like external symbols and move the code to the LinuxAPI kernel module. - add a proper prefix to all LinuxAPI kernel functions to avoid namespace collision with other parts of the FreeBSD kernel. - clean up header file inclusions in the linux/completion.h, linux/in.h and linux/fs.h header files.
MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
| #
a115fb62
|
| 22-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Revert for r277213:
FreeBSD developers need more time to review patches in the surrounding areas like the TCP stack which are using MPSAFE callouts to restore distribution of callouts on multiple CP
Revert for r277213:
FreeBSD developers need more time to review patches in the surrounding areas like the TCP stack which are using MPSAFE callouts to restore distribution of callouts on multiple CPUs.
Bump the __FreeBSD_version instead of reverting it.
Suggested by: kmacy, adrian, glebius and kib Differential Revision: https://reviews.freebsd.org/D1438
show more ...
|
| #
1a26c3c0
|
| 15-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Major callout subsystem cleanup and rewrite: - Close a migration race where callout_reset() failed to set the CALLOUT_ACTIVE flag. - Callout callback functions are now allowed to be protected by
Major callout subsystem cleanup and rewrite: - Close a migration race where callout_reset() failed to set the CALLOUT_ACTIVE flag. - Callout callback functions are now allowed to be protected by spinlocks. - Switching the callout CPU number cannot always be done on a per-callout basis. See the updated timeout(9) manual page for more information. - The timeout(9) manual page has been updated to reflect how all the functions inside the callout API are working. The manual page has been made function oriented to make it easier to deduce how each of the functions making up the callout API are working without having to first read the whole manual page. Group all functions into a handful of sections which should give a quick top-level overview when the different functions should be used. - The CALLOUT_SHAREDLOCK flag and its functionality has been removed to reduce the complexity in the callout code and to avoid problems about atomically stopping callouts via callout_stop(). If someone needs it, it can be re-added. From my quick grep there are no CALLOUT_SHAREDLOCK clients in the kernel. - A new callout API function named "callout_drain_async()" has been added. See the updated timeout(9) manual page for a complete description. - Update the callout clients in the "kern/" folder to use the callout API properly, like cv_timedwait(). Previously there was some custom sleepqueue code in the callout subsystem, which has been removed, because we now allow callouts to be protected by spinlocks. This allows us to tear down the callout like done with regular mutexes, and a "td_slpmutex" has been added to "struct thread" to atomically teardown the "td_slpcallout". Further the "TDF_TIMOFAIL" and "SWT_SLEEPQTIMO" states can now be completely removed. Currently they are marked as available and will be cleaned up in a follow up commit. - Bump the __FreeBSD_version to indicate kernel modules need recompilation. - There has been several reports that this patch "seems to squash a serious bug leading to a callout timeout and panic".
Kernel build testing: all architectures were built MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D1438 Sponsored by: Mellanox Technologies Reviewed by: jhb, adrian, sbruno and emaste
show more ...
|
| #
2c6eb461
|
| 15-Oct-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update the OFED Linux compatibility layer and Mellanox hardware driver(s):
- Properly name an inclusion guard - Fix compile warnings regarding unsigned enums - Add two new sysctl nodes - Remove all
Update the OFED Linux compatibility layer and Mellanox hardware driver(s):
- Properly name an inclusion guard - Fix compile warnings regarding unsigned enums - Add two new sysctl nodes - Remove all empty linux header files - Make an error printout more verbose - Use "mod_delayed_work()" instead of cancelling and starting a timeout. - Implement more Linux scatterlist functions.
MFC after: 3 days Sponsored by: Mellanox Technologies
show more ...
|
| #
c7818b48
|
| 27-Aug-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
- Update the OFED Linux Emulation layer as a preparation for a hardware driver update from Mellanox Technologies. - Remove empty files from the OFED Linux Emulation layer. - Fix compile warnings rela
- Update the OFED Linux Emulation layer as a preparation for a hardware driver update from Mellanox Technologies. - Remove empty files from the OFED Linux Emulation layer. - Fix compile warnings related to printf() and the "%lld" and "%llx" format specifiers. - Add some missing 2-clause BSD copyrights. - Add "Mellanox Technologies, Ltd." to list of copyright holders. - Add some new compatibility files. - Fix order of uninit in the mlx4ib module to avoid crash at unload using the new module_exit_order() function.
MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
| #
aa0a1e58
|
| 21-Mar-2011 |
Jeff Roberson <jeff@FreeBSD.org> |
- Merge in OFED 1.5.3 from projects/ofed/head
|