summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2016-11-09 15:13:43 +0000
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2016-11-10 09:29:25 +0000
commit0c40ce130e38aeb9ddcee3ddcffbe5a79f27c080 (patch)
tree76cd8bbf6e8bbc867b9938ba0bc786d70943d353 /arch
parent11840e2fff3fb0f90ab8d56f4ba7d3712a82c08f (diff)
drm/i915: Trim the object sg table
At the moment we allocate enough sg table entries assuming we will not be able to do any coalescing. But since in practice we most often can, and more so very effectively, this ends up wasting a lot of memory. A simple and effective way of trimming the over-allocated entries is to copy the table over to a new one allocated to the exact size. Experiments on my freshly logged and idle desktop (KDE) showed that by doing this we can save approximately 1 MiB of RAM, or when running a typical benchmark like gl_manhattan I have even seen a 6 MiB saving. More complicated techniques such as only copying the last used page and freeing the rest are left to the reader. v2: * Update commit message. * Use temporary sg_table on stack. (Chris Wilson) v3: * Commit message update. * Comment added. * Replace memcpy with copy assignment. (Chris Wilson) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: http://patchwork.freedesktop.org/patch/msgid/1478704423-7447-1-git-send-email-tvrtko.ursulin@linux.intel.com
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions