Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933577AbcKNLpW (ORCPT ); Mon, 14 Nov 2016 06:45:22 -0500 Received: from mga04.intel.com ([192.55.52.120]:53708 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932196AbcKNLpU (ORCPT ); Mon, 14 Nov 2016 06:45:20 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,638,1473145200"; d="scan'208";a="3878585" Subject: Re: [Intel-gfx] [PATCH 0/4] Compact userptr object backing store allocation To: Tvrtko Ursulin , Intel-gfx@lists.freedesktop.org, Andrew Morton References: <1478854220-3255-1-git-send-email-tvrtko.ursulin@linux.intel.com> Cc: linux-kernel@vger.kernel.org From: Tvrtko Ursulin Message-ID: <1676c507-37b4-6bfa-8158-2e373db7e7cc@linux.intel.com> Date: Mon, 14 Nov 2016 11:45:17 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1478854220-3255-1-git-send-email-tvrtko.ursulin@linux.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1780 Lines: 43 Hi Andrew, On 11/11/2016 08:50, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin > > 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