* [PATCH 1/2] drm/i915: Show pin mapped status in describe_obj @ 2016-04-14 11:57 Tvrtko Ursulin 2016-04-14 11:57 ` [PATCH 2/2] drm/i915: Show pin mapped counts and sizes in debugfs Tvrtko Ursulin 2016-04-14 17:25 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Show pin mapped status in describe_obj Patchwork 0 siblings, 2 replies; 4+ messages in thread From: Tvrtko Ursulin @ 2016-04-14 11:57 UTC (permalink / raw) To: Intel-gfx From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reflect the status of obj->mapping as added with the i915_gem_object_pin_map API. 'M' was chosen to designate the pin mapped status. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_debugfs.c | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 46cc03b60183..9302a6961d04 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -89,27 +89,34 @@ static int i915_capabilities(struct seq_file *m, void *data) return 0; } -static const char *get_pin_flag(struct drm_i915_gem_object *obj) +static const char get_active_flag(struct drm_i915_gem_object *obj) { - if (obj->pin_display) - return "p"; - else - return " "; + return obj->active ? '*' : ' '; +} + +static const char get_pin_flag(struct drm_i915_gem_object *obj) +{ + return obj->pin_display ? 'p' : ' '; } -static const char *get_tiling_flag(struct drm_i915_gem_object *obj) +static const char get_tiling_flag(struct drm_i915_gem_object *obj) { switch (obj->tiling_mode) { default: - case I915_TILING_NONE: return " "; - case I915_TILING_X: return "X"; - case I915_TILING_Y: return "Y"; + case I915_TILING_NONE: return ' '; + case I915_TILING_X: return 'X'; + case I915_TILING_Y: return 'Y'; } } -static inline const char *get_global_flag(struct drm_i915_gem_object *obj) +static inline const char get_global_flag(struct drm_i915_gem_object *obj) +{ + return i915_gem_obj_to_ggtt(obj) ? 'g' : ' '; +} + +static inline const char get_pin_mapped_flag(struct drm_i915_gem_object *obj) { - return i915_gem_obj_to_ggtt(obj) ? "g" : " "; + return obj->mapping ? 'M' : ' '; } static u64 i915_gem_obj_total_ggtt_size(struct drm_i915_gem_object *obj) @@ -136,12 +143,13 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) lockdep_assert_held(&obj->base.dev->struct_mutex); - seq_printf(m, "%pK: %s%s%s%s %8zdKiB %02x %02x [ ", + seq_printf(m, "%pK: %c%c%c%c%c %8zdKiB %02x %02x [ ", &obj->base, - obj->active ? "*" : " ", + get_active_flag(obj), get_pin_flag(obj), get_tiling_flag(obj), get_global_flag(obj), + get_pin_mapped_flag(obj), obj->base.size / 1024, obj->base.read_domains, obj->base.write_domain); -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] drm/i915: Show pin mapped counts and sizes in debugfs 2016-04-14 11:57 [PATCH 1/2] drm/i915: Show pin mapped status in describe_obj Tvrtko Ursulin @ 2016-04-14 11:57 ` Tvrtko Ursulin 2016-04-14 12:32 ` Chris Wilson 2016-04-14 17:25 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Show pin mapped status in describe_obj Patchwork 1 sibling, 1 reply; 4+ messages in thread From: Tvrtko Ursulin @ 2016-04-14 11:57 UTC (permalink / raw) To: Intel-gfx From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Show a total and purgeable number of pin mapped objects and their total and purgeable size. Example output (new stat prefixed with a star): # cat i915_gem_objects 19920 objects, 289243136 bytes 19920 [18466] objects, 288714752 [267911168] bytes in gtt 0 [0] active objects, 0 [0] bytes 19917 [18466] inactive objects, 288714752 [267911168] bytes 0 unbound objects, 0 bytes 0 purgeable objects, 0 bytes 1 pinned mappable objects, 3145728 bytes 0 fault mappable objects, 0 bytes * 19914 [0] pin mapped objects, 285560832 [0] bytes [purgeable] 4294967296 [268435456] gtt total Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_debugfs.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 9302a6961d04..58e2f48b4fd7 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -443,6 +443,8 @@ static int i915_gem_object_info(struct seq_file *m, void* data) struct i915_ggtt *ggtt = &dev_priv->ggtt; u32 count, mappable_count, purgeable_count; u64 size, mappable_size, purgeable_size; + unsigned long pin_mapped_count = 0, pin_mapped_purgeable_count = 0; + u64 pin_mapped_size = 0, pin_mapped_purgeable_size = 0; struct drm_i915_gem_object *obj; struct drm_file *file; struct i915_vma *vma; @@ -476,6 +478,14 @@ static int i915_gem_object_info(struct seq_file *m, void* data) size += obj->base.size, ++count; if (obj->madv == I915_MADV_DONTNEED) purgeable_size += obj->base.size, ++purgeable_count; + if (obj->mapping) { + pin_mapped_count++; + pin_mapped_size += obj->base.size; + if (obj->pages_pin_count == 0) { + pin_mapped_purgeable_count++; + pin_mapped_purgeable_size += obj->base.size; + } + } } seq_printf(m, "%u unbound objects, %llu bytes\n", count, size); @@ -493,6 +503,14 @@ static int i915_gem_object_info(struct seq_file *m, void* data) purgeable_size += obj->base.size; ++purgeable_count; } + if (obj->mapping) { + pin_mapped_count++; + pin_mapped_size += obj->base.size; + if (obj->pages_pin_count == 0) { + pin_mapped_purgeable_count++; + pin_mapped_purgeable_size += obj->base.size; + } + } } seq_printf(m, "%u purgeable objects, %llu bytes\n", purgeable_count, purgeable_size); @@ -500,6 +518,10 @@ static int i915_gem_object_info(struct seq_file *m, void* data) mappable_count, mappable_size); seq_printf(m, "%u fault mappable objects, %llu bytes\n", count, size); + seq_printf(m, + "%lu [%lu] pin mapped objects, %llu [%llu] bytes [purgeable]\n", + pin_mapped_count, pin_mapped_purgeable_count, + pin_mapped_size, pin_mapped_purgeable_size); seq_printf(m, "%llu [%llu] gtt total\n", ggtt->base.total, ggtt->mappable_end - ggtt->base.start); -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] drm/i915: Show pin mapped counts and sizes in debugfs 2016-04-14 11:57 ` [PATCH 2/2] drm/i915: Show pin mapped counts and sizes in debugfs Tvrtko Ursulin @ 2016-04-14 12:32 ` Chris Wilson 0 siblings, 0 replies; 4+ messages in thread From: Chris Wilson @ 2016-04-14 12:32 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: Intel-gfx On Thu, Apr 14, 2016 at 12:57:02PM +0100, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > Show a total and purgeable number of pin mapped objects > and their total and purgeable size. > > Example output (new stat prefixed with a star): > > # cat i915_gem_objects > 19920 objects, 289243136 bytes > 19920 [18466] objects, 288714752 [267911168] bytes in gtt > 0 [0] active objects, 0 [0] bytes > 19917 [18466] inactive objects, 288714752 [267911168] bytes > 0 unbound objects, 0 bytes > 0 purgeable objects, 0 bytes > 1 pinned mappable objects, 3145728 bytes > 0 fault mappable objects, 0 bytes > * 19914 [0] pin mapped objects, 285560832 [0] bytes [purgeable] > 4294967296 [268435456] gtt total > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Cc: Chris Wilson <chris@chris-wilson.co.uk> Both Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Thanks, -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 4+ messages in thread
* ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Show pin mapped status in describe_obj 2016-04-14 11:57 [PATCH 1/2] drm/i915: Show pin mapped status in describe_obj Tvrtko Ursulin 2016-04-14 11:57 ` [PATCH 2/2] drm/i915: Show pin mapped counts and sizes in debugfs Tvrtko Ursulin @ 2016-04-14 17:25 ` Patchwork 1 sibling, 0 replies; 4+ messages in thread From: Patchwork @ 2016-04-14 17:25 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915: Show pin mapped status in describe_obj URL : https://patchwork.freedesktop.org/series/5716/ State : failure == Summary == Series 5716v1 Series without cover letter http://patchwork.freedesktop.org/api/1.0/series/5716/revisions/1/mbox/ Test gem_busy: Subgroup basic-blt: pass -> SKIP (bsw-nuc-2) Test kms_force_connector_basic: Subgroup force-edid: skip -> PASS (hsw-gt2) Subgroup force-load-detect: skip -> PASS (ilk-hp8440p) bdw-ultra total:203 pass:179 dwarn:0 dfail:0 fail:1 skip:23 bsw-nuc-2 total:202 pass:161 dwarn:0 dfail:0 fail:1 skip:40 byt-nuc total:202 pass:164 dwarn:0 dfail:0 fail:0 skip:38 hsw-brixbox total:203 pass:178 dwarn:0 dfail:0 fail:1 skip:24 hsw-gt2 total:203 pass:183 dwarn:0 dfail:0 fail:1 skip:19 ilk-hp8440p total:203 pass:134 dwarn:0 dfail:0 fail:1 skip:68 ivb-t430s total:203 pass:174 dwarn:0 dfail:0 fail:1 skip:28 skl-i7k-2 total:203 pass:177 dwarn:0 dfail:0 fail:1 skip:25 skl-nuci5 total:203 pass:191 dwarn:0 dfail:0 fail:1 skip:11 snb-x220t total:203 pass:164 dwarn:0 dfail:0 fail:2 skip:37 BOOT FAILED for snb-dellxps Results at /archive/results/CI_IGT_test/Patchwork_1903/ c7583aec08ba04e2336bd9879a10f30d4e0cdc60 drm-intel-nightly: 2016y-04m-14d-14h-53m-34s UTC integration manifest cac7c47 drm/i915: Show pin mapped counts and sizes in debugfs 5a81dfa drm/i915: Show pin mapped status in describe_obj _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-04-14 17:25 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-04-14 11:57 [PATCH 1/2] drm/i915: Show pin mapped status in describe_obj Tvrtko Ursulin 2016-04-14 11:57 ` [PATCH 2/2] drm/i915: Show pin mapped counts and sizes in debugfs Tvrtko Ursulin 2016-04-14 12:32 ` Chris Wilson 2016-04-14 17:25 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Show pin mapped status in describe_obj Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox