From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Park the GPU on module load
Date: Fri, 14 Sep 2018 10:40:43 +0100 [thread overview]
Message-ID: <05fa47b4-eb5d-cc9c-dff8-a714cd7abcdd@linux.intel.com> (raw)
In-Reply-To: <20180914083419.20295-1-chris@chris-wilson.co.uk>
On 14/09/2018 09:34, Chris Wilson wrote:
> Once we have flushed the first request through the system to both load a
> context and record the default state; tell the GPU to park and idle
> itself, putting itself immediately (hopefully at least) into a
> powersaving state, and allowing ourselves to start from known state
> after setting up all our bookkeeping.
Otherwise this would happen after a second or so, when the idle work
handler does it. Crucial thing to mention is I think the park/unpark
cycle which sets up the pinned default state.
Alternative to patch could be to extract
__intel_engine_pin_default_state to be called from here and from
intel_engines_unpark.
But I guess there is some value in going powersave as soon as possible
so okay.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 89834ce19acd..be9d012d851b 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -5414,6 +5414,14 @@ static int __intel_engines_record_defaults(struct drm_i915_private *i915)
>
> assert_kernel_context_is_current(i915);
>
> + /*
> + * Immediately park the GPU so that we enable powersaving and
> + * treat it as idle. The next time we issue a request, we will
> + * unpark and start using the engine->pinned_default_state, otherwise
> + * it is in limbo and an early reset may fail.
> + */
> + __i915_gem_park(i915);
Why not after we have grabbed the default state?
I was worried this might access a sleeping device but apparently at
least vma unbind takes the rpm ref. Still, just this I think makes it
more logical to park after we have grabbed the default state, instead o
putting the device to sleep and then immediately waking up below.
> +
> for_each_engine(engine, i915, id) {
> struct i915_vma *state;
>
>
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-14 9:40 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-14 8:34 [PATCH] drm/i915: Park the GPU on module load Chris Wilson
2018-09-14 9:40 ` Tvrtko Ursulin [this message]
2018-09-14 9:47 ` Chris Wilson
2018-09-14 10:03 ` Tvrtko Ursulin
2018-09-14 10:53 ` Chris Wilson
2018-09-14 10:57 ` Chris Wilson
2018-09-14 10:54 ` ✗ Fi.CI.BAT: failure for " 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=05fa47b4-eb5d-cc9c-dff8-a714cd7abcdd@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.