[Beignet] [RFC PATCH 0/3] SVM for kbl
Mika Kuoppala
mika.kuoppala at linux.intel.com
Mon Jan 9 16:52:51 UTC 2017
Hi,
Now when the blocking problems with iommu layer have been
solved by commits 910170442944e1f8674fd5ddbeeb8ccd1877ea98
and 65ca7f5f7d1cdde6c25172fe6107cd16902f826f it is possible
to test and experiment with this code on KBL.
I have tried to accomodate all the review feedback that
was given by the previous review round (thanks reviewers!).
The context is now created with regular means and then promoted to be
svm context by the context param ioctl as requested by
Chris Wilson. The hw_id vs pasid got resolved as they
are orthogonal things in gen9+. I dropped the bdw support,
and I think before possible merging the skl should be also exluded.
But I kept it for now if there are some brave souls who wants to
try. Development and bugfixing are now kbl+ only.
The big open item from last review round is KMS integration.
I don't have answer to that at this point. Chris asked if this
should be done by creating regular objects and then mmap them for
svm use. Another option could be that with new mmap flag we
could map a range as uncached?
Regardless, for beignet things should already be usable for
experimentation.
I improved the testset but it is still quite thin. Basic tests
work with kbl reliably. The access to gtt through svm doesn't work
(due to special pte used to fault for it). SVM is inherently a
ppgtt concept and trickery to access through it into gtt space feels
akward. Can anyone think any use case for it?
Most fresh snapshot of this code in:
https://cgit.freedesktop.org/~miku/drm-intel/log/?h=svm
and tests:
https://cgit.freedesktop.org/~miku/drm-intel/log/?h=svm
Chris already helped to iron out some bigger wrinkles, thanks!
Here it is and thanks for any feedback,
-Mika
Jesse Barnes (2):
drm/i915: IOMMU based SVM implementation v16
drm/i915: add SVM execbuf ioctl v13
Mika Kuoppala (1):
drm/i915: Create context desc template when context is created
drivers/gpu/drm/i915/Kconfig | 1 +
drivers/gpu/drm/i915/i915_drv.c | 1 +
drivers/gpu/drm/i915/i915_drv.h | 5 +
drivers/gpu/drm/i915/i915_gem_context.c | 96 +++++++++++++++-
drivers/gpu/drm/i915/i915_gem_context.h | 30 +++++
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 175 +++++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915_reg.h | 16 +++
drivers/gpu/drm/i915/intel_device_info.c | 6 +
drivers/gpu/drm/i915/intel_lrc.c | 32 ++----
include/uapi/drm/i915_drm.h | 45 ++++++++
10 files changed, 384 insertions(+), 23 deletions(-)
--
2.7.4
More information about the Beignet
mailing list