linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: akpm@linux-foundation.org
Cc: linux-mm@kvack.org, Mel Gorman <mel@csn.ul.ie>
Subject: [patch 3/3] Remove cold field from pagevec
Date: Mon, 11 Feb 2008 16:36:46 -0800	[thread overview]
Message-ID: <20080212003804.127584761@sgi.com> (raw)
In-Reply-To: 20080212003643.536643832@sgi.com

[-- Attachment #1: hotcold_3 --]
[-- Type: text/plain, Size: 13407 bytes --]

We have removed the distinction between hot/cold in the page
allocator and also the use of GFP_COLD. Then we also do not need the
cold field in the pagevecs anymore.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

---
 fs/afs/write.c                |    4 ++--
 fs/cifs/file.c                |    4 ++--
 fs/gfs2/ops_address.c         |    2 +-
 fs/hugetlbfs/inode.c          |    2 +-
 fs/nfs/dir.c                  |    2 +-
 fs/ntfs/file.c                |    2 +-
 fs/ramfs/file-nommu.c         |    2 +-
 fs/reiser4/plugin/file/file.c |    2 +-
 fs/xfs/linux-2.6/xfs_aops.c   |    4 ++--
 include/linux/pagemap.h       |    2 +-
 include/linux/pagevec.h       |    4 +---
 mm/filemap.c                  |    2 +-
 mm/page-writeback.c           |    2 +-
 mm/swap.c                     |   14 +++++++-------
 mm/swap_state.c               |    2 +-
 mm/truncate.c                 |    6 +++---
 mm/vmscan.c                   |    6 +++---
 17 files changed, 30 insertions(+), 32 deletions(-)

Index: linux-2.6/include/linux/pagemap.h
===================================================================
--- linux-2.6.orig/include/linux/pagemap.h	2008-02-11 16:18:47.000000000 -0800
+++ linux-2.6/include/linux/pagemap.h	2008-02-11 16:19:00.000000000 -0800
@@ -60,7 +60,7 @@ static inline void mapping_set_gfp_mask(
 
 #define page_cache_get(page)		get_page(page)
 #define page_cache_release(page)	put_page(page)
-void release_pages(struct page **pages, int nr, int cold);
+void release_pages(struct page **pages, int nr);
 
 #ifdef CONFIG_NUMA
 extern struct page *__page_cache_alloc(gfp_t gfp);
Index: linux-2.6/include/linux/pagevec.h
===================================================================
--- linux-2.6.orig/include/linux/pagevec.h	2007-12-20 14:58:40.000000000 -0800
+++ linux-2.6/include/linux/pagevec.h	2008-02-11 16:19:00.000000000 -0800
@@ -16,7 +16,6 @@ struct address_space;
 
 struct pagevec {
 	unsigned long nr;
-	unsigned long cold;
 	struct page *pages[PAGEVEC_SIZE];
 };
 
@@ -32,10 +31,9 @@ unsigned pagevec_lookup_tag(struct pagev
 		struct address_space *mapping, pgoff_t *index, int tag,
 		unsigned nr_pages);
 
-static inline void pagevec_init(struct pagevec *pvec, int cold)
+static inline void pagevec_init(struct pagevec *pvec)
 {
 	pvec->nr = 0;
-	pvec->cold = cold;
 }
 
 static inline void pagevec_reinit(struct pagevec *pvec)
Index: linux-2.6/mm/filemap.c
===================================================================
--- linux-2.6.orig/mm/filemap.c	2008-02-11 16:18:47.000000000 -0800
+++ linux-2.6/mm/filemap.c	2008-02-11 16:19:00.000000000 -0800
@@ -276,7 +276,7 @@ int wait_on_page_writeback_range(struct 
 	if (end < start)
 		return 0;
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	index = start;
 	while ((index <= end) &&
 			(nr_pages = pagevec_lookup_tag(&pvec, mapping, &index,
Index: linux-2.6/mm/page-writeback.c
===================================================================
--- linux-2.6.orig/mm/page-writeback.c	2008-02-07 19:07:05.000000000 -0800
+++ linux-2.6/mm/page-writeback.c	2008-02-11 16:19:00.000000000 -0800
@@ -813,7 +813,7 @@ int write_cache_pages(struct address_spa
 		return 0;
 	}
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	if (wbc->range_cyclic) {
 		index = mapping->writeback_index; /* Start from prev offset */
 		end = -1;
Index: linux-2.6/mm/swap.c
===================================================================
--- linux-2.6.orig/mm/swap.c	2008-02-11 16:18:36.000000000 -0800
+++ linux-2.6/mm/swap.c	2008-02-11 16:19:00.000000000 -0800
@@ -125,7 +125,7 @@ static void pagevec_move_tail(struct pag
 	if (zone)
 		spin_unlock(&zone->lru_lock);
 	__count_vm_events(PGROTATED, pgmoved);
-	release_pages(pvec->pages, pvec->nr, pvec->cold);
+	release_pages(pvec->pages, pvec->nr);
 	pagevec_reinit(pvec);
 }
 
@@ -296,14 +296,14 @@ int lru_add_drain_all(void)
  * page count inside the lock to see whether shrink_cache grabbed the page
  * via the LRU.  If it did, give up: shrink_cache will free it.
  */
-void release_pages(struct page **pages, int nr, int cold)
+void release_pages(struct page **pages, int nr)
 {
 	int i;
 	struct pagevec pages_to_free;
 	struct zone *zone = NULL;
 	unsigned long uninitialized_var(flags);
 
-	pagevec_init(&pages_to_free, cold);
+	pagevec_init(&pages_to_free);
 	for (i = 0; i < nr; i++) {
 		struct page *page = pages[i];
 
@@ -361,7 +361,7 @@ void release_pages(struct page **pages, 
 void __pagevec_release(struct pagevec *pvec)
 {
 	lru_add_drain();
-	release_pages(pvec->pages, pagevec_count(pvec), pvec->cold);
+	release_pages(pvec->pages, pagevec_count(pvec));
 	pagevec_reinit(pvec);
 }
 
@@ -377,7 +377,7 @@ void __pagevec_release_nonlru(struct pag
 	int i;
 	struct pagevec pages_to_free;
 
-	pagevec_init(&pages_to_free, pvec->cold);
+	pagevec_init(&pages_to_free);
 	for (i = 0; i < pagevec_count(pvec); i++) {
 		struct page *page = pvec->pages[i];
 
@@ -414,7 +414,7 @@ void __pagevec_lru_add(struct pagevec *p
 	}
 	if (zone)
 		spin_unlock_irq(&zone->lru_lock);
-	release_pages(pvec->pages, pvec->nr, pvec->cold);
+	release_pages(pvec->pages, pvec->nr);
 	pagevec_reinit(pvec);
 }
 
@@ -443,7 +443,7 @@ void __pagevec_lru_add_active(struct pag
 	}
 	if (zone)
 		spin_unlock_irq(&zone->lru_lock);
-	release_pages(pvec->pages, pvec->nr, pvec->cold);
+	release_pages(pvec->pages, pvec->nr);
 	pagevec_reinit(pvec);
 }
 
Index: linux-2.6/mm/truncate.c
===================================================================
--- linux-2.6.orig/mm/truncate.c	2008-02-07 19:07:05.000000000 -0800
+++ linux-2.6/mm/truncate.c	2008-02-11 16:19:00.000000000 -0800
@@ -173,7 +173,7 @@ void truncate_inode_pages_range(struct a
 	BUG_ON((lend & (PAGE_CACHE_SIZE - 1)) != (PAGE_CACHE_SIZE - 1));
 	end = (lend >> PAGE_CACHE_SHIFT);
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	next = start;
 	while (next <= end &&
 	       pagevec_lookup(&pvec, mapping, next, PAGEVEC_SIZE)) {
@@ -274,7 +274,7 @@ unsigned long __invalidate_mapping_pages
 	unsigned long ret = 0;
 	int i;
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	while (next <= end &&
 			pagevec_lookup(&pvec, mapping, next, PAGEVEC_SIZE)) {
 		for (i = 0; i < pagevec_count(&pvec); i++) {
@@ -395,7 +395,7 @@ int invalidate_inode_pages2_range(struct
 	int did_range_unmap = 0;
 	int wrapped = 0;
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	next = start;
 	while (next <= end && !wrapped &&
 		pagevec_lookup(&pvec, mapping, next,
Index: linux-2.6/mm/vmscan.c
===================================================================
--- linux-2.6.orig/mm/vmscan.c	2008-02-07 19:07:05.000000000 -0800
+++ linux-2.6/mm/vmscan.c	2008-02-11 16:19:00.000000000 -0800
@@ -472,7 +472,7 @@ static unsigned long shrink_page_list(st
 
 	cond_resched();
 
-	pagevec_init(&freed_pvec, 1);
+	pagevec_init(&freed_pvec);
 	while (!list_empty(page_list)) {
 		struct address_space *mapping;
 		struct page *page;
@@ -834,7 +834,7 @@ static unsigned long shrink_inactive_lis
 	unsigned long nr_scanned = 0;
 	unsigned long nr_reclaimed = 0;
 
-	pagevec_init(&pvec, 1);
+	pagevec_init(&pvec);
 
 	lru_add_drain();
 	spin_lock_irq(&zone->lru_lock);
@@ -1116,7 +1116,7 @@ static void shrink_active_list(unsigned 
 		list_add(&page->lru, &l_inactive);
 	}
 
-	pagevec_init(&pvec, 1);
+	pagevec_init(&pvec);
 	pgmoved = 0;
 	spin_lock_irq(&zone->lru_lock);
 	while (!list_empty(&l_inactive)) {
Index: linux-2.6/fs/afs/write.c
===================================================================
--- linux-2.6.orig/fs/afs/write.c	2007-11-09 19:30:29.000000000 -0800
+++ linux-2.6/fs/afs/write.c	2008-02-11 16:19:00.000000000 -0800
@@ -330,7 +330,7 @@ static void afs_kill_pages(struct afs_vn
 	_enter("{%x:%u},%lx-%lx",
 	       vnode->fid.vid, vnode->fid.vnode, first, last);
 
-	pagevec_init(&pv, 0);
+	pagevec_init(&pv);
 
 	do {
 		_debug("kill %lx-%lx", first, last);
@@ -666,7 +666,7 @@ void afs_pages_written_back(struct afs_v
 
 	ASSERT(wb != NULL);
 
-	pagevec_init(&pv, 0);
+	pagevec_init(&pv);
 
 	do {
 		_debug("done %lx-%lx", first, last);
Index: linux-2.6/fs/cifs/file.c
===================================================================
--- linux-2.6.orig/fs/cifs/file.c	2008-01-29 18:17:21.000000000 -0800
+++ linux-2.6/fs/cifs/file.c	2008-02-11 16:19:00.000000000 -0800
@@ -1248,7 +1248,7 @@ static int cifs_writepages(struct addres
 
 	xid = GetXid();
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	if (wbc->range_cyclic) {
 		index = mapping->writeback_index; /* Start from prev offset */
 		end = -1;
@@ -1813,7 +1813,7 @@ static int cifs_readpages(struct file *f
 	cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
 	pTcon = cifs_sb->tcon;
 
-	pagevec_init(&lru_pvec, 0);
+	pagevec_init(&lru_pvec);
 #ifdef CONFIG_CIFS_DEBUG2
 		cFYI(1, ("rpages: num pages %d", num_pages));
 #endif
Index: linux-2.6/fs/hugetlbfs/inode.c
===================================================================
--- linux-2.6.orig/fs/hugetlbfs/inode.c	2008-02-08 13:22:14.000000000 -0800
+++ linux-2.6/fs/hugetlbfs/inode.c	2008-02-11 16:19:00.000000000 -0800
@@ -345,7 +345,7 @@ static void truncate_hugepages(struct in
 	pgoff_t next;
 	int i, freed = 0;
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	next = start;
 	while (1) {
 		if (!pagevec_lookup(&pvec, mapping, next, PAGEVEC_SIZE)) {
Index: linux-2.6/fs/nfs/dir.c
===================================================================
--- linux-2.6.orig/fs/nfs/dir.c	2008-01-30 12:05:02.000000000 -0800
+++ linux-2.6/fs/nfs/dir.c	2008-02-11 16:19:00.000000000 -0800
@@ -1519,7 +1519,7 @@ static int nfs_symlink(struct inode *dir
 	 * No big deal if we can't add this page to the page cache here.
 	 * READLINK will get the missing page from the server if needed.
 	 */
-	pagevec_init(&lru_pvec, 0);
+	pagevec_init(&lru_pvec);
 	if (!add_to_page_cache(page, dentry->d_inode->i_mapping, 0,
 							GFP_KERNEL)) {
 		pagevec_add(&lru_pvec, page);
Index: linux-2.6/fs/ntfs/file.c
===================================================================
--- linux-2.6.orig/fs/ntfs/file.c	2008-02-07 19:07:04.000000000 -0800
+++ linux-2.6/fs/ntfs/file.c	2008-02-11 16:19:00.000000000 -0800
@@ -1911,7 +1911,7 @@ static ssize_t ntfs_file_buffered_write(
 			}
 		}
 	}
-	pagevec_init(&lru_pvec, 0);
+	pagevec_init(&lru_pvec);
 	written = 0;
 	/*
 	 * If the write starts beyond the initialized size, extend it up to the
Index: linux-2.6/fs/ramfs/file-nommu.c
===================================================================
--- linux-2.6.orig/fs/ramfs/file-nommu.c	2007-11-09 19:30:29.000000000 -0800
+++ linux-2.6/fs/ramfs/file-nommu.c	2008-02-11 16:19:00.000000000 -0800
@@ -102,7 +102,7 @@ static int ramfs_nommu_expand_for_mappin
 	memset(data, 0, newsize);
 
 	/* attach all the pages to the inode's address space */
-	pagevec_init(&lru_pvec, 0);
+	pagevec_init(&lru_pvec);
 	for (loop = 0; loop < npages; loop++) {
 		struct page *page = pages + loop;
 
Index: linux-2.6/fs/reiser4/plugin/file/file.c
===================================================================
--- linux-2.6.orig/fs/reiser4/plugin/file/file.c	2007-08-27 22:03:53.000000000 -0700
+++ linux-2.6/fs/reiser4/plugin/file/file.c	2008-02-11 16:19:00.000000000 -0800
@@ -989,7 +989,7 @@ capture_anonymous_pages(struct address_s
 	unsigned int i, count;
 	int nr;
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	count = min(pagevec_space(&pvec), to_capture);
 	nr = 0;
 
Index: linux-2.6/fs/xfs/linux-2.6/xfs_aops.c
===================================================================
--- linux-2.6.orig/fs/xfs/linux-2.6/xfs_aops.c	2008-02-08 13:22:14.000000000 -0800
+++ linux-2.6/fs/xfs/linux-2.6/xfs_aops.c	2008-02-11 16:19:00.000000000 -0800
@@ -651,7 +651,7 @@ xfs_probe_cluster(
 	/* Prune this back to avoid pathological behavior */
 	tloff = min(tlast, startpage->index + 64);
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	while (!done && tindex <= tloff) {
 		unsigned len = min_t(pgoff_t, PAGEVEC_SIZE, tlast - tindex + 1);
 
@@ -882,7 +882,7 @@ xfs_cluster_write(
 	struct pagevec		pvec;
 	int			done = 0, i;
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	while (!done && tindex <= tlast) {
 		unsigned len = min_t(pgoff_t, PAGEVEC_SIZE, tlast - tindex + 1);
 
Index: linux-2.6/mm/swap_state.c
===================================================================
--- linux-2.6.orig/mm/swap_state.c	2008-02-07 19:07:05.000000000 -0800
+++ linux-2.6/mm/swap_state.c	2008-02-11 16:19:00.000000000 -0800
@@ -223,7 +223,7 @@ void free_pages_and_swap_cache(struct pa
 
 		for (i = 0; i < todo; i++)
 			free_swap_cache(pagep[i]);
-		release_pages(pagep, todo, 0);
+		release_pages(pagep, todo);
 		pagep += todo;
 		nr -= todo;
 	}
Index: linux-2.6/fs/gfs2/ops_address.c
===================================================================
--- linux-2.6.orig/fs/gfs2/ops_address.c	2008-02-11 16:23:10.000000000 -0800
+++ linux-2.6/fs/gfs2/ops_address.c	2008-02-11 16:23:17.000000000 -0800
@@ -360,7 +360,7 @@ static int gfs2_write_cache_jdata(struct
 		return 0;
 	}
 
-	pagevec_init(&pvec, 0);
+	pagevec_init(&pvec);
 	if (wbc->range_cyclic) {
 		index = mapping->writeback_index; /* Start from prev offset */
 		end = -1;

-- 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2008-02-12  0:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-12  0:36 [patch 0/3] Hotcold removal completion Christoph Lameter
2008-02-12  0:36 ` [patch 1/3] Eliminate the hot/cold distinction in the page allocator Christoph Lameter
2008-02-12  0:36 ` [patch 2/3] Remove GFP_COLD Christoph Lameter
2008-02-12  0:36 ` Christoph Lameter [this message]
2008-02-12  6:32 ` [patch 0/3] Hotcold removal completion Nick Piggin
2008-02-12  7:57   ` Andrew Morton
2008-02-12 20:12     ` Christoph Lameter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080212003804.127584761@sgi.com \
    --to=clameter@sgi.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    --cc=mel@csn.ul.ie \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).