From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 4/6] drm/i915: Free batch pool when idle
Date: Thu, 19 Mar 2015 17:03:56 +0000 [thread overview]
Message-ID: <550B017C.8090808@linux.intel.com> (raw)
In-Reply-To: <1425894946-10351-4-git-send-email-chris@chris-wilson.co.uk>
On 03/09/2015 09:55 AM, Chris Wilson wrote:
> At runtime, this helps ensure that the batch pools are kept trim and
> fast. Then at suspend, this releases memory that we do not need to
> restore. It also ties into the oom-notifier to ensure that we recover as
> much kernel memory as possible during OOM.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/i915_gem.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 9f33005bdfd1..efb5545251c7 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2849,8 +2849,19 @@ i915_gem_idle_work_handler(struct work_struct *work)
> {
> struct drm_i915_private *dev_priv =
> container_of(work, typeof(*dev_priv), mm.idle_work.work);
> + struct drm_device *dev = dev_priv->dev;
> +
> + intel_mark_idle(dev);
>
> - intel_mark_idle(dev_priv->dev);
> + if (mutex_trylock(&dev->struct_mutex)) {
> + struct intel_engine_cs *ring;
> + int i;
> +
> + for_each_ring(ring, dev_priv, i)
> + i915_gem_batch_pool_fini(&ring->batch_pool);
This is sooo bad... destructor in the idle handler, what message does
that send? :D
> +
> + mutex_unlock(&dev->struct_mutex);
> + }
Would it be worth self-re-arming if trylock fails? I couldn't
immediately figure out if last retirement can somehow race with a
struct_mutex holder somewhere.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-03-19 17:03 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-09 9:55 [PATCH 1/6] drm/i915: Split i915_gem_batch_pool into its own header Chris Wilson
2015-03-09 9:55 ` [PATCH 2/6] drm/i915: Tidy batch pool logic Chris Wilson
2015-03-17 17:42 ` Tvrtko Ursulin
2015-03-17 20:53 ` Chris Wilson
2015-03-09 9:55 ` [PATCH 3/6] drm/i915: Split the batch pool by engine Chris Wilson
2015-03-18 16:51 ` Tvrtko Ursulin
2015-03-18 17:27 ` Chris Wilson
2015-03-18 17:33 ` Tvrtko Ursulin
2015-03-19 9:36 ` Tvrtko Ursulin
2015-03-19 10:06 ` Chris Wilson
2015-03-19 11:39 ` Tvrtko Ursulin
2015-03-19 11:46 ` Chris Wilson
2015-03-19 11:58 ` Tvrtko Ursulin
2015-03-19 12:04 ` Chris Wilson
2015-03-19 14:01 ` Tvrtko Ursulin
2015-03-19 14:34 ` Chris Wilson
2015-03-09 9:55 ` [PATCH 4/6] drm/i915: Free batch pool when idle Chris Wilson
2015-03-19 17:03 ` Tvrtko Ursulin [this message]
2015-03-19 17:14 ` Chris Wilson
2015-03-19 17:27 ` Tvrtko Ursulin
2015-03-09 9:55 ` [PATCH 5/6] drm/i915: Split batch pool into size buckets Chris Wilson
2015-03-19 17:35 ` Tvrtko Ursulin
2015-03-19 21:09 ` Chris Wilson
2015-03-20 9:25 ` Tvrtko Ursulin
2015-03-09 9:55 ` [PATCH 6/6] drm/i915: Include active flag when describing objects in debugfs Chris Wilson
2015-03-09 14:59 ` shuang.he
2015-03-19 17:41 ` Tvrtko Ursulin
2015-03-19 21:05 ` Chris Wilson
2015-03-20 9:23 ` Tvrtko Ursulin
2015-03-19 17:37 ` [PATCH 1/6] drm/i915: Split i915_gem_batch_pool into its own header Tvrtko Ursulin
2015-03-19 21:06 ` Chris Wilson
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=550B017C.8090808@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.