From: Andrzej Hajda <andrzej.hajda@intel.com>
To: Jani Nikula <jani.nikula@linux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>
Cc: netdev@vger.kernel.org, intel-gfx@lists.freedesktop.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
Chris Wilson <chris@chris-wilson.co.uk>,
Eric Dumazet <edumazet@google.com>,
Chris Wilson <chris.p.wilson@intel.com>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Jakub Kicinski <kuba@kernel.org>,
Dmitry Vyukov <dvyukov@google.com>
Subject: [PATCH v4 00/10] drm/i915: use ref_tracker library for tracking wakerefs
Date: Mon, 06 Mar 2023 17:31:57 +0100 [thread overview]
Message-ID: <20230224-track_gt-v4-0-464e8ab4c9ab@intel.com> (raw)
This is revived patchset improving ref_tracker library and converting
i915 internal tracker to ref_tracker.
The old thread ended without consensus about small kernel allocations,
which are performed under spinlock.
I have tried to solve the problem by splitting the calls, but it results
in complicated API, so I went back to original solution.
If there are better solutions I am glad to discuss them.
Meanwhile I send original patchset with addressed remaining comments.
To: Jani Nikula <jani.nikula@linux.intel.com>
To: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
To: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: David Airlie <airlied@gmail.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: linux-kernel@vger.kernel.org
Cc: intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: netdev@vger.kernel.org
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
Changes in v4:
- split "Separate wakeref tracking" to smaller parts
- fixed typos,
- Link to v1-v3: https://patchwork.freedesktop.org/series/100327/
---
Andrzej Hajda (7):
lib/ref_tracker: add unlocked leak print helper
lib/ref_tracker: __ref_tracker_dir_print improve printing
lib/ref_tracker: add printing to memory buffer
lib/ref_tracker: remove warnings in case of allocation failure
drm/i915: Separate wakeref tracking types from rpm
drm/i915: Correct type of wakeref variable
drm/i915: replace Intel internal tracker with kernel core ref_tracker
Chris Wilson (3):
drm/i915: Separate wakeref tracking
drm/i915: Track leaked gt->wakerefs
drm/i915/gt: Hold a wakeref for the active VM
drivers/gpu/drm/i915/Kconfig.debug | 19 ++
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/intel_display_power.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 7 +-
.../drm/i915/gem/selftests/i915_gem_coherency.c | 10 +-
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 14 +-
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 13 +-
drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h | 3 +-
drivers/gpu/drm/i915/gt/intel_context.h | 15 +-
drivers/gpu/drm/i915/gt/intel_context_types.h | 2 +
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 10 +-
drivers/gpu/drm/i915/gt/intel_engine_types.h | 2 +
.../gpu/drm/i915/gt/intel_execlists_submission.c | 2 +-
drivers/gpu/drm/i915/gt/intel_gt_pm.c | 12 +-
drivers/gpu/drm/i915/gt/intel_gt_pm.h | 38 +++-
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 4 +-
drivers/gpu/drm/i915/gt/selftest_engine_cs.c | 20 +-
drivers/gpu/drm/i915/gt/selftest_gt_pm.c | 5 +-
drivers/gpu/drm/i915/gt/selftest_reset.c | 10 +-
drivers/gpu/drm/i915/gt/selftest_rps.c | 17 +-
drivers/gpu/drm/i915/gt/selftest_slpc.c | 5 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 11 +-
drivers/gpu/drm/i915/i915_driver.c | 2 +-
drivers/gpu/drm/i915/i915_pmu.c | 16 +-
drivers/gpu/drm/i915/intel_runtime_pm.c | 221 ++-------------------
drivers/gpu/drm/i915/intel_runtime_pm.h | 11 +-
drivers/gpu/drm/i915/intel_wakeref.c | 7 +-
drivers/gpu/drm/i915/intel_wakeref.h | 112 ++++++++++-
include/linux/ref_tracker.h | 31 ++-
lib/ref_tracker.c | 179 ++++++++++++++---
30 files changed, 469 insertions(+), 332 deletions(-)
---
base-commit: 1ddc2effff762c6a109af52f3c39534c7115aebe
change-id: 20230224-track_gt-1b3da8bdacd7
Best regards,
--
Andrzej Hajda <andrzej.hajda@intel.com>
WARNING: multiple messages have this Message-ID (diff)
From: Andrzej Hajda <andrzej.hajda@intel.com>
To: Jani Nikula <jani.nikula@linux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>
Cc: netdev@vger.kernel.org, intel-gfx@lists.freedesktop.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
Chris Wilson <chris@chris-wilson.co.uk>,
Eric Dumazet <edumazet@google.com>,
Chris Wilson <chris.p.wilson@intel.com>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Jakub Kicinski <kuba@kernel.org>,
Dmitry Vyukov <dvyukov@google.com>
Subject: [Intel-gfx] [PATCH v4 00/10] drm/i915: use ref_tracker library for tracking wakerefs
Date: Mon, 06 Mar 2023 17:31:57 +0100 [thread overview]
Message-ID: <20230224-track_gt-v4-0-464e8ab4c9ab@intel.com> (raw)
This is revived patchset improving ref_tracker library and converting
i915 internal tracker to ref_tracker.
The old thread ended without consensus about small kernel allocations,
which are performed under spinlock.
I have tried to solve the problem by splitting the calls, but it results
in complicated API, so I went back to original solution.
If there are better solutions I am glad to discuss them.
Meanwhile I send original patchset with addressed remaining comments.
To: Jani Nikula <jani.nikula@linux.intel.com>
To: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
To: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: David Airlie <airlied@gmail.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: linux-kernel@vger.kernel.org
Cc: intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: netdev@vger.kernel.org
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
Changes in v4:
- split "Separate wakeref tracking" to smaller parts
- fixed typos,
- Link to v1-v3: https://patchwork.freedesktop.org/series/100327/
---
Andrzej Hajda (7):
lib/ref_tracker: add unlocked leak print helper
lib/ref_tracker: __ref_tracker_dir_print improve printing
lib/ref_tracker: add printing to memory buffer
lib/ref_tracker: remove warnings in case of allocation failure
drm/i915: Separate wakeref tracking types from rpm
drm/i915: Correct type of wakeref variable
drm/i915: replace Intel internal tracker with kernel core ref_tracker
Chris Wilson (3):
drm/i915: Separate wakeref tracking
drm/i915: Track leaked gt->wakerefs
drm/i915/gt: Hold a wakeref for the active VM
drivers/gpu/drm/i915/Kconfig.debug | 19 ++
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/intel_display_power.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 7 +-
.../drm/i915/gem/selftests/i915_gem_coherency.c | 10 +-
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 14 +-
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 13 +-
drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h | 3 +-
drivers/gpu/drm/i915/gt/intel_context.h | 15 +-
drivers/gpu/drm/i915/gt/intel_context_types.h | 2 +
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 10 +-
drivers/gpu/drm/i915/gt/intel_engine_types.h | 2 +
.../gpu/drm/i915/gt/intel_execlists_submission.c | 2 +-
drivers/gpu/drm/i915/gt/intel_gt_pm.c | 12 +-
drivers/gpu/drm/i915/gt/intel_gt_pm.h | 38 +++-
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 4 +-
drivers/gpu/drm/i915/gt/selftest_engine_cs.c | 20 +-
drivers/gpu/drm/i915/gt/selftest_gt_pm.c | 5 +-
drivers/gpu/drm/i915/gt/selftest_reset.c | 10 +-
drivers/gpu/drm/i915/gt/selftest_rps.c | 17 +-
drivers/gpu/drm/i915/gt/selftest_slpc.c | 5 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 11 +-
drivers/gpu/drm/i915/i915_driver.c | 2 +-
drivers/gpu/drm/i915/i915_pmu.c | 16 +-
drivers/gpu/drm/i915/intel_runtime_pm.c | 221 ++-------------------
drivers/gpu/drm/i915/intel_runtime_pm.h | 11 +-
drivers/gpu/drm/i915/intel_wakeref.c | 7 +-
drivers/gpu/drm/i915/intel_wakeref.h | 112 ++++++++++-
include/linux/ref_tracker.h | 31 ++-
lib/ref_tracker.c | 179 ++++++++++++++---
30 files changed, 469 insertions(+), 332 deletions(-)
---
base-commit: 1ddc2effff762c6a109af52f3c39534c7115aebe
change-id: 20230224-track_gt-1b3da8bdacd7
Best regards,
--
Andrzej Hajda <andrzej.hajda@intel.com>
WARNING: multiple messages have this Message-ID (diff)
From: Andrzej Hajda <andrzej.hajda@intel.com>
To: Jani Nikula <jani.nikula@linux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>
Cc: linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org,
Chris Wilson <chris@chris-wilson.co.uk>,
netdev@vger.kernel.org, Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Dmitry Vyukov <dvyukov@google.com>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Chris Wilson <chris.p.wilson@intel.com>
Subject: [PATCH v4 00/10] drm/i915: use ref_tracker library for tracking wakerefs
Date: Mon, 06 Mar 2023 17:31:57 +0100 [thread overview]
Message-ID: <20230224-track_gt-v4-0-464e8ab4c9ab@intel.com> (raw)
This is revived patchset improving ref_tracker library and converting
i915 internal tracker to ref_tracker.
The old thread ended without consensus about small kernel allocations,
which are performed under spinlock.
I have tried to solve the problem by splitting the calls, but it results
in complicated API, so I went back to original solution.
If there are better solutions I am glad to discuss them.
Meanwhile I send original patchset with addressed remaining comments.
To: Jani Nikula <jani.nikula@linux.intel.com>
To: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
To: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: David Airlie <airlied@gmail.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: linux-kernel@vger.kernel.org
Cc: intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: netdev@vger.kernel.org
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
Changes in v4:
- split "Separate wakeref tracking" to smaller parts
- fixed typos,
- Link to v1-v3: https://patchwork.freedesktop.org/series/100327/
---
Andrzej Hajda (7):
lib/ref_tracker: add unlocked leak print helper
lib/ref_tracker: __ref_tracker_dir_print improve printing
lib/ref_tracker: add printing to memory buffer
lib/ref_tracker: remove warnings in case of allocation failure
drm/i915: Separate wakeref tracking types from rpm
drm/i915: Correct type of wakeref variable
drm/i915: replace Intel internal tracker with kernel core ref_tracker
Chris Wilson (3):
drm/i915: Separate wakeref tracking
drm/i915: Track leaked gt->wakerefs
drm/i915/gt: Hold a wakeref for the active VM
drivers/gpu/drm/i915/Kconfig.debug | 19 ++
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/intel_display_power.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 7 +-
.../drm/i915/gem/selftests/i915_gem_coherency.c | 10 +-
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 14 +-
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 13 +-
drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h | 3 +-
drivers/gpu/drm/i915/gt/intel_context.h | 15 +-
drivers/gpu/drm/i915/gt/intel_context_types.h | 2 +
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 10 +-
drivers/gpu/drm/i915/gt/intel_engine_types.h | 2 +
.../gpu/drm/i915/gt/intel_execlists_submission.c | 2 +-
drivers/gpu/drm/i915/gt/intel_gt_pm.c | 12 +-
drivers/gpu/drm/i915/gt/intel_gt_pm.h | 38 +++-
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 4 +-
drivers/gpu/drm/i915/gt/selftest_engine_cs.c | 20 +-
drivers/gpu/drm/i915/gt/selftest_gt_pm.c | 5 +-
drivers/gpu/drm/i915/gt/selftest_reset.c | 10 +-
drivers/gpu/drm/i915/gt/selftest_rps.c | 17 +-
drivers/gpu/drm/i915/gt/selftest_slpc.c | 5 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 11 +-
drivers/gpu/drm/i915/i915_driver.c | 2 +-
drivers/gpu/drm/i915/i915_pmu.c | 16 +-
drivers/gpu/drm/i915/intel_runtime_pm.c | 221 ++-------------------
drivers/gpu/drm/i915/intel_runtime_pm.h | 11 +-
drivers/gpu/drm/i915/intel_wakeref.c | 7 +-
drivers/gpu/drm/i915/intel_wakeref.h | 112 ++++++++++-
include/linux/ref_tracker.h | 31 ++-
lib/ref_tracker.c | 179 ++++++++++++++---
30 files changed, 469 insertions(+), 332 deletions(-)
---
base-commit: 1ddc2effff762c6a109af52f3c39534c7115aebe
change-id: 20230224-track_gt-1b3da8bdacd7
Best regards,
--
Andrzej Hajda <andrzej.hajda@intel.com>
next reply other threads:[~2023-03-06 16:32 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-06 16:31 Andrzej Hajda [this message]
2023-03-06 16:31 ` [PATCH v4 00/10] drm/i915: use ref_tracker library for tracking wakerefs Andrzej Hajda
2023-03-06 16:31 ` [Intel-gfx] " Andrzej Hajda
2023-03-06 16:31 ` [PATCH v4 01/10] lib/ref_tracker: add unlocked leak print helper Andrzej Hajda
2023-03-06 16:31 ` Andrzej Hajda
2023-03-06 16:31 ` [Intel-gfx] " Andrzej Hajda
2023-03-19 22:59 ` Andi Shyti
2023-03-19 22:59 ` Andi Shyti
2023-03-19 22:59 ` Andi Shyti
2023-03-20 15:30 ` Andrzej Hajda
2023-03-20 15:30 ` Andrzej Hajda
2023-03-20 15:30 ` Andrzej Hajda
2023-03-06 16:31 ` [PATCH v4 02/10] lib/ref_tracker: __ref_tracker_dir_print improve printing Andrzej Hajda
2023-03-06 16:31 ` Andrzej Hajda
2023-03-06 16:31 ` [Intel-gfx] " Andrzej Hajda
2023-03-19 23:11 ` Andi Shyti
2023-03-19 23:11 ` Andi Shyti
2023-03-19 23:11 ` Andi Shyti
2023-03-20 15:39 ` Andrzej Hajda
2023-03-20 15:39 ` Andrzej Hajda
2023-03-20 15:39 ` Andrzej Hajda
2023-03-06 16:31 ` [PATCH v4 03/10] lib/ref_tracker: add printing to memory buffer Andrzej Hajda
2023-03-06 16:31 ` Andrzej Hajda
2023-03-06 16:31 ` [Intel-gfx] " Andrzej Hajda
2023-03-19 23:18 ` Andi Shyti
2023-03-19 23:18 ` Andi Shyti
2023-03-19 23:18 ` Andi Shyti
2023-03-20 18:24 ` Andrzej Hajda
2023-03-20 18:24 ` Andrzej Hajda
2023-03-20 18:24 ` Andrzej Hajda
2023-03-06 16:32 ` [PATCH v4 04/10] lib/ref_tracker: remove warnings in case of allocation failure Andrzej Hajda
2023-03-06 16:32 ` Andrzej Hajda
2023-03-06 16:32 ` [Intel-gfx] " Andrzej Hajda
2023-03-19 23:19 ` Andi Shyti
2023-03-19 23:19 ` Andi Shyti
2023-03-19 23:19 ` Andi Shyti
2023-03-06 16:32 ` [PATCH v4 05/10] drm/i915: Separate wakeref tracking types from rpm Andrzej Hajda
2023-03-06 16:32 ` Andrzej Hajda
2023-03-06 16:32 ` [Intel-gfx] " Andrzej Hajda
2023-03-06 16:32 ` [PATCH v4 06/10] drm/i915: Separate wakeref tracking Andrzej Hajda
2023-03-06 16:32 ` Andrzej Hajda
2023-03-06 16:32 ` [Intel-gfx] " Andrzej Hajda
2023-03-19 23:57 ` Andi Shyti
2023-03-19 23:57 ` Andi Shyti
2023-03-19 23:57 ` Andi Shyti
2023-03-20 18:39 ` Andrzej Hajda
2023-03-20 18:39 ` Andrzej Hajda
2023-03-20 18:39 ` Andrzej Hajda
2023-03-06 16:32 ` [PATCH v4 07/10] drm/i915: Track leaked gt->wakerefs Andrzej Hajda
2023-03-06 16:32 ` Andrzej Hajda
2023-03-06 16:32 ` [Intel-gfx] " Andrzej Hajda
2023-03-06 16:32 ` [PATCH v4 08/10] drm/i915: Correct type of wakeref variable Andrzej Hajda
2023-03-06 16:32 ` Andrzej Hajda
2023-03-06 16:32 ` [Intel-gfx] " Andrzej Hajda
2023-03-19 23:58 ` Andi Shyti
2023-03-19 23:58 ` Andi Shyti
2023-03-19 23:58 ` Andi Shyti
2023-03-06 16:32 ` [PATCH v4 09/10] drm/i915: replace Intel internal tracker with kernel core ref_tracker Andrzej Hajda
2023-03-06 16:32 ` Andrzej Hajda
2023-03-06 16:32 ` [Intel-gfx] " Andrzej Hajda
2023-03-06 16:32 ` [PATCH v4 10/10] drm/i915/gt: Hold a wakeref for the active VM Andrzej Hajda
2023-03-06 16:32 ` Andrzej Hajda
2023-03-06 16:32 ` [Intel-gfx] " Andrzej Hajda
2023-03-09 15:37 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: use ref_tracker library for tracking wakerefs (rev5) Patchwork
2023-03-09 16:00 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-03-11 8:27 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-03-17 11:58 ` [Intel-gfx] [PATCH v4 00/10] drm/i915: use ref_tracker library for tracking wakerefs Andrzej Hajda
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=20230224-track_gt-v4-0-464e8ab4c9ab@intel.com \
--to=andrzej.hajda@intel.com \
--cc=airlied@gmail.com \
--cc=chris.p.wilson@intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=dvyukov@google.com \
--cc=edumazet@google.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=tvrtko.ursulin@linux.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.