[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 5 Jun 2011 21:32:34 -0700 (PDT)
From: Hugh Dickins <hughd@...gle.com>
To: Andrew Morton <akpm@...ux-foundation.org>
cc: Christoph Hellwig <hch@...radead.org>,
Chris Wilson <chris@...is-wilson.co.uk>,
Keith Packard <keithp@...thp.com>,
Dave Airlie <airlied@...hat.com>, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: [PATCH 7/14] drm/i915: use shmem_truncate_range
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@...gle.com>
Cc: Christoph Hellwig <hch@...radead.org>
Cc: Chris Wilson <chris@...is-wilson.co.uk>
Cc: Keith Packard <keithp@...thp.com>
Cc: Dave Airlie <airlied@...hat.com>
---
drivers/gpu/drm/i915/i915_gem.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
--- linux.orig/drivers/gpu/drm/i915/i915_gem.c 2011-06-05 18:37:13.589743574 -0700
+++ linux/drivers/gpu/drm/i915/i915_gem.c 2011-06-05 18:44:59.064050179 -0700
@@ -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;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists