intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/9] drm/i915: PREEMPT_RT related fixups.
@ 2025-07-14 15:39 Sebastian Andrzej Siewior
  2025-07-14 15:39 ` [PATCH v4 1/9] drm/i915: Use preempt_disable/enable_rt() where recommended Sebastian Andrzej Siewior
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Sebastian Andrzej Siewior @ 2025-07-14 15:39 UTC (permalink / raw)
  To: intel-gfx, intel-xe
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Thomas Gleixner,
	Tvrtko Ursulin, Scott Oehrlein, Ben Hutchings,
	Sebastian Andrzej Siewior

The following patches are from the PREEMPT_RT queue. They are used by
people using the real-time preemption model and a i915 compatible GPU
card.
Patches 1+2 keep preemption and interrupts enabled within vblank
handling. I don't see another way of handling it given the constrains.
Patch #4 disables i915's tracepoints because they acquire sleeping locks
within the assign callback with is invoked with disabled preemption. 

The remaining patches mostly deal with the API & syntax such as not
test for disabled interrupts but rather use lockdep (#6) or how to
identify atomic context which also causes no errors on PREEMPT_RT (#3,
#6, #7). Patch #5 uses proper spinlock API to disable interrupt instead
of using local_irq_disable() for it.

Some of the patches already received already Acked-by/ Reviewed-by.
Could we please apply some of the series and then discuss the
controversial ones which are not doable?

History:
v3…v4 https://lore.kernel.org/all/20240628130601.1772849-1-bigeasy@linutronix.de/
  - Added patch 8.

v2…v3 https://lore.kernel.org/all/20240613102818.4056866-1-bigeasy@linutronix.de/
  - Collected tags.
  - Added comment to 3/8 explaining why RT is excluded from the test.
  
v1…v2:
  - The tracing disable bits (4/8) have been reworked after Steven pointed out
    that something isn't right.
  - The irq_work() bits have been dropped because they are no longer
    needed.


Mike Galbraith (2):
  drm/i915: Use preempt_disable/enable_rt() where recommended
  drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates

Sebastian Andrzej Siewior (7):
  drm/i915: Don't check for atomic context on PREEMPT_RT
  drm/i915: Disable tracing points on PREEMPT_RT
  drm/i915/gt: Use spin_lock_irq() instead of local_irq_disable() +
    spin_lock()
  drm/i915: Drop the irqs_disabled() check
  drm/i915/guc: Consider also RCU depth in busy loop.
  drm/i915: Consider RCU read section as atomic.
  Revert "drm/i915: Depend on !PREEMPT_RT."

 drivers/gpu/drm/i915/Kconfig                  |  1 -
 drivers/gpu/drm/i915/display/intel_crtc.c     |  9 ++--
 drivers/gpu/drm/i915/display/intel_cursor.c   |  9 ++--
 .../drm/i915/display/intel_display_trace.h    |  4 ++
 drivers/gpu/drm/i915/display/intel_vblank.c   | 49 ++++++++++++++-----
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  2 +-
 .../drm/i915/gt/intel_execlists_submission.c  | 17 ++-----
 drivers/gpu/drm/i915/gt/uc/intel_guc.h        |  2 +-
 drivers/gpu/drm/i915/i915_request.c           |  2 -
 drivers/gpu/drm/i915/i915_trace.h             |  4 ++
 drivers/gpu/drm/i915/i915_utils.h             |  9 +++-
 drivers/gpu/drm/i915/intel_uncore_trace.h     |  4 ++
 12 files changed, 75 insertions(+), 37 deletions(-)

Sebastian

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-08-21 11:17 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-14 15:39 [PATCH v4 0/9] drm/i915: PREEMPT_RT related fixups Sebastian Andrzej Siewior
2025-07-14 15:39 ` [PATCH v4 1/9] drm/i915: Use preempt_disable/enable_rt() where recommended Sebastian Andrzej Siewior
2025-07-14 15:39 ` [PATCH v4 2/9] drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates Sebastian Andrzej Siewior
2025-07-14 15:39 ` [PATCH v4 3/9] drm/i915: Don't check for atomic context on PREEMPT_RT Sebastian Andrzej Siewior
2025-07-14 15:39 ` [PATCH v4 4/9] drm/i915: Disable tracing points " Sebastian Andrzej Siewior
2025-07-15  8:01   ` Maarten Lankhorst
2025-07-15 17:54     ` Ville Syrjälä
2025-07-14 15:39 ` [PATCH v4 5/9] drm/i915/gt: Use spin_lock_irq() instead of local_irq_disable() + spin_lock() Sebastian Andrzej Siewior
2025-07-14 15:39 ` [PATCH v4 6/9] drm/i915: Drop the irqs_disabled() check Sebastian Andrzej Siewior
2025-07-14 15:39 ` [PATCH v4 7/9] drm/i915/guc: Consider also RCU depth in busy loop Sebastian Andrzej Siewior
2025-07-14 15:39 ` [PATCH v4 8/9] drm/i915: Consider RCU read section as atomic Sebastian Andrzej Siewior
2025-07-14 15:39 ` [PATCH v4 9/9] Revert "drm/i915: Depend on !PREEMPT_RT." Sebastian Andrzej Siewior
2025-07-14 18:08 ` ✓ i915.CI.BAT: success for drm/i915: PREEMPT_RT related fixups. (rev13) Patchwork
2025-07-14 21:16 ` ✗ i915.CI.Full: failure " Patchwork
2025-07-21  5:06 ` [PATCH v4 0/9] drm/i915: PREEMPT_RT related fixups Romain Guyard
2025-08-21 11:13   ` Sebastian Andrzej Siewior
2025-08-21 11:17 ` Sebastian Andrzej Siewior

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).