From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 19/40] drm/i915: Remove debugfs/i915_ppgtt_info
Date: Mon, 24 Sep 2018 13:03:16 +0100 [thread overview]
Message-ID: <aa38c048-9bd1-0c4c-99bf-63e97c6a3ea4@linux.intel.com> (raw)
In-Reply-To: <20180919195544.1511-19-chris@chris-wilson.co.uk>
On 19/09/2018 20:55, Chris Wilson wrote:
> The information presented here is not relevant to current development.
> We can either use the context information, but more often we want to
> inspect the active gpu state.
>
> The ulterior motive is to eradicate dev->filelist.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 119 ----------------------------
> 1 file changed, 119 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 6b5cc30f3e09..39f319c49def 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2035,124 +2035,6 @@ static int i915_swizzle_info(struct seq_file *m, void *data)
> return 0;
> }
>
> -static int per_file_ctx(int id, void *ptr, void *data)
> -{
> - struct i915_gem_context *ctx = ptr;
> - struct seq_file *m = data;
> - struct i915_hw_ppgtt *ppgtt = ctx->ppgtt;
> -
> - if (!ppgtt) {
> - seq_printf(m, " no ppgtt for context %d\n",
> - ctx->user_handle);
> - return 0;
> - }
> -
> - if (i915_gem_context_is_default(ctx))
> - seq_puts(m, " default context:\n");
> - else
> - seq_printf(m, " context %d:\n", ctx->user_handle);
> - ppgtt->debug_dump(ppgtt, m);
> -
> - return 0;
> -}
> -
> -static void gen8_ppgtt_info(struct seq_file *m,
> - struct drm_i915_private *dev_priv)
> -{
> - struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt;
> - struct intel_engine_cs *engine;
> - enum intel_engine_id id;
> - int i;
> -
> - if (!ppgtt)
> - return;
> -
> - for_each_engine(engine, dev_priv, id) {
> - seq_printf(m, "%s\n", engine->name);
> - for (i = 0; i < 4; i++) {
> - u64 pdp = I915_READ(GEN8_RING_PDP_UDW(engine, i));
> - pdp <<= 32;
> - pdp |= I915_READ(GEN8_RING_PDP_LDW(engine, i));
> - seq_printf(m, "\tPDP%d 0x%016llx\n", i, pdp);
> - }
> - }
> -}
> -
> -static void gen6_ppgtt_info(struct seq_file *m,
> - struct drm_i915_private *dev_priv)
> -{
> - struct intel_engine_cs *engine;
> - enum intel_engine_id id;
> -
> - if (IS_GEN6(dev_priv))
> - seq_printf(m, "GFX_MODE: 0x%08x\n", I915_READ(GFX_MODE));
> -
> - for_each_engine(engine, dev_priv, id) {
> - seq_printf(m, "%s\n", engine->name);
> - if (IS_GEN7(dev_priv))
> - seq_printf(m, "GFX_MODE: 0x%08x\n",
> - I915_READ(RING_MODE_GEN7(engine)));
> - seq_printf(m, "PP_DIR_BASE: 0x%08x\n",
> - I915_READ(RING_PP_DIR_BASE(engine)));
> - seq_printf(m, "PP_DIR_BASE_READ: 0x%08x\n",
> - I915_READ(RING_PP_DIR_BASE_READ(engine)));
> - seq_printf(m, "PP_DIR_DCLV: 0x%08x\n",
> - I915_READ(RING_PP_DIR_DCLV(engine)));
> - }
> - if (dev_priv->mm.aliasing_ppgtt) {
> - struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt;
> -
> - seq_puts(m, "aliasing PPGTT:\n");
> - seq_printf(m, "pd gtt offset: 0x%08x\n", ppgtt->pd.base.ggtt_offset);
> -
> - ppgtt->debug_dump(ppgtt, m);
> - }
> -
> - seq_printf(m, "ECOCHK: 0x%08x\n", I915_READ(GAM_ECOCHK));
> -}
> -
> -static int i915_ppgtt_info(struct seq_file *m, void *data)
> -{
> - struct drm_i915_private *dev_priv = node_to_i915(m->private);
> - struct drm_device *dev = &dev_priv->drm;
> - struct drm_file *file;
> - int ret;
> -
> - mutex_lock(&dev->filelist_mutex);
> - ret = mutex_lock_interruptible(&dev->struct_mutex);
> - if (ret)
> - goto out_unlock;
> -
> - intel_runtime_pm_get(dev_priv);
> -
> - if (INTEL_GEN(dev_priv) >= 8)
> - gen8_ppgtt_info(m, dev_priv);
> - else if (INTEL_GEN(dev_priv) >= 6)
> - gen6_ppgtt_info(m, dev_priv);
> -
> - list_for_each_entry_reverse(file, &dev->filelist, lhead) {
> - struct drm_i915_file_private *file_priv = file->driver_priv;
> - struct task_struct *task;
> -
> - task = get_pid_task(file->pid, PIDTYPE_PID);
> - if (!task) {
> - ret = -ESRCH;
> - goto out_rpm;
> - }
> - seq_printf(m, "\nproc: %s\n", task->comm);
> - put_task_struct(task);
> - idr_for_each(&file_priv->context_idr, per_file_ctx,
> - (void *)(unsigned long)m);
> - }
> -
> -out_rpm:
> - intel_runtime_pm_put(dev_priv);
> - mutex_unlock(&dev->struct_mutex);
> -out_unlock:
> - mutex_unlock(&dev->filelist_mutex);
> - return ret;
> -}
> -
> static int count_irq_waiters(struct drm_i915_private *i915)
> {
> struct intel_engine_cs *engine;
> @@ -4741,7 +4623,6 @@ static const struct drm_info_list i915_debugfs_list[] = {
> {"i915_context_status", i915_context_status, 0},
> {"i915_forcewake_domains", i915_forcewake_domains, 0},
> {"i915_swizzle_info", i915_swizzle_info, 0},
> - {"i915_ppgtt_info", i915_ppgtt_info, 0},
> {"i915_llc", i915_llc, 0},
> {"i915_edp_psr_status", i915_edp_psr_status, 0},
> {"i915_energy_uJ", i915_energy_uJ, 0},
>
Looks like it could only be useful maybe during development. So hiding
it under the GEM_DEBUG would also work for me. If someone thinks they
could need it.. run the question past some people who worked in the page
table area?
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-09-24 12:04 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-19 19:55 [PATCH 01/40] drm: Use default dma_fence hooks where possible for null syncobj Chris Wilson
2018-09-19 19:55 ` [PATCH 02/40] drm: Fix syncobj handing of schedule() returning 0 Chris Wilson
2018-09-20 14:13 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 03/40] drm/i915/selftests: Live tests emit requests and so require rpm Chris Wilson
2018-09-20 14:01 ` Tvrtko Ursulin
2018-09-20 14:47 ` Chris Wilson
2018-09-19 19:55 ` [PATCH 04/40] drm/i915: Park the GPU on module load Chris Wilson
2018-09-20 14:02 ` Tvrtko Ursulin
2018-09-20 14:52 ` Chris Wilson
2018-09-19 19:55 ` [PATCH 05/40] drm/i915: Handle incomplete Z_FINISH for compressed error states Chris Wilson
2018-09-19 19:55 ` [PATCH 06/40] drm/i915: Clear the error PTE just once on finish Chris Wilson
2018-09-19 19:55 ` [PATCH 07/40] drm/i915: Cache the error string Chris Wilson
2018-09-19 19:55 ` [PATCH 08/40] drm/i915/execlists: Avoid kicking priority on the current context Chris Wilson
2018-09-19 19:55 ` [PATCH 09/40] drm/i915/selftests: Free the batch along the contexts error path Chris Wilson
2018-09-20 8:30 ` Mika Kuoppala
2018-09-20 8:36 ` Chris Wilson
2018-09-20 9:19 ` Mika Kuoppala
2018-09-19 19:55 ` [PATCH 10/40] drm/i915/selftests: Basic stress test for rapid context switching Chris Wilson
2018-09-20 10:38 ` Mika Kuoppala
2018-09-20 10:46 ` Chris Wilson
2018-09-19 19:55 ` [PATCH 11/40] drm/i915/execlists: Onion unwind for logical_ring_init() failure Chris Wilson
2018-09-20 14:18 ` Mika Kuoppala
2018-09-20 14:21 ` Tvrtko Ursulin
2018-09-20 19:59 ` Chris Wilson
2018-09-21 10:00 ` Tvrtko Ursulin
2018-09-21 10:01 ` Chris Wilson
2018-09-19 19:55 ` [PATCH 12/40] drm/i915/execlists: Assert the queue is non-empty on unsubmitting Chris Wilson
2018-09-24 9:07 ` Tvrtko Ursulin
2018-09-25 7:41 ` Chris Wilson
2018-09-25 8:51 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 13/40] drm/i915: Reserve some priority bits for internal use Chris Wilson
2018-09-24 9:12 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 14/40] drm/i915: Combine multiple internal plists into the same i915_priolist bucket Chris Wilson
2018-09-24 10:25 ` Tvrtko Ursulin
2018-09-25 7:55 ` Chris Wilson
2018-09-19 19:55 ` [PATCH 15/40] drm/i915: Priority boost for new clients Chris Wilson
2018-09-24 10:29 ` Tvrtko Ursulin
2018-09-25 8:01 ` Chris Wilson
2018-09-25 8:26 ` Chris Wilson
2018-09-25 8:57 ` Tvrtko Ursulin
2018-09-25 9:06 ` Chris Wilson
2018-09-25 9:08 ` Tvrtko Ursulin
2018-09-25 11:20 ` Michal Wajdeczko
2018-09-19 19:55 ` [PATCH 16/40] drm/i915: Pull scheduling under standalone lock Chris Wilson
2018-09-24 11:19 ` Tvrtko Ursulin
2018-09-25 8:19 ` Chris Wilson
2018-09-25 9:01 ` Tvrtko Ursulin
2018-09-25 9:10 ` Chris Wilson
2018-09-25 9:19 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 17/40] drm/i915: Priority boost for waiting clients Chris Wilson
2018-09-24 11:29 ` Tvrtko Ursulin
2018-09-25 9:00 ` Chris Wilson
2018-09-25 9:07 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 18/40] drm/i915: Report the number of closed vma held by each context in debugfs Chris Wilson
2018-09-24 11:57 ` Tvrtko Ursulin
2018-09-25 12:20 ` Chris Wilson
2018-09-19 19:55 ` [PATCH 19/40] drm/i915: Remove debugfs/i915_ppgtt_info Chris Wilson
2018-09-24 12:03 ` Tvrtko Ursulin [this message]
2018-09-19 19:55 ` [PATCH 20/40] drm/i915: Track all held rpm wakerefs Chris Wilson
2018-09-19 19:55 ` [PATCH 21/40] drm/i915: Markup paired operations on wakerefs Chris Wilson
2018-09-19 19:55 ` [PATCH 22/40] drm/i915: Syntatic sugar for using intel_runtime_pm Chris Wilson
2018-09-24 12:08 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 23/40] drm/i915: Markup paired operations on display power domains Chris Wilson
2018-09-19 19:55 ` [PATCH 24/40] drm/i915: Track the wakeref used to initialise " Chris Wilson
2018-09-19 19:55 ` [PATCH 25/40] drm/i915/dp: Markup pps lock power well Chris Wilson
2018-09-19 19:55 ` [PATCH 26/40] drm/i915: Complain if hsw_get_pipe_config acquires the same power well twice Chris Wilson
2018-09-19 19:55 ` [PATCH 27/40] drm/i915: Mark up Ironlake ips with rpm wakerefs Chris Wilson
2018-09-19 19:55 ` [PATCH 28/40] drm/i915: Serialise concurrent calls to i915_gem_set_wedged() Chris Wilson
2018-09-19 19:55 ` [PATCH 29/40] drm/i915: Differentiate between ggtt->mutex and ppgtt->mutex Chris Wilson
2018-09-24 13:04 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 30/40] drm/i915: Pull all the reset functionality together into i915_reset.c Chris Wilson
2018-09-19 19:55 ` [PATCH 31/40] drm/i915: Make all GPU resets atomic Chris Wilson
2018-09-19 19:55 ` [PATCH 32/40] drm/i915: Introduce the i915_user_extension_method Chris Wilson
2018-09-24 13:20 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 33/40] drm/i915: Extend CREATE_CONTEXT to allow inheritance ala clone() Chris Wilson
2018-09-24 17:22 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 34/40] drm/i915: Allow contexts to share a single timeline across all engines Chris Wilson
2018-09-25 8:45 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 35/40] drm/i915: Fix I915_EXEC_RING_MASK Chris Wilson
2018-09-25 8:46 ` [Intel-gfx] " Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 36/40] drm/i915: Re-arrange execbuf so context is known before engine Chris Wilson
2018-09-19 19:55 ` [PATCH 37/40] drm/i915: Allow a context to define its set of engines Chris Wilson
2018-09-27 11:28 ` Tvrtko Ursulin
2018-09-28 20:22 ` Chris Wilson
2018-10-01 8:30 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 38/40] drm/i915/execlists: Flush the CS events before unpinning Chris Wilson
2018-10-01 10:51 ` Tvrtko Ursulin
2018-10-01 11:06 ` Chris Wilson
2018-10-01 13:15 ` Tvrtko Ursulin
2018-10-01 13:26 ` Chris Wilson
2018-10-01 14:03 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 39/40] drm/i915/execlists: Refactor out can_merge_rq() Chris Wilson
2018-09-27 11:32 ` Tvrtko Ursulin
2018-09-28 20:11 ` Chris Wilson
2018-10-01 8:14 ` Tvrtko Ursulin
2018-10-01 8:18 ` Chris Wilson
2018-10-01 10:18 ` Tvrtko Ursulin
2018-09-19 19:55 ` [PATCH 40/40] drm/i915: Load balancing across a virtual engine Chris Wilson
2018-10-01 11:37 ` Tvrtko Ursulin
2018-09-19 21:54 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/40] drm: Use default dma_fence hooks where possible for null syncobj Patchwork
2018-09-19 22:08 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-09-19 22:17 ` ✗ Fi.CI.BAT: failure " Patchwork
2018-09-20 13:34 ` [PATCH 01/40] " Tvrtko Ursulin
2018-09-20 13:40 ` Chris Wilson
2018-09-20 13:54 ` Tvrtko Ursulin
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=aa38c048-9bd1-0c4c-99bf-63e97c6a3ea4@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
/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 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).