All of lore.kernel.org
 help / color / mirror / Atom feed
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:27:34 +0000	[thread overview]
Message-ID: <550B0706.7030104@linux.intel.com> (raw)
In-Reply-To: <20150319171419.GV10812@nuc-i3427.alporthouse.com>


On 03/19/2015 05:14 PM, Chris Wilson wrote:
> On Thu, Mar 19, 2015 at 05:03:56PM +0000, Tvrtko Ursulin wrote:
>>
>> 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
>
> That I noticed the function could also be used to cleanup the lists at
> runtime, and I wasn't a fan of say i915_gem_batch_pool_cleanup().
>
> #define i915_gem_batch_pool_reset i915_gem_batch_pool_fini ?

Obviously I noticed the same or I wouldn't have given my r-b. :)

Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-03-19 17:27 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
2015-03-19 17:14     ` Chris Wilson
2015-03-19 17:27       ` Tvrtko Ursulin [this message]
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=550B0706.7030104@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.