History log of /dflybsd-src/sys/dev/drm/include/linux/workqueue.h (Results 1 – 25 of 26)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0
# c17dd299 11-Nov-2020 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Rewrite the workqueue implementation

Most workqueues now use one runner thread per logical CPU, except for
WQ_UNBOUND ones, which only have a single kernel thread.

This commit contains c

drm/linux: Rewrite the workqueue implementation

Most workqueues now use one runner thread per logical CPU, except for
WQ_UNBOUND ones, which only have a single kernel thread.

This commit contains critical fixes from Matthew Dillon for multithread
interaction issues in queue_work() and the cancel functions.

show more ...


Revision tags: v5.8.3, v5.8.2
# 2cecdd68 05-Aug-2020 François Tigeot <ftigeot@wolfpond.org>

drm: Add headers and infrastructure required by Linux 4.13+ code


# e470c808 09-Jun-2020 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Add work_pending()


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1
# 5ef31fe9 15-Feb-2020 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Add drain_workqueue()


Revision tags: v5.6.3
# d4379eb6 04-Jan-2020 Matthew Dillon <dillon@apollo.backplane.com>

drm - Fix workqueue bugs w/recent drm pushes

* The linux workqueue code uses pcpu queues in many situations.
At least one use-case in the recent drm code push can result in
taskqueue_enqueue() c

drm - Fix workqueue bugs w/recent drm pushes

* The linux workqueue code uses pcpu queues in many situations.
At least one use-case in the recent drm code push can result in
taskqueue_enqueue() calls being issued on active tasks to a different
queue, causing (typically) overnight or idle related panics.

* Adjust the linux workqueue code to use the new taskqueue API
functions that supports this behavior.

show more ...


Revision tags: v5.6.2
# 5dfe0225 29-Jun-2019 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Add flush_delayed_work()


Revision tags: v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3
# 9ea58379 03-May-2019 François Tigeot <ftigeot@wolfpond.org>

drm: Do not use PHOLD/PRELE() in flush_taskqueue()


Revision tags: v5.4.2
# eb67213a 26-Mar-2019 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Rewrite the callout_*() API

* Rewrite the entire API from scratch and improve compatibility
with FreeBSD. This is not an attempt to achieve full API compatibility,
as FreeBSD's API has

kernel - Rewrite the callout_*() API

* Rewrite the entire API from scratch and improve compatibility
with FreeBSD. This is not an attempt to achieve full API compatibility,
as FreeBSD's API has unnecessary complexity that coders would frequently
make mistakes interpreting.

* Remove the IPI mechanisms in favor of fine-grained spin-locks instead.

* Add some robustness features in an attempt to track down corrupted
callwheel lists due to originating subsystems freeing structures out
from under an active callout.

* The code supports a full-blown type-stable/adhoc-reuse structural
separation between the front-end and the back-end, but this feature
is currently not operational and may be removed at some future point.
Instead we currently just embed the struct _callout inside the
struct callout.

* Replace callout_stop_sync() with callout_cancel().

* callout_drain() is now implemented as a synchronous cancel instead
of an asynchronous stop, which is closer to the FreeBSD API and
expected operation for ported code (usb stack in particular). We
will just have to fix any deadlocks which we come across.

* Retain our callout_terminate() function as the 'better' way to
stop using a callout, as it will not only cancel the callout but
also de-flag the structure so it can no longer be used.

show more ...


# 341b570d 16-Jan-2019 François Tigeot <ftigeot@wolfpond.org>

drm/linux/workqueue: the internal function is named func

Some driver code expects to be able to access it.


Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2
# 8e5a4c8d 23-May-2018 Imre Vadász <imre@vdsz.com>

drm - No need to protect a callout struct from MP accesses.


Revision tags: v5.2.1
# d6aa1cc5 06-May-2018 François Tigeot <ftigeot@wolfpond.org>

drm: Sync include directives with Linux

* Add a few key include/asm or include/linux headers

* Move some code from .h to .c files in order to avoid clashes
between the DragonFly and Linux variant

drm: Sync include directives with Linux

* Add a few key include/asm or include/linux headers

* Move some code from .h to .c files in order to avoid clashes
between the DragonFly and Linux variants of kmalloc() and kfree()

show more ...


