| #
888678ac |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
linux/workqueue: Draft queue_rcu_work.
|
| #
dfa0e026 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
i915: another whack at it
|
| #
01bf3487 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
stub struct rcu_work
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
| #
883a141f |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
Side-load linux/stringify.h in linux/workqueue.h.
(via linux/timer.h upstream)
|
| #
181b0344 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
alloc_workqueue
|
| #
3c752b2f |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
Stubs for init/destroy delayed work on stack.
|
| #
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.
|
| #
740d45f7 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
Namespacing for system_unbound_wq.
|
| #
6fe9f2d2 |
| 19-Dec-2021 |
riastradh <riastradh@NetBSD.org> |
New system_unbound_wq.
|
| #
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 ...
|
| #
1fca7189 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Avoid the prospect of callout calls piling up.
Don't ever callout_schedule the callout while an existing call may be in progress.
Echo some cases from cancel_delayed_work in flush_delayed_work.
|
| #
68107256 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Fix semantics of flush_work and flush_delayed_work.
- Change return type to void. => Upstream it is bool, but exactly one of hundreds of callers actually use it, and I don't think the semanti
Fix semantics of flush_work and flush_delayed_work.
- Change return type to void. => Upstream it is bool, but exactly one of hundreds of callers actually use it, and I don't think the semantics is clear.
- Make sure to wait for whichever of the current work _and_ the next batch queued is currently there in the workqueue.
- Don't retry a cancelled callout. Cancellation in the state DELAYED_WORK_CANCELLED is guaranteed.
show more ...
|
| #
ddd95367 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Add missing namespace for flush_scheduled_work.
|
| #
9ee469e1 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Draft rewrite of Linux workqueue reimplementation.
Just use an explicit thread; don't attempt to fudge it with workqueue(9). No doubt there are various mistakes in here, but they should be easier t
Draft rewrite of Linux workqueue reimplementation.
Just use an explicit thread; don't attempt to fudge it with workqueue(9). No doubt there are various mistakes in here, but they should be easier to get right than the mega-kludgerific nonsense that preceded this draft.
show more ...
|
| #
876a52a2 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Add system_power_efficient_wq.
|
| #
2ccb6811 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Namespace system_long_wq.
|
| #
94359bca |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Implement flush_delayed_work.
|
| #
1db7f3ec |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Also Linux wants work->func to work.
|
| #
35ff64e8 |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Add mega-kludgerific current_work().
|
| #
ffba132a |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Add system_long_wq.
|
| #
06daeb9e |
| 27-Aug-2018 |
riastradh <riastradh@NetBSD.org> |
Define dummy INIT_WORK_ONSTACK and destroy_work_onstack.
|
| #
62976e36 |
| 24-Feb-2016 |
skrll <skrll@NetBSD.org> |
Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to sys/external/common so that they can be used by others.
LGTM from riastradh@
These should really live outside sys/external, but that
Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to sys/external/common so that they can be used by others.
LGTM from riastradh@
These should really live outside sys/external, but that can be decided later
show more ...
|