From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 04/11] drm/i915: Amalgamate GGTT/ppGTT vma debug list walkers
Date: Thu, 17 Dec 2015 11:21:28 +0000 [thread overview]
Message-ID: <56729AB8.8050007@linux.intel.com> (raw)
In-Reply-To: <1450093012-14955-4-git-send-email-chris@chris-wilson.co.uk>
On 14/12/15 11:36, Chris Wilson wrote:
> As we can now have multiple VMA inside the global GTT (with partial
> mappings, rotations, etc), it is no longer true that there may just be a
> single GGTT entry and so we should walk the full vma_list to count up
> the actual usage. In addition to unifying the two walkers, switch from
> multiplying the object size for each vma to summing the bound vma sizes.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 46 +++++++++++++++----------------------
> 1 file changed, 18 insertions(+), 28 deletions(-)
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index fdcf90757eb0..c04ba9981e9b 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -332,6 +332,7 @@ static int per_file_stats(int id, void *ptr, void *data)
> struct drm_i915_gem_object *obj = ptr;
> struct file_stats *stats = data;
> struct i915_vma *vma;
> + int bound = 0;
>
> stats->count++;
> stats->total += obj->base.size;
> @@ -339,41 +340,30 @@ static int per_file_stats(int id, void *ptr, void *data)
> if (obj->base.name || obj->base.dma_buf)
> stats->shared += obj->base.size;
>
> - if (USES_FULL_PPGTT(obj->base.dev)) {
> - list_for_each_entry(vma, &obj->vma_list, obj_link) {
> - struct i915_hw_ppgtt *ppgtt;
> + list_for_each_entry(vma, &obj->vma_list, obj_link) {
> + if (!drm_mm_node_allocated(&vma->node))
> + continue;
>
> - if (!drm_mm_node_allocated(&vma->node))
> - continue;
> + bound++;
>
> - if (i915_is_ggtt(vma->vm)) {
> - stats->global += obj->base.size;
> - continue;
> - }
> -
> - ppgtt = container_of(vma->vm, struct i915_hw_ppgtt, base);
> + if (i915_is_ggtt(vma->vm)) {
> + stats->global += vma->node.size;
> + } else {
> + struct i915_hw_ppgtt *ppgtt
> + = container_of(vma->vm,
> + struct i915_hw_ppgtt,
> + base);
> if (ppgtt->file_priv != stats->file_priv)
> continue;
> -
> - if (obj->active) /* XXX per-vma statistic */
> - stats->active += obj->base.size;
> - else
> - stats->inactive += obj->base.size;
> -
> - return 0;
> - }
> - } else {
> - if (i915_gem_obj_ggtt_bound(obj)) {
> - stats->global += obj->base.size;
> - if (obj->active)
> - stats->active += obj->base.size;
> - else
> - stats->inactive += obj->base.size;
> - return 0;
> }
> +
> + if (obj->active) /* XXX per-vma statistic */
> + stats->active += vma->node.size;
> + else
> + stats->inactive += vma->node.size;
> }
>
> - if (!list_empty(&obj->global_list))
> + if (!bound)
> stats->unbound += obj->base.size;
>
> return 0;
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-12-17 11:21 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-14 11:36 [PATCH 01/11] drm/i915: Introduce drm_i915_gem_request_node for request tracking Chris Wilson
2015-12-14 11:36 ` [PATCH 02/11] drm/i915: Refactor activity tracking for requests Chris Wilson
2015-12-16 17:16 ` Tvrtko Ursulin
2015-12-16 17:31 ` Chris Wilson
2015-12-14 11:36 ` [PATCH 03/11] drm/i915: Rename vma->*_list to *_link for consistency Chris Wilson
2015-12-17 11:14 ` Tvrtko Ursulin
2015-12-17 11:24 ` Chris Wilson
2015-12-17 11:45 ` Chris Wilson
2015-12-14 11:36 ` [PATCH 04/11] drm/i915: Amalgamate GGTT/ppGTT vma debug list walkers Chris Wilson
2015-12-17 11:21 ` Tvrtko Ursulin [this message]
2015-12-14 11:36 ` [PATCH 05/11] drm/i915: Reduce the pointer dance of i915_is_ggtt() Chris Wilson
2015-12-17 11:31 ` Tvrtko Ursulin
2015-12-14 11:36 ` [PATCH 06/11] drm/i915: Store owning file on the i915_address_space Chris Wilson
2015-12-17 11:52 ` Tvrtko Ursulin
2015-12-17 13:25 ` Chris Wilson
2015-12-14 11:36 ` [PATCH 07/11] drm/i915: i915_vma_move_to_active prep patch Chris Wilson
2015-12-17 12:04 ` Tvrtko Ursulin
2015-12-14 11:36 ` [PATCH 08/11] drm/i915: Track active vma requests Chris Wilson
2015-12-17 12:26 ` Tvrtko Ursulin
2015-12-14 11:36 ` [PATCH 09/11] drm/i915: Release vma when the handle is closed Chris Wilson
2015-12-17 13:46 ` Tvrtko Ursulin
2015-12-17 14:11 ` Chris Wilson
2015-12-17 14:21 ` Chris Wilson
2015-12-17 14:32 ` Tvrtko Ursulin
2015-12-14 11:36 ` [PATCH 10/11] drm/i915: Mark the context and address space as closed Chris Wilson
2015-12-17 12:37 ` Tvrtko Ursulin
2015-12-17 12:39 ` Tvrtko Ursulin
2015-12-17 12:48 ` Chris Wilson
2015-12-17 13:26 ` Tvrtko Ursulin
2015-12-17 14:15 ` Tvrtko Ursulin
2015-12-17 14:26 ` Chris Wilson
2015-12-17 14:35 ` Tvrtko Ursulin
2015-12-14 11:36 ` [PATCH 11/11] Revert "drm/i915: Clean up associated VMAs on context destruction" Chris Wilson
2015-12-14 15:58 ` [PATCH 01/11] drm/i915: Introduce drm_i915_gem_request_node for request tracking Tvrtko Ursulin
2015-12-14 16:11 ` Chris Wilson
2015-12-15 10:51 ` [PATCH v2] drm/i915: Introduce drm_i915_gem_request_active " Chris Wilson
2015-12-17 14:48 ` ✗ failure: UK.CI.checkpatch.pl Patchwork
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=56729AB8.8050007@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 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.