History log of /netbsd-src/sys/external/bsd/common/linux/linux_work.c (Results 1 – 25 of 61)
Revision Date Author Comments
# 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.


123