From: Jani Nikula <jani.nikula@linux.intel.com>
To: Luca Coelho <luciano.coelho@intel.com>, intel-gfx@lists.freedesktop.org
Cc: rodrigo.vivi@intel.com
Subject: Re: [Intel-gfx] [PATCH v5 0/3] drm/i915: implement internal workqueues
Date: Thu, 08 Jun 2023 12:14:49 +0300 [thread overview]
Message-ID: <87o7lqs4c6.fsf@intel.com> (raw)
In-Reply-To: <20230606163942.330052-1-luciano.coelho@intel.com>
On Tue, 06 Jun 2023, Luca Coelho <luciano.coelho@intel.com> wrote:
> Hi,
>
> This series implements internal workqueues in the i915 driver in order
> to avoid using the system queue. We add one generic workqueue in the
> drm_i915_private structure, one specific for wake references and one
> in a self-test.
>
> This is based on Tetsuo's work[1] and is required to get rid of the
> flush_scheduled_work() usage.
>
> As discussed, we can either take Tetsuo's implementation first, which
> uses a module-global workqueue, and then my series on top of that, to
> change the implementation to per-device workqueues, or apply my series
> directly. And a third option would be to keep the workqueue as
> module-global. I'm fine with any of this options. It's up to the
> maintainers to decide which one to take.
>
> In v2:
> * Removed per-engine workqueue and wakeref-specific queue;
> * Renamed the workqueue name from "i915-wq" to "unordered_wq";
> * Added comment about when the new workqueue should be used;
> * Changed wakeref structs to store i915 instead of rpm;
>
> In v3:
> * Fixed queue to destroy in the init error path;
> * Improved the new queue's description a bit;
> * Removed stray empty-line removal;
>
> In v4:
> * Fixed the queue used in __intel_wakeref_put_last(), we were
> accidentally using the ordered workqueue. Thanks, Tvrtko!
>
> In v5:
> * Fix compilation error cause by change from dev_priv to i915 in
> intel_hdcp_enable().
>
> Please review.
mock i915 device also needs to have
i915->unordered_wq. mock_gem_device() in selftests/mock_gem_device.c
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118947v2/shard-apl1/igt@i915_selftest@mock@requests.html
BR,
Jani.
>
> [1] https://patchwork.freedesktop.org/series/114608/
>
> Cheers,
> Luca.
>
>
> Luca Coelho (3):
> drm/i915: use pointer to i915 instead of rpm in wakeref
> drm/i915: add a dedicated workqueue inside drm_i915_private
> drm/i915/selftests: add local workqueue for SW fence selftest
>
> drivers/gpu/drm/i915/display/intel_display.c | 5 ++--
> .../drm/i915/display/intel_display_driver.c | 2 +-
> drivers/gpu/drm/i915/display/intel_dmc.c | 2 +-
> drivers/gpu/drm/i915/display/intel_dp.c | 2 +-
> .../drm/i915/display/intel_dp_link_training.c | 3 ++-
> drivers/gpu/drm/i915/display/intel_drrs.c | 4 +++-
> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
> drivers/gpu/drm/i915/display/intel_fbdev.c | 3 ++-
> drivers/gpu/drm/i915/display/intel_hdcp.c | 23 +++++++++++--------
> drivers/gpu/drm/i915/display/intel_hotplug.c | 18 ++++++++++-----
> drivers/gpu/drm/i915/display/intel_opregion.c | 3 ++-
> drivers/gpu/drm/i915/display/intel_pps.c | 4 +++-
> drivers/gpu/drm/i915/display/intel_psr.c | 8 ++++---
> drivers/gpu/drm/i915/gt/intel_engine_pm.c | 4 +---
> .../drm/i915/gt/intel_execlists_submission.c | 5 ++--
> .../gpu/drm/i915/gt/intel_gt_buffer_pool.c | 10 ++++----
> drivers/gpu/drm/i915/gt/intel_gt_irq.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_gt_pm.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_gt_requests.c | 10 ++++----
> drivers/gpu/drm/i915/gt/intel_reset.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_rps.c | 20 ++++++++--------
> drivers/gpu/drm/i915/gt/selftest_engine_cs.c | 2 +-
> drivers/gpu/drm/i915/i915_driver.c | 13 +++++++++++
> drivers/gpu/drm/i915/i915_drv.h | 10 ++++++++
> drivers/gpu/drm/i915/i915_request.c | 2 +-
> drivers/gpu/drm/i915/intel_runtime_pm.c | 2 +-
> drivers/gpu/drm/i915/intel_wakeref.c | 22 ++++++++++--------
> drivers/gpu/drm/i915/intel_wakeref.h | 12 +++++-----
> .../gpu/drm/i915/selftests/i915_sw_fence.c | 16 ++++++++++---
> 29 files changed, 136 insertions(+), 77 deletions(-)
--
Jani Nikula, Intel Open Source Graphics Center
prev parent reply other threads:[~2023-06-08 9:14 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-06 16:39 [Intel-gfx] [PATCH v5 0/3] drm/i915: implement internal workqueues Luca Coelho
2023-06-06 16:39 ` [Intel-gfx] [PATCH v5 1/3] drm/i915: use pointer to i915 instead of rpm in wakeref Luca Coelho
2023-06-06 16:39 ` [Intel-gfx] [PATCH v5 2/3] drm/i915: add a dedicated workqueue inside drm_i915_private Luca Coelho
2023-06-08 8:25 ` Jani Nikula
2023-06-06 16:39 ` [Intel-gfx] [PATCH v5 3/3] drm/i915/selftests: add local workqueue for SW fence selftest Luca Coelho
2023-06-06 18:56 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: implement internal workqueues (rev2) Patchwork
2023-06-06 18:56 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-06-06 19:07 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-06-07 8:34 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2023-06-08 9:14 ` Tvrtko Ursulin
2023-06-08 1:59 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: implement internal workqueues (rev3) Patchwork
2023-06-08 1:59 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-06-08 2:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-06-08 9:14 ` Jani Nikula [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o7lqs4c6.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=luciano.coelho@intel.com \
--cc=rodrigo.vivi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.