The patch titled drm/i915: use shmem_truncate_range has been added to the -mm tree. Its filename is drm-i915-use-shmem_truncate_range.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: drm/i915: use shmem_truncate_range From: Hugh Dickins <hughd@xxxxxxxxxx> The interface to ->truncate_range is changing very slightly: once "tmpfs: take control of its truncate_range" has been applied, this can be applied. For now there is only a slight inefficiency while this remains unapplied, but it will soon become essential for managing shmem's use of swap. Change i915_gem_object_truncate() to use shmem_truncate_range() directly: which should also spare i915 later change if we switch from inode_operations->truncate_range to file_operations->fallocate. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Keith Packard <keithp@xxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff -puN drivers/gpu/drm/i915/i915_gem.c~drm-i915-use-shmem_truncate_range drivers/gpu/drm/i915/i915_gem.c --- a/drivers/gpu/drm/i915/i915_gem.c~drm-i915-use-shmem_truncate_range +++ a/drivers/gpu/drm/i915/i915_gem.c @@ -1694,13 +1694,10 @@ i915_gem_object_truncate(struct drm_i915 /* Our goal here is to return as much of the memory as * is possible back to the system as we are called from OOM. * To do this we must instruct the shmfs to drop all of its - * backing pages, *now*. Here we mirror the actions taken - * when by shmem_delete_inode() to release the backing store. + * backing pages, *now*. */ inode = obj->base.filp->f_path.dentry->d_inode; - truncate_inode_pages(inode->i_mapping, 0); - if (inode->i_op->truncate_range) - inode->i_op->truncate_range(inode, 0, (loff_t)-1); + shmem_truncate_range(inode, 0, (loff_t)-1); obj->madv = __I915_MADV_PURGED; } _ Patches currently in -mm which might be from hughd@xxxxxxxxxx are mm-fix-wrong-kunmap_atomic-pointer.patch mm-migratec-dont-account-swapcache-as-shmem.patch linux-next.patch mm-move-vmtruncate_range-to-truncatec.patch mm-move-shmem-prototypes-to-shmem_fsh.patch tmpfs-take-control-of-its-truncate_range.patch tmpfs-add-shmem_read_mapping_page_gfp.patch drm-ttm-use-shmem_read_mapping_page.patch drm-i915-use-shmem_read_mapping_page.patch drm-i915-use-shmem_truncate_range.patch drm-i915-more-struct_mutex-locking.patch mm-cleanup-descriptions-of-filler-arg.patch mm-truncate-functions-are-in-truncatec.patch mm-tidy-vmtruncate_range-and-related-functions.patch mm-consistent-truncate-and-invalidate-loops.patch mm-pincer-in-truncate_inode_pages_range.patch tmpfs-no-need-to-use-i_lock.patch prio_tree-debugging-patch.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html