#
a928b16e |
|
21-Jun-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Unlock the taskqueue before waiting for threads. Also set tq_threads to NULL to prevent double-frees.
|
#
01631912 |
|
21-Jun-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Rework taskqueues implementation. * Use FreeBSD's queue management directly, only retaining thread creation and synchronization functions from Haiku. * Use FreeBSD's task structure declarations. * Use a standard non-FAST taskqueue for taskqueue_thread. * Rewrite header and adjust consumers as appropriate.
|
#
8548a4ad |
|
12-May-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Adaptations in preparation for the OpenBSD layer. Most of these changes however add things that FreeBSD has (with a few exceptions noted in comments) which the OpenBSD shim layer merely needs to make use of. (FreeBSD used to have support for IFF_NEEDSGIANT but removed it. The support instated here is very similar to what FreeBSD used to have.)
|
#
09ea42fa |
|
21-Mar-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Rearrange taskqueue_block functions and add NULL checks. Should fix #17218.
|
#
1b333e91 |
|
09-Mar-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Use MTX_SPIN for fast taskqueues instead of a direct spinlock.
|
#
49fd143d |
|
09-Mar-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Print the taskqueue name in the timeout KASSERT. Should help with diagnosing #17634.
|
#
27632129 |
|
08-Jan-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Implement taskqueue_drain_all. Required by FreeBSD 12's iprowifi4965.
|
#
8267c193 |
|
29-Dec-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Lots of additions and modifications for iflib.
|
#
dba28784 |
|
24-Dec-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd11_network -> freebsd_network. FreeBSD 12 has no major changes to the ifnet KPIs that constitute a source compatibility break, save a single one related to locking which doesn't really apply to us, and so we don't need to create a "freebsd12_network" directory to work through the upgrades.
|
#
57e2ce54 |
|
31-Jul-2012 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
CID-701956: list_remove_head_item may return null. Simplified from while (1) to while that checks sem directly.
|
#
2406849d |
|
27-Oct-2009 |
Colin Günther <coling@gmx.de> |
* Coding style fixes regarding whitespace usage. * Copyright style fixes. * Implemented FreeBSD hardclock subsystem, which is needed to update the ticks variable. The previous usage of "#define ticks system_time()" wasn't sufficient anymore, as there are drivers using the ticks name for local scoped variables. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33785 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
14627e08 |
|
22-Oct-2009 |
Colin Günther <coling@gmx.de> |
* reordering of headerfile inclusion to comply to FreeBSD 8 ordering. this makes porting driver (especially wifi ones) more convinient * based on FreeBSD svn revision 196691 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33739 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1c8de858 |
|
01-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added optional spinlock contention measurement feature. Enabled when B_DEBUG_SPINLOCK_CONTENTION is defined to 1. It typedefs spinlock to a structure (thus breaking BeOS binary compatibility), containing a counter which is incremented whenever a thread has to wait for the spinlock. * Added macros for spinlock initialization and access and changed code using spinlocks accordingly. This breaks compilation for BeOS -- the macros should be defined in the respective compatibility wrappers. * Added generic syscall to get the spinlock counters for the thread and the team spinlocks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25752 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c615a01 |
|
01-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed old mutex implementation and renamed cutex to mutex. * Trivial adjustments of code using mutexes. Mostly removing the mutex_init() return value check. * Added mutex_lock_threads_locked(), which is called with the threads spinlock being held. The spinlock is released while waiting, of course. This function is useful in cases where the existence of the mutex object is ensured by holding the threads spinlock. * Changed the two instances in the VFS code where an IO context of another team needs to be locked to use mutex_lock_threads_locked(). Before it required a semaphore-based mutex implementation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25283 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0747d47e |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: added swi taskqueue and a couple more methods that if_xl needs. also marked some as unimplemented so its clearer what is left to be done. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21080 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9628dc45 |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: remove arbitrary limit on number of created threads available in taskqueue_start_threads. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21077 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
303a4a3d |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: a couple more changes. a DMA-using driver (FreeBSD's em, Intel Pro 1000) now works without any modifications (it has a fast interrupt mode). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4d281161 |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: respect requested priority in taskqueue_start_threads. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21075 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3f3e58db |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: gcc 4 fixes, it seems __FUNCTION__ is variant. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21074 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
adf90245 |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: only init taskqueue_fast if FBSD_FAST_TASKQUEUE requirement is set (since it starts a thread and consumes a couple semaphores). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21073 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
859a95b6 |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: taskqueue implementation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21071 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
25d42ceb |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: a few more definitions, preparing for a DMA-using driver. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21067 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
57e2ce542e59a69f405a60f1ab7a3e0e54e4f6a2 |
|
31-Jul-2012 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
CID-701956: list_remove_head_item may return null. Simplified from while (1) to while that checks sem directly.
|
#
2406849d4a8bcb152bc992bc5c1c6ef51e783f4b |
|
27-Oct-2009 |
Colin Günther <coling@gmx.de> |
* Coding style fixes regarding whitespace usage. * Copyright style fixes. * Implemented FreeBSD hardclock subsystem, which is needed to update the ticks variable. The previous usage of "#define ticks system_time()" wasn't sufficient anymore, as there are drivers using the ticks name for local scoped variables. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33785 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
14627e087b920676d05d45cec5f28688744e1fdb |
|
22-Oct-2009 |
Colin Günther <coling@gmx.de> |
* reordering of headerfile inclusion to comply to FreeBSD 8 ordering. this makes porting driver (especially wifi ones) more convinient * based on FreeBSD svn revision 196691 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33739 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1c8de8581b66c14ea94bccd7ddcea99291955796 |
|
01-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added optional spinlock contention measurement feature. Enabled when B_DEBUG_SPINLOCK_CONTENTION is defined to 1. It typedefs spinlock to a structure (thus breaking BeOS binary compatibility), containing a counter which is incremented whenever a thread has to wait for the spinlock. * Added macros for spinlock initialization and access and changed code using spinlocks accordingly. This breaks compilation for BeOS -- the macros should be defined in the respective compatibility wrappers. * Added generic syscall to get the spinlock counters for the thread and the team spinlocks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25752 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c615a01ae49634aaf59fbe35b3d55b3bb8890df |
|
01-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed old mutex implementation and renamed cutex to mutex. * Trivial adjustments of code using mutexes. Mostly removing the mutex_init() return value check. * Added mutex_lock_threads_locked(), which is called with the threads spinlock being held. The spinlock is released while waiting, of course. This function is useful in cases where the existence of the mutex object is ensured by holding the threads spinlock. * Changed the two instances in the VFS code where an IO context of another team needs to be locked to use mutex_lock_threads_locked(). Before it required a semaphore-based mutex implementation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25283 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0747d47e40a090591b09e6fbf2c750ac7b2359dc |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: added swi taskqueue and a couple more methods that if_xl needs. also marked some as unimplemented so its clearer what is left to be done. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21080 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9628dc45e2c41980924d1de304d4ad053a9cde2a |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: remove arbitrary limit on number of created threads available in taskqueue_start_threads. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21077 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
303a4a3df65bdf47d29c6f7429d523a5a0e8aa1b |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: a couple more changes. a DMA-using driver (FreeBSD's em, Intel Pro 1000) now works without any modifications (it has a fast interrupt mode). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4d281161bad61578fb142f7fd7740e26de0f3f1e |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: respect requested priority in taskqueue_start_threads. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21075 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3f3e58db2051137353eb2cbba79ed579d3e30c13 |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: gcc 4 fixes, it seems __FUNCTION__ is variant. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21074 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
adf9024529bff9fe3633e54b30490d571dafbe4b |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: only init taskqueue_fast if FBSD_FAST_TASKQUEUE requirement is set (since it starts a thread and consumes a couple semaphores). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21073 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
859a95b6c77ee889682b75b942af5f0300d763ff |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: taskqueue implementation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21071 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
25d42ceb99f745c136482397667bc9ebb6bd5013 |
|
08-May-2007 |
Hugo Santos <hugosantos@nowhere.fake> |
freebsd compat. layer: a few more definitions, preparing for a DMA-using driver. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21067 a95241bf-73f2-0310-859d-f6bbb57e9c96
|