[Intel-gfx] [PATCH 0/4] drm/atomic: Lockless blocking commits
Ville Syrjala
ville.syrjala at linux.intel.com
Fri Sep 16 16:33:27 UTC 2022
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
I've talked about making blocking commits lockless a few
times in the past, so here's finally an attempt at it.
The main benefit I see from this is that TEST_ONLY commits
no longer getting blocked on the mutexes by parallel blocking
commits.
I have a small test here that spools up two threads,
one does just TEST_ONLY commits in a loop, the other
does either blocking or non-blocking page flips. Results
came out as follows on a snb machine here:
test-only-vs-non-blocking:
-85319 TEST_ONLY commits in 2000000 usecs, 23 usecs / commit
+87144 TEST_ONLY commits in 2000006 usecs, 22 usecs / commit
test-only-vs-blocking:
-219 TEST_ONLY commits in 2001768 usecs, 9140 usecs / commit
+82442 TEST_ONLY commits in 2000011 usecs, 24 usecs / commit
Now, I have no idea if anyone actually cares about lack
of parallelism due to locked blocking commits or not. Hence
Cc'd some compositor folks as well. I guess this is more of
an RFC at this point.
Also curious to see if CI goes up in smoke or not...
Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Cc: Rob Clark <robdclark at gmail.com>
Cc: Simon Ser <contact at emersion.fr>
Cc: Pekka Paalanen <pekka.paalanen at collabora.com>
Cc: Jonas Ådahl <jadahl at gmail.com>
Ville Syrjälä (4):
drm/atomic: Treat a nonblocking commit following a blocking commit as
blocking commit
drm/i915: Don't reuse commit_work for the cleanup
drm/atomic: Allow lockless blocking commits
drm/i915: Make blocking commits lockless
drivers/gpu/drm/drm_atomic.c | 32 +++++++++++++++++--
drivers/gpu/drm/drm_atomic_helper.c | 19 +++++++----
drivers/gpu/drm/drm_atomic_uapi.c | 11 +++++--
drivers/gpu/drm/i915/display/intel_display.c | 15 +++------
.../drm/i915/display/intel_display_types.h | 1 +
include/drm/drm_atomic.h | 8 +++++
6 files changed, 64 insertions(+), 22 deletions(-)
--
2.35.1
More information about the Intel-gfx
mailing list