From: Daniel Vetter <daniel@ffwll.ch>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 2/5] drm/i915: Add a tracepoint for the shrinker
Date: Tue, 6 Oct 2015 14:54:25 +0200 [thread overview]
Message-ID: <20151006125425.GT3383@phenom.ffwll.local> (raw)
In-Reply-To: <1443698309-28038-2-git-send-email-chris@chris-wilson.co.uk>
On Thu, Oct 01, 2015 at 12:18:26PM +0100, Chris Wilson wrote:
> Often it is very useful to know why we suddenly purge vast tracts of
> memory and surprisingly up until now we didn't even have a tracepoint
> for when we shrink our memory.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/i915_gem_shrinker.c | 2 ++
> drivers/gpu/drm/i915/i915_trace.h | 20 ++++++++++++++++++++
> 2 files changed, 22 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> index b627d07fad29..88f66a2586ec 100644
> --- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
> +++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> @@ -85,6 +85,8 @@ i915_gem_shrink(struct drm_i915_private *dev_priv,
> }, *phase;
> unsigned long count = 0;
>
> + trace_i915_gem_shrink(dev_priv, target, flags);
Shouldn't we also dump how many pages we actually managed to shrink, i.e.
count (at the end of the functions).
Also we have a slab_start/end tracepoint already, but that one obviously
doesn't cover the internal calls to i915_gem_shrink. Should imo be
mentioned in the commit message.
-Daniel
> +
> /*
> * As we may completely rewrite the (un)bound list whilst unbinding
> * (due to retiring requests) we have to strictly process only
> diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
> index e6b5c7470ba0..ed7f42f2e740 100644
> --- a/drivers/gpu/drm/i915/i915_trace.h
> +++ b/drivers/gpu/drm/i915/i915_trace.h
> @@ -107,6 +107,26 @@ TRACE_EVENT(i915_gem_object_create,
> TP_printk("obj=%p, size=%u", __entry->obj, __entry->size)
> );
>
> +TRACE_EVENT(i915_gem_shrink,
> + TP_PROTO(struct drm_i915_private *i915, unsigned long target, unsigned flags),
> + TP_ARGS(i915, target, flags),
> +
> + TP_STRUCT__entry(
> + __field(int, dev)
> + __field(unsigned long, target)
> + __field(unsigned, flags)
> + ),
> +
> + TP_fast_assign(
> + __entry->dev = i915->dev->primary->index;
> + __entry->target = target;
> + __entry->flags = flags;
> + ),
> +
> + TP_printk("dev=%d, target=%lu, flags=%x",
> + __entry->dev, __entry->target, __entry->flags)
> +);
> +
> TRACE_EVENT(i915_vma_bind,
> TP_PROTO(struct i915_vma *vma, unsigned flags),
> TP_ARGS(vma, flags),
> --
> 2.6.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-10-06 12:51 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-01 11:18 [PATCH 1/5] drm/i915: shrinker_control->nr_to_scan is now unsigned long Chris Wilson
2015-10-01 11:18 ` [PATCH 2/5] drm/i915: Add a tracepoint for the shrinker Chris Wilson
2015-10-06 12:54 ` Daniel Vetter [this message]
2015-10-06 13:16 ` Chris Wilson
2015-10-07 13:45 ` Daniel Vetter
2015-10-01 11:18 ` [PATCH 3/5] drm/i915: During shrink_all we only need to idle the GPU Chris Wilson
2015-10-06 13:00 ` Daniel Vetter
2015-10-06 13:12 ` Chris Wilson
2015-10-01 11:18 ` [PATCH 4/5] drm/i915: Remove dead i915_gem_evict_everything() Chris Wilson
2015-10-01 11:18 ` [PATCH 5/5] drm/i915: Avoid GPU stalls from kswapd Chris Wilson
2015-10-06 13:01 ` Daniel Vetter
2015-10-06 13:18 ` Chris Wilson
2015-10-07 13:51 ` Daniel Vetter
2015-10-06 12:53 ` [PATCH 1/5] drm/i915: shrinker_control->nr_to_scan is now unsigned long Daniel Vetter
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=20151006125425.GT3383@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--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.