Revision tags: v5.2.0, v5.3.0, v5.2.0rc
# 96b26154 03-Dec-2017 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Add system_unbound_wq


Revision tags: v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1
# 2995d677 02-Jun-2017 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Add work_busy()


# 901e319f 01-Jun-2017 François Tigeot <ftigeot@wolfpond.org>

drm/linux: make flush_work() more robust


Revision tags: v4.8.0, v4.6.2
# 6de42543 14-Mar-2017 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Improve linux/workqueue.h


Revision tags: v4.9.0, v4.8.0rc
# acb1fe1a 20-Feb-2017 Matthew Dillon <dillon@apollo.backplane.com>

drm - Fix major stalls by fixing an improper taskqueue priority

* drm was creating task queues with a LWKT priority of 0, which is
lower than the priority of a running user thread.

* Fix all case

drm - Fix major stalls by fixing an improper taskqueue priority

* drm was creating task queues with a LWKT priority of 0, which is
lower than the priority of a running user thread.

* Fix all cases where improper priorities are passed to
taskqueue_start_threads(). This fixes major video stalls and glitches
that occur when other things might be running on the system cpu-bound.

* taskqueue_start_threads() now asserts if the priority passed to it is
illegal.

show more ...


Revision tags: v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3
# 30e6a973 22-Mar-2016 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Implement flush_work()


Revision tags: v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc
# 591d5043 19-Nov-2015 François Tigeot <ftigeot@wolfpond.org>

drm/radeon: Update to Linux 3.18

Mostly bugfixes and audio refactoring, no new functionalities.

This update has been prepared by Rimvydas Jasinskas.


# 961a6190 23-Oct-2015 François Tigeot <ftigeot@wolfpond.org>

drm: Add linux/lockdep.h


# df8db295 23-Aug-2015 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Improve the workqueue subsystem

Adding some APIs used by the drm/i915 code from Linux 3.17


Revision tags: v4.2.4, v4.3.1
# ba55f2f5 24-Jul-2015 François Tigeot <ftigeot@wolfpond.org>

drm/i915: Update to Linux 3.16

* Much improved support for Broadwell GPUs. Acceleration should now be fully
operational and the giant L4 eDRAM cache is now enabled when present.

* Baytrail/Valley

drm/i915: Update to Linux 3.16

* Much improved support for Broadwell GPUs. Acceleration should now be fully
operational and the giant L4 eDRAM cache is now enabled when present.

* Baytrail/Valleyview support improvements

* prelimary support for Cherryview (14nm Atom SOCs)

* Various fixes and performance improvements on most other GPU generations

* Improved runtime power management

* 5.4GHz DisplayPort support

* Large cursor support (up to 256x256 pixels), useful for high-dpi displays.

* Mapping of user pages into video memory (userptr)
This allows zero-copy downloads and efficient readback to/from the GPU,
allowing faster rendering of client-side software rasterisers, mitigation
of stalls due to read back and faster pipelining of texture data (such as
pixel buffer objects in GL or data blobs in CL). Mixed CPU/GPU operations
become more efficient in general.

show more ...


Revision tags: v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4
# 516c440c 13-Feb-2015 François Tigeot <ftigeot@wolfpond.org>

drm: Update linux/workqueue.h

Obtained-from: FreeBSD's OFED subsystem


# 158486a6 24-May-2015 François Tigeot <ftigeot@wolfpond.org>

drm: Implement and use the Linux version of kfree()


Revision tags: v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0
# 5a3b77d5 15-Oct-2014 François Tigeot <ftigeot@wolfpond.org>

drm: Consolidate memory allocation types

* The DRM subsystem was using many different kmalloc types for no
good reason

* Some types were only used twice (1x kmalloc() and 1x kfree() calls)

* Rem

drm: Consolidate memory allocation types

* The DRM subsystem was using many different kmalloc types for no
good reason

* Some types were only used twice (1x kmalloc() and 1x kfree() calls)

* Remove that useless complexity and only keep one kmalloc type for
the whole DRM subsystem and its drivers

Inspired-by: OpenBSD

show more ...


Revision tags: v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc
# b09aaaa1 03-May-2014 François Tigeot <ftigeot@wolfpond.org>

linux/workqueue.h: Adapt to DragonFly

* Protect callout structures from concurrent operations on MP machines

* Add some functions used by the drm/i915 code from Linux 3.8.x


12