[Intel-gfx] [PATCH 0/4] Compact userptr object backing store allocation
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Mon Nov 14 11:45:17 UTC 2016
Hi Andrew,
On 11/11/2016 08:50, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>
> Userptr backing store with SWIOTBL active is currently allocated in the same
> inefficient manner, with one sg entry per object page, as what the commit
> 871dfbd67d4e ("drm/i915: Allow compaction upto SWIOTLB max segment size") fixed
> for regular GEM objects.
>
> We can fix that by adding new a __sg_alloc_table_from_pages core function which
> allows us to control the maximum desired coalesced segment size.
>
> Other than that the series starts with two simple fixes to
> sg_alloc_table_from_pages which deal with incorrect data type usage and a
> theoretical overflow condition. Fixing the latter enables easy addition of the
> above mentioned __sg_alloc_table_from_pages.
>
> Tvrtko Ursulin (4):
> lib/scatterlist: Fix offset type in sg_alloc_table_from_pages
> lib/scatterlist: Avoid potential scatterlist entry overflow
> lib/scatterlist: Introduce and export __sg_alloc_table_from_pages
> drm/i915: Use __sg_alloc_table_from_pages for userptr allocations
>
> drivers/gpu/drm/i915/i915_drv.h | 9 +++
> drivers/gpu/drm/i915/i915_gem.c | 15 +----
> drivers/gpu/drm/i915/i915_gem_userptr.c | 28 ++-------
> drivers/media/v4l2-core/videobuf2-dma-contig.c | 4 +-
> drivers/rapidio/devices/rio_mport_cdev.c | 4 +-
> include/linux/scatterlist.h | 11 ++--
> lib/scatterlist.c | 78 ++++++++++++++++++++------
> 7 files changed, 87 insertions(+), 62 deletions(-)
I have three patches to lib/scatterlist.c in this series which has all
been reviewed and tested.
We would like to merge them via the DRM tree if there are no objections?
Kind regards,
Tvrtko
More information about the Intel-gfx
mailing list