From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 3/6] drm/i915: Move dev_priv->mm.[un]bound_list to its own lock
Date: Wed, 16 Aug 2017 16:13:43 +0300 [thread overview]
Message-ID: <1502889223.6625.2.camel@linux.intel.com> (raw)
In-Reply-To: <20170812115122.10854-3-chris@chris-wilson.co.uk>
On Sat, 2017-08-12 at 12:51 +0100, Chris Wilson wrote:
> Remove the struct_mutex requirement around dev_priv->mm.bound_list and
> dev_priv->mm.unbound_list by giving it its own spinlock. This reduces
> one more requirement for struct_mutex and in the process gives us
> slightly more accurate unbound_list tracking, which should improve the
> shrinker - but the drawback is that we drop the retirement before
> counting so i915_gem_object_is_active() may be stale and lead us to
> underestimate the number of objects that may be shrunk (see commit
> bed50aea61df ("drm/i915/shrinker: Flush active on objects before
> counting")).
>
> v2: Crosslink the spinlock to the lists it protects, and btw this
> changes s/obj->global_link/obj->mm.link/
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
<SNIP>
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -1536,9 +1536,12 @@ static void i915_gem_object_bump_inactive_ggtt(struct drm_i915_gem_object *obj)
> list_move_tail(&vma->vm_link, &vma->vm->inactive_list);
> }
>
> + GEM_BUG_ON(!i915_gem_object_has_pinned_pages(obj));
Lift this precondition to the beginning of this func, there's no need
for the loop to be in front.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-08-16 13:13 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-12 11:51 [PATCH 1/6] drm/i915: Refactor testing obj->mm.pages Chris Wilson
2017-08-12 11:51 ` [PATCH 2/6] drm/i915: Remove walk over obj->vma_list for the shrinker Chris Wilson
2017-08-15 14:56 ` Joonas Lahtinen
2017-08-15 15:05 ` Chris Wilson
2017-08-15 16:17 ` [PATCH 1/2] drm/i915: Rename obj->pin_display to obj->pin_global Chris Wilson
2017-08-15 16:17 ` [PATCH 2/2] drm/i915: Drop debugfs/i915_gem_pin_display Chris Wilson
2017-08-12 11:51 ` [PATCH 3/6] drm/i915: Move dev_priv->mm.[un]bound_list to its own lock Chris Wilson
2017-08-16 13:13 ` Joonas Lahtinen [this message]
2017-08-12 11:51 ` [PATCH 4/6] drm/i915: Set our shrinker->batch to 4096 (~16MiB) Chris Wilson
2017-08-16 13:39 ` Joonas Lahtinen
2017-08-16 13:55 ` Chris Wilson
2017-08-16 14:23 ` [PATCH v2] " Chris Wilson
2017-08-18 12:56 ` Chris Wilson
2017-08-18 22:48 ` Chris Wilson
2017-09-20 13:28 ` [PATCH 4/6] " Joonas Lahtinen
2017-09-26 15:02 ` Chris Wilson
2017-09-27 8:38 ` Joonas Lahtinen
2017-09-27 8:54 ` Chris Wilson
2017-08-12 11:51 ` [PATCH 5/6] drm/i915: Trim struct_mutex hold duration for i915_gem_free_objects Chris Wilson
2017-08-12 11:51 ` [PATCH 6/6] drm/i915: Only free the oldest stale object before a fresh allocation Chris Wilson
2017-08-16 13:53 ` Joonas Lahtinen
2017-08-12 12:09 ` ✓ Fi.CI.BAT: success for series starting with [1/6] drm/i915: Refactor testing obj->mm.pages Patchwork
2017-08-15 16:46 ` ✗ Fi.CI.BAT: failure for series starting with [1/6] drm/i915: Refactor testing obj->mm.pages (rev3) Patchwork
2017-08-16 14:54 ` ✓ Fi.CI.BAT: success for series starting with [1/6] drm/i915: Refactor testing obj->mm.pages (rev4) 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=1502889223.6625.2.camel@linux.intel.com \
--to=joonas.lahtinen@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox