[PATCH] undo the brd.c part of ramfs-and-ram-disk-pages-are-unevictable.patch

Previous thread: [PATCH] workqueues: insert_work: use "list_head *" instead of "int tail" by Oleg Nesterov on Thursday, June 12, 2008 - 9:51 am. (12 messages)

Next thread: sysdev: fix debugging statements in registration code. by Ben Dooks on Thursday, June 12, 2008 - 11:00 am. (1 message)
From: Rik van Riel
Date: Thursday, June 12, 2008 - 10:53 am

Undo the brd.c part of ramfs-and-ram-disk-pages-are-unevictable.patch.
The brd pages do not live on the LRU at all, so there is no need to
play these tricks.

Debugged-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Rik van Riel <riel@redhat.com>

---
 drivers/block/brd.c |   13 -------------
 1 file changed, 13 deletions(-)

Index: linux-2.6.26-rc5-mm2/drivers/block/brd.c
===================================================================
--- linux-2.6.26-rc5-mm2.orig/drivers/block/brd.c	2008-06-11 14:39:43.000000000 -0400
+++ linux-2.6.26-rc5-mm2/drivers/block/brd.c	2008-06-12 13:49:18.000000000 -0400
@@ -374,21 +374,8 @@ static int brd_ioctl(struct inode *inode
 	return error;
 }
 
-/*
- * brd_open():
- * Just mark the mapping as containing unevictable pages
- */
-static int brd_open(struct inode *inode, struct file *filp)
-{
-	struct address_space *mapping = inode->i_mapping;
-
-	mapping_set_unevictable(mapping);
-	return 0;
-}
-
 static struct block_device_operations brd_fops = {
 	.owner =		THIS_MODULE,
-	.open  =		brd_open,
 	.ioctl =		brd_ioctl,
 #ifdef CONFIG_BLK_DEV_XIP
 	.direct_access =	brd_direct_access,

--

From: Lee Schermerhorn
Date: Thursday, June 12, 2008 - 12:00 pm

Does this mean that these pages cannot be migrated?  E.g., to evacuate
memory for hotplug?  Looks like all paths to migrate_pages() construct a
list of pages to migrate by isolating them from the lru
[isolate_lru_page()].  Any pages not found in the lru are skipped.


--

From: Rik van Riel
Date: Thursday, June 12, 2008 - 12:05 pm

On Thu, 12 Jun 2008 15:00:57 -0400

It looks like that, indeed.

-- 
All Rights Reversed
--

From: Nick Piggin
Date: Thursday, June 12, 2008 - 12:08 pm

Yes. They have nothing to do with user pages or pagecache pages at all
really. brd is now a properly layered block device driver that does not
know anything about buffer cache ;)

You can think of the pages it allocates as completely private, and they
are used to implement the backing store for the block device.

The vm/fs layers will instantiate buffer cache over this device, which
is reclaimable.
--

Previous thread: [PATCH] workqueues: insert_work: use "list_head *" instead of "int tail" by Oleg Nesterov on Thursday, June 12, 2008 - 9:51 am. (12 messages)

Next thread: sysdev: fix debugging statements in registration code. by Ben Dooks on Thursday, June 12, 2008 - 11:00 am. (1 message)