[Intel-gfx] [PATCH v3 0/4] Support for creating/using Stolen memory backed objects
Jesse Barnes
jbarnes at virtuousgeek.org
Thu May 21 11:53:58 PDT 2015
[Cc'ing Chris, not sure if he saw the updated version to give his r-b]
On 05/06/2015 03:15 AM, ankitprasad.r.sharma at intel.com wrote:
> From: Ankitprasad Sharma <ankitprasad.r.sharma at intel.com>
>
> This patch series adds support for creating/using Stolen memory backed
> objects.
>
> Despite being a unified memory architecture (UMA) some bits of memory
> are more equal than others. In particular we have the thorny issue of
> stolen memory, memory stolen from the system by the BIOS and reserved
> for igfx use. Stolen memory is required for some functions of the GPU
> and display engine, but in general it goes wasted. Whilst we cannot
> return it back to the system, we need to find some other method for
> utilising it. As we do not support direct access to the physical address
> in the stolen region, it behaves like a different class of memory,
> closer in kin to local GPU memory. This strongly suggests that we need a
> placement model like TTM if we are to fully utilize these discrete
> chunks of differing memory.
>
> To add support for creating Stolen memory backed objects, we extend the
> drm_i915_gem_create structure, by adding a new flag through which user
> can specify the preference to allocate the object from stolen memory,
> which if set, an attempt will be made to allocate the object from stolen
> memory subject to the availability of free space in the stolen region.
>
> This patch series adds support for clearing buffer objects via blitter
> engines. This is particularly useful for clearing out the memory from
> stolen region, but can also be used for other shmem allocated objects.
> Also adding support for stealing purgable stolen pages, if we run out
> of stolen memory when trying to allocate an object.
>
> v2: Added support for read/write from/to objects not backed by
> shmem using the pread/pwrite interface.
> Also extended the current get_aperture ioctl to retrieve the
> total and available size of the stolen region
>
> v3: Removed the extended get_aperture ioctl patch 5 (to be submitted as
> part of other patch series), addressed comments by Chris about pread/pwrite
> for non shmem backed objects
>
> This can be verified using IGT tests: igt/gem_create_stolen
>
> Ankitprasad Sharma (3):
> drm/i915: Clearing buffer objects via blitter engine
> drm/i915: Support for creating Stolen memory backed objects
> drm/i915: Support for pread/pwrite from/to non shmem backed objects
>
> Chris Wilson (1):
> drm/i915: Add support for stealing purgable stolen pages
>
> drivers/gpu/drm/i915/Makefile | 1 +
> drivers/gpu/drm/i915/i915_dma.c | 3 +
> drivers/gpu/drm/i915/i915_drv.h | 4 +
> drivers/gpu/drm/i915/i915_gem.c | 168 ++++++++++++++++++++++++----
> drivers/gpu/drm/i915/i915_gem_exec.c | 197 +++++++++++++++++++++++++++++++++
> drivers/gpu/drm/i915/i915_gem_stolen.c | 121 ++++++++++++++++++--
> drivers/gpu/drm/i915/intel_lrc.c | 2 +-
> drivers/gpu/drm/i915/intel_lrc.h | 2 +
> include/uapi/drm/i915_drm.h | 15 +++
> 9 files changed, 480 insertions(+), 33 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/i915_gem_exec.c
>
More information about the Intel-gfx
mailing list