From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Michel Thierry <michel.thierry@intel.com>,
Thomas Daniel <thomas.daniel@intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Cc: "Belgaumkar, Vinay" <vinay.belgaumkar@intel.com>,
"Goel, Akash" <akash.goel@intel.com>,
"Kristian Høgsberg" <hoegsberg@gmail.com>
Subject: Re: [PATCH v7] drm/i915: Add soft-pinning API for execbuffer
Date: Wed, 9 Dec 2015 10:30:41 +0000 [thread overview]
Message-ID: <566802D1.1020601@linux.intel.com> (raw)
In-Reply-To: <56672626.10105@intel.com>
On 08/12/15 18:49, Michel Thierry wrote:
> On 12/8/2015 11:55 AM, Thomas Daniel wrote:
>> From: Chris Wilson <chris@chris-wilson.co.uk>
>>
>> Userspace can pass in an offset that it presumes the object is located
>> at. The kernel will then do its utmost to fit the object into that
>> location. The assumption is that userspace is handling its own object
>> locations (for example along with full-ppgtt) and that the kernel will
>> rarely have to make space for the user's requests.
>>
>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>>
>> v2: Fixed incorrect eviction found by Michal Winiarski - fix suggested
>> by Chris
>> Wilson. Fixed incorrect error paths causing crash found by Michal
>> Winiarski.
>> (Not published externally)
>>
>> v3: Rebased because of trivial conflict in object_bind_to_vm. Fixed
>> eviction
>> to allow eviction of soft-pinned objects when another soft-pinned
>> object used
>> by a subsequent execbuffer overlaps reported by Michal Winiarski.
>> (Not published externally)
>>
>> v4: Moved soft-pinned objects to the front of ordered_vmas so that
>> they are
>> pinned first after an address conflict happens to avoid repeated
>> conflicts in
>> rare cases (Suggested by Chris Wilson). Expanded comment on
>> drm_i915_gem_exec_object2.offset to cover this new API.
>>
>> v5: Added I915_PARAM_HAS_EXEC_SOFTPIN parameter for detecting this
>> capability
>> (Kristian). Added check for multiple pinnings on eviction (Akash).
>> Made sure
>> buffers are not considered misplaced without the user specifying
>> EXEC_OBJECT_SUPPORTS_48B_ADDRESS. User must assume responsibility for
>> any
>> addressing workarounds. Updated object2.offset field comment again to
>> clarify
>> NO_RELOC case (Chris). checkpatch cleanup.
>>
>> v6: Trivial rebase on latest drm-intel-nightly
>>
>> v7: Catch attempts to pin above the max virtual address size and return
>> EINVAL (Tvrtko). Decouple EXEC_OBJECT_SUPPORTS_48B_ADDRESS and
>> EXEC_OBJECT_PINNED flags, user must pass both flags in any attempt to pin
>> something at an offset above 4GB (Chris, Daniel Vetter).
>>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: Akash Goel <akash.goel@intel.com>
>> Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
>> Cc: Michal Winiarski <michal.winiarski@intel.com>
>> Cc: Zou Nanhai <nanhai.zou@intel.com>
>> Cc: Kristian Høgsberg <hoegsberg@gmail.com>
>> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
>> Signed-off-by: Thomas Daniel <thomas.daniel@intel.com>
>> ---
>> drivers/gpu/drm/i915/i915_dma.c | 3 ++
>> drivers/gpu/drm/i915/i915_drv.h | 2 +
>> drivers/gpu/drm/i915/i915_gem.c | 64
>> ++++++++++++++++++++----------
>> drivers/gpu/drm/i915/i915_gem_evict.c | 39 ++++++++++++++++++
>> drivers/gpu/drm/i915/i915_gem_execbuffer.c | 16 +++++++-
>> include/uapi/drm/i915_drm.h | 12 ++++--
>> 6 files changed, 111 insertions(+), 25 deletions(-)
>>
>
> Extra support from the other patch aside, v6 already had rb from Akash
> and this one,
> Reviewed-by: Michel Thierry <michel.thierry@intel.com>
This patch was acked by the PDT so I merged it to drm-intel-next-queued.
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-12-09 10:30 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-06 9:44 [PATCH] drm/i915: Add soft-pinning API for execbuffer Chris Wilson
2015-03-11 6:41 ` [Intel-gfx] " Zhenyu Wang
2015-04-29 13:28 ` Daniel, Thomas
2015-04-29 14:01 ` Chris Wilson
2015-06-30 14:13 ` [PATCH v4] " Thomas Daniel
2015-06-30 14:20 ` Daniel, Thomas
2015-07-15 14:55 ` Goel, Akash
2015-07-15 15:06 ` Chris Wilson
2015-07-15 15:41 ` Daniel, Thomas
2015-07-15 15:46 ` Chris Wilson
2015-07-15 15:58 ` Daniel, Thomas
2015-07-15 16:04 ` Chris Wilson
2015-07-04 5:29 ` Kristian Høgsberg
2015-07-04 12:23 ` Chris Wilson
2015-07-08 15:04 ` Daniel, Thomas
2015-07-08 15:35 ` Chris Wilson
2015-07-04 7:53 ` Chris Wilson
2015-07-20 16:41 ` [PATCH v5] " Thomas Daniel
2015-07-20 16:50 ` Chris Wilson
2015-10-16 10:59 ` [PATCH v6] " Thomas Daniel
2015-10-16 14:09 ` Goel, Akash
2015-10-16 14:15 ` Chris Wilson
2015-12-02 11:28 ` Tvrtko Ursulin
2015-12-02 11:35 ` Chris Wilson
2015-12-08 11:55 ` [PATCH v7] " Thomas Daniel
2015-12-08 18:49 ` Michel Thierry
2015-12-09 10:30 ` Tvrtko Ursulin [this message]
2015-12-09 10:51 ` Chris Wilson
2015-12-09 12:34 ` Tvrtko Ursulin
2015-12-09 13:33 ` Michel Thierry
2015-12-09 13:35 ` Tvrtko Ursulin
2015-12-09 19:09 ` Belgaumkar, Vinay
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=566802D1.1020601@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=akash.goel@intel.com \
--cc=hoegsberg@gmail.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=michel.thierry@intel.com \
--cc=thomas.daniel@intel.com \
--cc=vinay.belgaumkar@intel.com \
/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