#
04caf091 |
| 09-Apr-2022 |
riastradh <riastradh@NetBSD.org> |
linux: Convert various API shims to use membar_release/acquire.
|
#
42de2e1b |
| 31-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
drm: Convert noisy flush_workqueue message to dtrace probe.
|
#
f61787a1 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
linux: Downgrade warning about flushing from workqueue to debug.
|
#
e606f3ec |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
linux: Make flush_workqueue a noop if run from the workqueue.
I think this matches Linux semantics but this is very much not clear and not written down anywhere obvious and why is this such a semant
linux: Make flush_workqueue a noop if run from the workqueue.
I think this matches Linux semantics but this is very much not clear and not written down anywhere obvious and why is this such a semantically incoherent mess.
show more ...
|
#
7e01b53d |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
linux: Fix flush_workqueue.
Simplify mechanism: we know there's only a single thread here that processes scheduled work in FIFO order (no multi-CPU workqueues -- would have to adapt if there were),
linux: Fix flush_workqueue.
Simplify mechanism: we know there's only a single thread here that processes scheduled work in FIFO order (no multi-CPU workqueues -- would have to adapt if there were), so just schedule a work item that notifies of completion. The previous mechanism of counting 0, 1, or 2 generation numbers was broken by an earlier change to avoid abuse of tailqs arising from clever TAILQ_CONCAT.
show more ...
|
#
77b2b90d |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
linux: Update workqueue flush to reflect TAILQ_CONCAT change.
|
#
888678ac |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
linux/workqueue: Draft queue_rcu_work.
|
#
4f49735f |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
linux/workqueue: Use atomic_load/store.
|
#
dfa0e026 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
i915: another whack at it
|
#
181b0344 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
alloc_workqueue
|
#
23727e60 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
Constify work_pending, delayed_work_pending.
|
#
504d2eb4 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
drain_workqueue
|
#
f7bdb0aa |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
Add work_pending, delayed_work_pending.
|
#
2ba00858 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
Implement return value of flush_work, flush_delayed_work.
|
#
6fe9f2d2 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
New system_unbound_wq.
|
#
f9418100 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
Fix copypasta in error branch.
XXX pullup to HEAD
|
#
285f2419 |
| 01-Feb-2020 |
riastradh <riastradh@NetBSD.org> |
Fix abuse of TAILQ_CONCAT.
Other parts of this expect that the entries will be on wq->wq_queue or wq->wq_dqueue, so we can't just move a batch of entries onto a temporary queue. Instead, use a mark
Fix abuse of TAILQ_CONCAT.
Other parts of this expect that the entries will be on wq->wq_queue or wq->wq_dqueue, so we can't just move a batch of entries onto a temporary queue. Instead, use a marker node to delimit when the batch ends.
XXX pullup
show more ...
|
#
282b3410 |
| 19-Mar-2019 |
ryo <ryo@NetBSD.org> |
- dwc2 need calling linux_workqueue_init() to avoid panic. - use INIT_ONCE/FINI_ONCE to linux_workqueue_{init,fini}() for being called from dwc2.
TODO: dwc2 should be written as kernel module depeng
- dwc2 need calling linux_workqueue_init() to avoid panic. - use INIT_ONCE/FINI_ONCE to linux_workqueue_{init,fini}() for being called from dwc2.
TODO: dwc2 should be written as kernel module depenging on a linux module.
show more ...
|
#
95fc21bf |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Workqueue lock must be at IPL_VM for use in interrupts, duh.
|
#
70435d93 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Don't skimp on the last batch of work when worker is dying.
This is capitalism. We can't afford to waste time the worker could spend on labour even if we work 'em to death!
|
#
ccfee5f7 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Sprinkle dtrace probes all over the Linux workqueue stuff.
|
#
0466378a |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Fix post-cancellation case of queue_delayed_work.
Request the callout queue immediately, as if it hadn't been cancelled at all, rather than reschedule for the next tick.
|
#
e27b3435 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Rework Linux workqueue synchronization yet again.
- Use a low bit in the pointer to the queue, rather than whether the pointer is null or not, to determine whether the work item is queued/schedu
Rework Linux workqueue synchronization yet again.
- Use a low bit in the pointer to the queue, rather than whether the pointer is null or not, to determine whether the work item is queued/scheduled.
- _Preserve_ the pointer to the queue after we release the work.
- Release the work _before_ executing the function, not after.
This simplifies some things: we no longer have to distinguish whether the work is queued or running in the functions where we are trying to modify it. The pointer has to be preserved even after the work is released so that we can flush the workqueue after the work has been released.
show more ...
|
#
a1c732f3 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Fix flush_delayed_work semantics: run it now if it was scheduled.
|
#
168b5894 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Reorder fields to get better space savings than bit fields.
|