diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-01 17:14:07 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-01 17:14:13 +0000 |
commit | 0e1b7b56b9925d998c836af2afd4e7fb83984b3d (patch) | |
tree | 0db821bda4e1257e391fb2cda94d1611d1092551 /debian/patches-rt/0008-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch | |
parent | Merging upstream version 6.9.7. (diff) | |
download | linux-0e1b7b56b9925d998c836af2afd4e7fb83984b3d.tar.xz linux-0e1b7b56b9925d998c836af2afd4e7fb83984b3d.zip |
Merging debian version 6.9.7-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches-rt/0008-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch')
-rw-r--r-- | debian/patches-rt/0008-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/debian/patches-rt/0008-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch b/debian/patches-rt/0008-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch deleted file mode 100644 index 87797042a6..0000000000 --- a/debian/patches-rt/0008-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> -Date: Wed, 8 Sep 2021 17:18:00 +0200 -Subject: [PATCH 08/10] drm/i915/gt: Queue and wait for the irq_work item. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.9/older/patches-6.9-rt5.tar.xz - -Disabling interrupts and invoking the irq_work function directly breaks -on PREEMPT_RT. -PREEMPT_RT does not invoke all irq_work from hardirq context because -some of the user have spinlock_t locking in the callback function. -These locks are then turned into a sleeping locks which can not be -acquired with disabled interrupts. - -Using irq_work_queue() has the benefit that the irqwork will be invoked -in the regular context. In general there is "no" delay between enqueuing -the callback and its invocation because the interrupt is raised right -away on architectures which support it (which includes x86). - -Use irq_work_queue() + irq_work_sync() instead invoking the callback -directly. - -Reported-by: Clark Williams <williams@redhat.com> -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> -Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> ---- - drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - ---- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c -+++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c -@@ -317,10 +317,9 @@ void __intel_breadcrumbs_park(struct int - /* Kick the work once more to drain the signalers, and disarm the irq */ - irq_work_sync(&b->irq_work); - while (READ_ONCE(b->irq_armed) && !atomic_read(&b->active)) { -- local_irq_disable(); -- signal_irq_work(&b->irq_work); -- local_irq_enable(); -+ irq_work_queue(&b->irq_work); - cond_resched(); -+ irq_work_sync(&b->irq_work); - } - } - |