|
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
|