All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] trivial writeback cleanups/fixes
@ 2009-11-18  8:26 Wu Fengguang
  2009-11-18  8:26 ` [PATCH 01/12] writeback: remove unused nonblocking and congestion checks Wu Fengguang
                   ` (11 more replies)
  0 siblings, 12 replies; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe; +Cc: linux-fsdevel, Wu Fengguang, LKML

Hi,

Some trivial writeback cleanups and fixes for .33.

They are all independant ones (don't rely on each other),
and can be pulled either by Andrew/Jens, or by individual
filesystem maintainers.

Thanks,
Fengguang


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 01/12] writeback: remove unused nonblocking and congestion checks
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-18  8:26 ` [PATCH 02/12] writeback: remove unused nonblocking and congestion checks (write_cache_pages) Wu Fengguang
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe; +Cc: linux-fsdevel, Chris Mason, Wu Fengguang, LKML

[-- Attachment #1: writeback-remove-congested-checks-linux_fs_fs-writeback.patch --]
[-- Type: text/plain, Size: 1240 bytes --]

- no one is calling wb_writeback and write_cache_pages with
  wbc.nonblocking=1 any more
- lumpy pageout will want to do nonblocking writeback without the
  congestion wait

So remove the congestion checks as suggested by Chris.

CC: Chris Mason <chris.mason@oracle.com>
CC: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/fs-writeback.c |    9 ---------
 1 file changed, 9 deletions(-)

--- linux.orig/fs/fs-writeback.c	2009-11-18 16:25:49.000000000 +0800
+++ linux/fs/fs-writeback.c	2009-11-18 16:25:51.000000000 +0800
@@ -640,14 +640,6 @@ static void writeback_inodes_wb(struct b
 			continue;
 		}
 
-		if (wbc->nonblocking && bdi_write_congested(wb->bdi)) {
-			wbc->encountered_congestion = 1;
-			if (!is_blkdev_sb)
-				break;		/* Skip a congested fs */
-			requeue_io(inode);
-			continue;		/* Skip a congested blockdev */
-		}
-
 		/*
 		 * Was this inode dirtied after sync_sb_inodes was called?
 		 * This keeps sync from extra jobs and livelock.
@@ -770,7 +762,6 @@ static long wb_writeback(struct bdi_writ
 			break;
 
 		wbc.more_io = 0;
-		wbc.encountered_congestion = 0;
 		wbc.nr_to_write = MAX_WRITEBACK_PAGES;
 		wbc.pages_skipped = 0;
 		writeback_inodes_wb(wb, &wbc);



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 02/12] writeback: remove unused nonblocking and congestion checks (write_cache_pages)
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
  2009-11-18  8:26 ` [PATCH 01/12] writeback: remove unused nonblocking and congestion checks Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-18  8:26 ` [PATCH 03/12] writeback: remove unused nonblocking and congestion checks (pohmelfs) Wu Fengguang
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe; +Cc: linux-fsdevel, Chris Mason, Wu Fengguang, LKML

[-- Attachment #1: writeback-remove-congested-checks-linux_mm_page-writeback.patch --]
[-- Type: text/plain, Size: 1382 bytes --]

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

CC: Chris Mason <chris.mason@oracle.com>
CC: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 mm/page-writeback.c |   12 ------------
 1 file changed, 12 deletions(-)

--- linux.orig/mm/page-writeback.c	2009-11-18 16:25:49.000000000 +0800
+++ linux/mm/page-writeback.c	2009-11-18 16:25:53.000000000 +0800
@@ -828,7 +828,6 @@ int write_cache_pages(struct address_spa
 		      struct writeback_control *wbc, writepage_t writepage,
 		      void *data)
 {
-	struct backing_dev_info *bdi = mapping->backing_dev_info;
 	int ret = 0;
 	int done = 0;
 	struct pagevec pvec;
@@ -841,11 +840,6 @@ int write_cache_pages(struct address_spa
 	int range_whole = 0;
 	long nr_to_write = wbc->nr_to_write;
 
-	if (wbc->nonblocking && bdi_write_congested(bdi)) {
-		wbc->encountered_congestion = 1;
-		return 0;
-	}
-
 	pagevec_init(&pvec, 0);
 	if (wbc->range_cyclic) {
 		writeback_index = mapping->writeback_index; /* prev offset */
@@ -964,12 +958,6 @@ continue_unlock:
 					break;
 				}
 			}
-
-			if (wbc->nonblocking && bdi_write_congested(bdi)) {
-				wbc->encountered_congestion = 1;
-				done = 1;
-				break;
-			}
 		}
 		pagevec_release(&pvec);
 		cond_resched();



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 03/12] writeback: remove unused nonblocking and congestion checks (pohmelfs)
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
  2009-11-18  8:26 ` [PATCH 01/12] writeback: remove unused nonblocking and congestion checks Wu Fengguang
  2009-11-18  8:26 ` [PATCH 02/12] writeback: remove unused nonblocking and congestion checks (write_cache_pages) Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-19  8:11   ` Wu Fengguang
  2009-11-18  8:26 ` [PATCH 04/12] writeback: remove unused nonblocking and congestion checks (afs) Wu Fengguang
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe
  Cc: linux-fsdevel, Evgeniy Polyakov, Wu Fengguang, LKML

[-- Attachment #1: writeback-remove-congested-checks-linux_drivers_staging_pohmelfs_inode.patch --]
[-- Type: text/plain, Size: 1060 bytes --]

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

CC: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 drivers/staging/pohmelfs/inode.c |    9 ---------
 1 file changed, 9 deletions(-)

--- linux.orig/drivers/staging/pohmelfs/inode.c	2009-11-06 09:22:36.000000000 +0800
+++ linux/drivers/staging/pohmelfs/inode.c	2009-11-06 09:52:12.000000000 +0800
@@ -152,11 +152,6 @@ static int pohmelfs_writepages(struct ad
 	int scanned = 0;
 	int range_whole = 0;
 
-	if (wbc->nonblocking && bdi_write_congested(bdi)) {
-		wbc->encountered_congestion = 1;
-		return 0;
-	}
-
 	if (wbc->range_cyclic) {
 		index = mapping->writeback_index; /* Start from prev offset */
 		end = -1;
@@ -248,10 +243,6 @@ retry:
 
 			if (wbc->nr_to_write <= 0)
 				done = 1;
-			if (wbc->nonblocking && bdi_write_congested(bdi)) {
-				wbc->encountered_congestion = 1;
-				done = 1;
-			}
 
 			continue;
 out_continue:



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 04/12] writeback: remove unused nonblocking and congestion checks (afs)
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
                   ` (2 preceding siblings ...)
  2009-11-18  8:26 ` [PATCH 03/12] writeback: remove unused nonblocking and congestion checks (pohmelfs) Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-19  8:09   ` Wu Fengguang
  2009-11-19 16:51   ` David Howells
  2009-11-18  8:26 ` [PATCH 05/12] writeback: remove unused nonblocking and congestion checks (cifs) Wu Fengguang
                   ` (7 subsequent siblings)
  11 siblings, 2 replies; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe
  Cc: linux-fsdevel, David Howells, Wu Fengguang, LKML

[-- Attachment #1: writeback-remove-congested-checks-linux_fs_afs_write.patch --]
[-- Type: text/plain, Size: 1617 bytes --]

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

CC: David Howells <dhowells@redhat.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/afs/write.c |   16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

--- linux.orig/fs/afs/write.c	2009-11-06 09:36:28.000000000 +0800
+++ linux/fs/afs/write.c	2009-11-06 09:52:13.000000000 +0800
@@ -455,8 +455,6 @@ int afs_writepage(struct page *page, str
 	}
 
 	wbc->nr_to_write -= ret;
-	if (wbc->nonblocking && bdi_write_congested(bdi))
-		wbc->encountered_congestion = 1;
 
 	_leave(" = 0");
 	return 0;
@@ -529,11 +527,6 @@ static int afs_writepages_region(struct 
 
 		wbc->nr_to_write -= ret;
 
-		if (wbc->nonblocking && bdi_write_congested(bdi)) {
-			wbc->encountered_congestion = 1;
-			break;
-		}
-
 		cond_resched();
 	} while (index < end && wbc->nr_to_write > 0);
 
@@ -554,18 +547,11 @@ int afs_writepages(struct address_space 
 
 	_enter("");
 
-	if (wbc->nonblocking && bdi_write_congested(bdi)) {
-		wbc->encountered_congestion = 1;
-		_leave(" = 0 [congest]");
-		return 0;
-	}
-
 	if (wbc->range_cyclic) {
 		start = mapping->writeback_index;
 		end = -1;
 		ret = afs_writepages_region(mapping, wbc, start, end, &next);
-		if (start > 0 && wbc->nr_to_write > 0 && ret == 0 &&
-		    !(wbc->nonblocking && wbc->encountered_congestion))
+		if (start > 0 && wbc->nr_to_write > 0 && ret == 0)
 			ret = afs_writepages_region(mapping, wbc, 0, start,
 						    &next);
 		mapping->writeback_index = next;



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 05/12] writeback: remove unused nonblocking and congestion checks (cifs)
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
                   ` (3 preceding siblings ...)
  2009-11-18  8:26 ` [PATCH 04/12] writeback: remove unused nonblocking and congestion checks (afs) Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-18  8:26 ` [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2) Wu Fengguang
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe; +Cc: linux-fsdevel, Steve French, Wu Fengguang, LKML

[-- Attachment #1: writeback-remove-congested-checks-linux_fs_cifs_file.patch --]
[-- Type: text/plain, Size: 875 bytes --]

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

CC: Steve French <sfrench@samba.org>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/cifs/file.c |   10 ----------
 1 file changed, 10 deletions(-)

--- linux.orig/fs/cifs/file.c	2009-11-18 16:25:49.000000000 +0800
+++ linux/fs/cifs/file.c	2009-11-18 16:25:57.000000000 +0800
@@ -1379,16 +1379,6 @@ static int cifs_writepages(struct addres
 		return generic_writepages(mapping, wbc);
 
 
-	/*
-	 * BB: Is this meaningful for a non-block-device file system?
-	 * If it is, we should test it again after we do I/O
-	 */
-	if (wbc->nonblocking && bdi_write_congested(bdi)) {
-		wbc->encountered_congestion = 1;
-		kfree(iov);
-		return 0;
-	}
-
 	xid = GetXid();
 
 	pagevec_init(&pvec, 0);



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2)
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
                   ` (4 preceding siblings ...)
  2009-11-18  8:26 ` [PATCH 05/12] writeback: remove unused nonblocking and congestion checks (cifs) Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-18  9:59     ` Steven Whitehouse
  2009-11-18  8:26 ` [PATCH 07/12] writeback: remove unused nonblocking and congestion checks (xfs) Wu Fengguang
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe
  Cc: linux-fsdevel, Steven Whitehouse, Wu Fengguang, LKML

[-- Attachment #1: writeback-remove-congested-checks-linux_fs_gfs2_aops.patch --]
[-- Type: text/plain, Size: 1077 bytes --]

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

CC: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/gfs2/aops.c |   10 ----------
 1 file changed, 10 deletions(-)

--- linux.orig/fs/gfs2/aops.c	2009-11-06 09:22:35.000000000 +0800
+++ linux/fs/gfs2/aops.c	2009-11-06 09:52:15.000000000 +0800
@@ -313,11 +313,6 @@ static int gfs2_write_jdata_pagevec(stru
 
 		if (ret || (--(wbc->nr_to_write) <= 0))
 			ret = 1;
-		if (wbc->nonblocking && bdi_write_congested(bdi)) {
-			wbc->encountered_congestion = 1;
-			ret = 1;
-		}
-
 	}
 	gfs2_trans_end(sdp);
 	return ret;
@@ -348,11 +343,6 @@ static int gfs2_write_cache_jdata(struct
 	int scanned = 0;
 	int range_whole = 0;
 
-	if (wbc->nonblocking && bdi_write_congested(bdi)) {
-		wbc->encountered_congestion = 1;
-		return 0;
-	}
-
 	pagevec_init(&pvec, 0);
 	if (wbc->range_cyclic) {
 		index = mapping->writeback_index; /* Start from prev offset */



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 07/12] writeback: remove unused nonblocking and congestion checks (xfs)
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
                   ` (5 preceding siblings ...)
  2009-11-18  8:26 ` [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2) Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-18 21:27   ` Dave Chinner
  2009-11-18  8:26 ` [PATCH 08/12] ext4: remove encountered_congestion trace Wu Fengguang
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe
  Cc: linux-fsdevel, Dave Chinner, Christoph Hellwig, Wu Fengguang, LKML

[-- Attachment #1: writeback-remove-congested-checks-linux_fs_xfs_linux-2.6_xfs_aops.patch --]
[-- Type: text/plain, Size: 914 bytes --]

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

CC: Dave Chinner <david@fromorbit.com> 
CC: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/xfs/linux-2.6/xfs_aops.c |    6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

--- linux.orig/fs/xfs/linux-2.6/xfs_aops.c	2009-11-06 09:22:35.000000000 +0800
+++ linux/fs/xfs/linux-2.6/xfs_aops.c	2009-11-06 09:52:21.000000000 +0800
@@ -908,12 +908,8 @@ xfs_convert_page(
 
 			bdi = inode->i_mapping->backing_dev_info;
 			wbc->nr_to_write--;
-			if (bdi_write_congested(bdi)) {
-				wbc->encountered_congestion = 1;
+			if (wbc->nr_to_write <= 0)
 				done = 1;
-			} else if (wbc->nr_to_write <= 0) {
-				done = 1;
-			}
 		}
 		xfs_start_page_writeback(page, !page_dirty, count);
 	}



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 08/12] ext4: remove encountered_congestion trace
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
                   ` (6 preceding siblings ...)
  2009-11-18  8:26 ` [PATCH 07/12] writeback: remove unused nonblocking and congestion checks (xfs) Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-24 16:18   ` tytso
  2009-11-18  8:26 ` [PATCH 09/12] ext4: remove unused parameter wbc from __ext4_journalled_writepage() Wu Fengguang
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe; +Cc: linux-fsdevel, Theodore Tso, Wu Fengguang, LKML

[-- Attachment #1: writeback-remove-congested-checks-ext4-trace.patch --]
[-- Type: text/plain, Size: 1706 bytes --]

It is no longer set and scheduled to be removed.

CC: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 include/trace/events/ext4.h |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

--- linux.orig/include/trace/events/ext4.h	2009-11-06 09:22:35.000000000 +0800
+++ linux/include/trace/events/ext4.h	2009-11-06 09:52:21.000000000 +0800
@@ -310,7 +310,6 @@ TRACE_EVENT(ext4_da_writepages_result,
 		__field(	int,	ret			)
 		__field(	int,	pages_written		)
 		__field(	long,	pages_skipped		)
-		__field(	char,	encountered_congestion	)
 		__field(	char,	more_io			)	
 		__field(	char,	no_nrwrite_index_update )
 		__field(       pgoff_t,	writeback_index		)
@@ -322,17 +321,16 @@ TRACE_EVENT(ext4_da_writepages_result,
 		__entry->ret		= ret;
 		__entry->pages_written	= pages_written;
 		__entry->pages_skipped	= wbc->pages_skipped;
-		__entry->encountered_congestion	= wbc->encountered_congestion;
 		__entry->more_io	= wbc->more_io;
 		__entry->no_nrwrite_index_update = wbc->no_nrwrite_index_update;
 		__entry->writeback_index = inode->i_mapping->writeback_index;
 	),
 
-	TP_printk("dev %s ino %lu ret %d pages_written %d pages_skipped %ld congestion %d more_io %d no_nrwrite_index_update %d writeback_index %lu",
+	TP_printk("dev %s ino %lu ret %d pages_written %d pages_skipped %ld more_io %d no_nrwrite_index_update %d writeback_index %lu",
 		  jbd2_dev_to_name(__entry->dev),
 		  (unsigned long) __entry->ino, __entry->ret,
 		  __entry->pages_written, __entry->pages_skipped,
-		  __entry->encountered_congestion, __entry->more_io,
+		  __entry->more_io,
 		  __entry->no_nrwrite_index_update,
 		  (unsigned long) __entry->writeback_index)
 );



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 09/12] ext4: remove unused parameter wbc from __ext4_journalled_writepage()
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
                   ` (7 preceding siblings ...)
  2009-11-18  8:26 ` [PATCH 08/12] ext4: remove encountered_congestion trace Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-24 16:18   ` tytso
  2009-11-18  8:26 ` [PATCH 10/12] writeback: remove the always false bdi_cap_writeback_dirty() test Wu Fengguang
                   ` (2 subsequent siblings)
  11 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe
  Cc: linux-fsdevel, Theodore Tso, Jan Kara, Wu Fengguang, LKML

[-- Attachment #1: writeback-ext4-remove-wbc.patch --]
[-- Type: text/plain, Size: 920 bytes --]

CC: Theodore Ts'o <tytso@mit.edu> 
CC: Jan Kara <jack@suse.cz> 
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/ext4/inode.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- linux.orig/fs/ext4/inode.c	2009-11-06 09:36:28.000000000 +0800
+++ linux/fs/ext4/inode.c	2009-11-06 09:52:22.000000000 +0800
@@ -2599,7 +2599,6 @@ static int bput_one(handle_t *handle, st
 }
 
 static int __ext4_journalled_writepage(struct page *page,
-				       struct writeback_control *wbc,
 				       unsigned int len)
 {
 	struct address_space *mapping = page->mapping;
@@ -2757,7 +2756,7 @@ static int ext4_writepage(struct page *p
 		 * doesn't seem much point in redirtying the page here.
 		 */
 		ClearPageChecked(page);
-		return __ext4_journalled_writepage(page, wbc, len);
+		return __ext4_journalled_writepage(page, len);
 	}
 
 	if (test_opt(inode->i_sb, NOBH) && ext4_should_writeback_data(inode))



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 10/12] writeback: remove the always false bdi_cap_writeback_dirty() test
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
                   ` (8 preceding siblings ...)
  2009-11-18  8:26 ` [PATCH 09/12] ext4: remove unused parameter wbc from __ext4_journalled_writepage() Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-18  8:26 ` [PATCH 11/12] writeback: introduce wbc.for_background Wu Fengguang
  2009-11-18  8:27 ` [PATCH 12/12] bdi: use bdi_stat_sum() for more accurate debugfs stats Wu Fengguang
  11 siblings, 0 replies; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe; +Cc: linux-fsdevel, Wu Fengguang, LKML

[-- Attachment #1: writeback-remove-memory-bdi.patch --]
[-- Type: text/plain, Size: 1277 bytes --]

This is dead code because no bdi flush thread will be started for
!bdi_cap_writeback_dirty bdis.

CC: Jens Axboe <jens.axboe@oracle.com> 
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/fs-writeback.c |   18 ------------------
 1 file changed, 18 deletions(-)

--- linux.orig/fs/fs-writeback.c	2009-11-18 16:25:51.000000000 +0800
+++ linux/fs/fs-writeback.c	2009-11-18 16:26:04.000000000 +0800
@@ -597,7 +597,6 @@ static void writeback_inodes_wb(struct b
 				struct writeback_control *wbc)
 {
 	struct super_block *sb = wbc->sb, *pin_sb = NULL;
-	const int is_blkdev_sb = sb_is_blkdev_sb(sb);
 	const unsigned long start = jiffies;	/* livelock avoidance */
 
 	spin_lock(&inode_lock);
@@ -618,23 +617,6 @@ static void writeback_inodes_wb(struct b
 			continue;
 		}
 
-		if (!bdi_cap_writeback_dirty(wb->bdi)) {
-			redirty_tail(inode);
-			if (is_blkdev_sb) {
-				/*
-				 * Dirty memory-backed blockdev: the ramdisk
-				 * driver does this.  Skip just this inode
-				 */
-				continue;
-			}
-			/*
-			 * Dirty memory-backed inode against a filesystem other
-			 * than the kernel-internal bdev filesystem.  Skip the
-			 * entire superblock.
-			 */
-			break;
-		}
-
 		if (inode->i_state & (I_NEW | I_WILL_FREE)) {
 			requeue_io(inode);
 			continue;



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 11/12] writeback: introduce wbc.for_background
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
                   ` (9 preceding siblings ...)
  2009-11-18  8:26 ` [PATCH 10/12] writeback: remove the always false bdi_cap_writeback_dirty() test Wu Fengguang
@ 2009-11-18  8:26 ` Wu Fengguang
  2009-11-18  8:27 ` [PATCH 12/12] bdi: use bdi_stat_sum() for more accurate debugfs stats Wu Fengguang
  11 siblings, 0 replies; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:26 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe
  Cc: linux-fsdevel, Trond Myklebust, Wu Fengguang, LKML

[-- Attachment #1: writeback-add-wbc-for_background.patch --]
[-- Type: text/plain, Size: 1728 bytes --]

It will lower the flush priority for NFS, and maybe more in future.

CC: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/fs-writeback.c         |    1 +
 fs/nfs/write.c            |    2 +-
 include/linux/writeback.h |    1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

--- linux.orig/fs/fs-writeback.c	2009-11-18 16:26:04.000000000 +0800
+++ linux/fs/fs-writeback.c	2009-11-18 16:26:07.000000000 +0800
@@ -713,6 +713,7 @@ static long wb_writeback(struct bdi_writ
 		.sync_mode		= args->sync_mode,
 		.older_than_this	= NULL,
 		.for_kupdate		= args->for_kupdate,
+		.for_background		= args->for_background,
 		.range_cyclic		= args->range_cyclic,
 	};
 	unsigned long oldest_jif;
--- linux.orig/include/linux/writeback.h	2009-11-18 16:25:28.000000000 +0800
+++ linux/include/linux/writeback.h	2009-11-18 16:26:07.000000000 +0800
@@ -76,6 +76,7 @@ struct writeback_control {
 	unsigned nonblocking:1;		/* Don't get stuck on request queues */
 	unsigned encountered_congestion:1; /* An output: a queue is full */
 	unsigned for_kupdate:1;		/* A kupdate writeback */
+	unsigned for_background:1;	/* A background writeback */
 	unsigned for_reclaim:1;		/* Invoked from the page allocator */
 	unsigned range_cyclic:1;	/* range_start is cyclic */
 	unsigned more_io:1;		/* more io to be dispatched */
--- linux.orig/fs/nfs/write.c	2009-11-18 16:25:28.000000000 +0800
+++ linux/fs/nfs/write.c	2009-11-18 16:26:07.000000000 +0800
@@ -178,7 +178,7 @@ static int wb_priority(struct writeback_
 {
 	if (wbc->for_reclaim)
 		return FLUSH_HIGHPRI | FLUSH_STABLE;
-	if (wbc->for_kupdate)
+	if (wbc->for_kupdate || wbc->for_background)
 		return FLUSH_LOWPRI;
 	return 0;
 }



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 12/12] bdi: use bdi_stat_sum() for more accurate debugfs stats
  2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
                   ` (10 preceding siblings ...)
  2009-11-18  8:26 ` [PATCH 11/12] writeback: introduce wbc.for_background Wu Fengguang
@ 2009-11-18  8:27 ` Wu Fengguang
  2009-11-18 10:38   ` Peter Zijlstra
  11 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18  8:27 UTC (permalink / raw)
  To: Andrew Morton, Jens Axboe
  Cc: linux-fsdevel, Peter Zijlstra, Wu Fengguang, LKML

[-- Attachment #1: bdi-debug-dump-sum.patch --]
[-- Type: text/plain, Size: 868 bytes --]

CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 mm/backing-dev.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux.orig/mm/backing-dev.c	2009-11-18 16:25:28.000000000 +0800
+++ linux/mm/backing-dev.c	2009-11-18 16:26:10.000000000 +0800
@@ -104,8 +104,8 @@ static int bdi_debug_stats_show(struct s
 		   "wb_mask:          %8lx\n"
 		   "wb_list:          %8u\n"
 		   "wb_cnt:           %8u\n",
-		   (unsigned long) K(bdi_stat(bdi, BDI_WRITEBACK)),
-		   (unsigned long) K(bdi_stat(bdi, BDI_RECLAIMABLE)),
+		   (unsigned long) K(bdi_stat_sum(bdi, BDI_WRITEBACK)),
+		   (unsigned long) K(bdi_stat_sum(bdi, BDI_RECLAIMABLE)),
 		   K(bdi_thresh), K(dirty_thresh),
 		   K(background_thresh), nr_wb, nr_dirty, nr_io, nr_more_io,
 		   !list_empty(&bdi->bdi_list), bdi->state, bdi->wb_mask,



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2)
  2009-11-18  8:26 ` [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2) Wu Fengguang
@ 2009-11-18  9:59     ` Steven Whitehouse
  0 siblings, 0 replies; 33+ messages in thread
From: Steven Whitehouse @ 2009-11-18  9:59 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, LKML

Hi,

That looks ok to me, modulo the warnings below. The only "non-obvious"
thing in this area which the GFS2 writepage[s] code relies upon is the
assumption that if we have a ->writepages() then ->writepage() will
never be called from a context which requires the fs to actually do a
write (i.e. the fs can refuse this if required). That is also only the
case for journaled data files - normal writes don't have that
requirement.

 CC [M]  fs/gfs2/aops.o
fs/gfs2/aops.c: In function ‘gfs2_write_jdata_pagevec’:
fs/gfs2/aops.c:272: warning: unused variable ‘bdi’
fs/gfs2/aops.c: In function ‘gfs2_write_cache_jdata’:
fs/gfs2/aops.c:336: warning: unused variable ‘bdi’

Once the warnings are fixed:

Acked-by: Steven Whitehouse <swhiteho@redhat.com>

Do you want me to add this patch into my tree, or were you planning to
submit via a different tree?

Steve.

On Wed, 2009-11-18 at 16:26 +0800, Wu Fengguang wrote:
> plain text document attachment
> (writeback-remove-congested-checks-linux_fs_gfs2_aops.patch)
> No one is calling wb_writeback and write_cache_pages with
> wbc.nonblocking=1 any more. And lumpy pageout will want to do
> nonblocking writeback without the congestion wait.
> 
> CC: Steven Whitehouse <swhiteho@redhat.com>
> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
> ---
>  fs/gfs2/aops.c |   10 ----------
>  1 file changed, 10 deletions(-)
> 
> --- linux.orig/fs/gfs2/aops.c	2009-11-06 09:22:35.000000000 +0800
> +++ linux/fs/gfs2/aops.c	2009-11-06 09:52:15.000000000 +0800
> @@ -313,11 +313,6 @@ static int gfs2_write_jdata_pagevec(stru
>  
>  		if (ret || (--(wbc->nr_to_write) <= 0))
>  			ret = 1;
> -		if (wbc->nonblocking && bdi_write_congested(bdi)) {
> -			wbc->encountered_congestion = 1;
> -			ret = 1;
> -		}
> -
>  	}
>  	gfs2_trans_end(sdp);
>  	return ret;
> @@ -348,11 +343,6 @@ static int gfs2_write_cache_jdata(struct
>  	int scanned = 0;
>  	int range_whole = 0;
>  
> -	if (wbc->nonblocking && bdi_write_congested(bdi)) {
> -		wbc->encountered_congestion = 1;
> -		return 0;
> -	}
> -
>  	pagevec_init(&pvec, 0);
>  	if (wbc->range_cyclic) {
>  		index = mapping->writeback_index; /* Start from prev offset */
> 
> 


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2)
@ 2009-11-18  9:59     ` Steven Whitehouse
  0 siblings, 0 replies; 33+ messages in thread
From: Steven Whitehouse @ 2009-11-18  9:59 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, LKML

Hi,

That looks ok to me, modulo the warnings below. The only "non-obvious"
thing in this area which the GFS2 writepage[s] code relies upon is the
assumption that if we have a ->writepages() then ->writepage() will
never be called from a context which requires the fs to actually do a
write (i.e. the fs can refuse this if required). That is also only the
case for journaled data files - normal writes don't have that
requirement.

 CC [M]  fs/gfs2/aops.o
fs/gfs2/aops.c: In function ‘gfs2_write_jdata_pagevec’:
fs/gfs2/aops.c:272: warning: unused variable ‘bdi’
fs/gfs2/aops.c: In function ‘gfs2_write_cache_jdata’:
fs/gfs2/aops.c:336: warning: unused variable ‘bdi’

Once the warnings are fixed:

Acked-by: Steven Whitehouse <swhiteho@redhat.com>

Do you want me to add this patch into my tree, or were you planning to
submit via a different tree?

Steve.

On Wed, 2009-11-18 at 16:26 +0800, Wu Fengguang wrote:
> plain text document attachment
> (writeback-remove-congested-checks-linux_fs_gfs2_aops.patch)
> No one is calling wb_writeback and write_cache_pages with
> wbc.nonblocking=1 any more. And lumpy pageout will want to do
> nonblocking writeback without the congestion wait.
> 
> CC: Steven Whitehouse <swhiteho@redhat.com>
> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
> ---
>  fs/gfs2/aops.c |   10 ----------
>  1 file changed, 10 deletions(-)
> 
> --- linux.orig/fs/gfs2/aops.c	2009-11-06 09:22:35.000000000 +0800
> +++ linux/fs/gfs2/aops.c	2009-11-06 09:52:15.000000000 +0800
> @@ -313,11 +313,6 @@ static int gfs2_write_jdata_pagevec(stru
>  
>  		if (ret || (--(wbc->nr_to_write) <= 0))
>  			ret = 1;
> -		if (wbc->nonblocking && bdi_write_congested(bdi)) {
> -			wbc->encountered_congestion = 1;
> -			ret = 1;
> -		}
> -
>  	}
>  	gfs2_trans_end(sdp);
>  	return ret;
> @@ -348,11 +343,6 @@ static int gfs2_write_cache_jdata(struct
>  	int scanned = 0;
>  	int range_whole = 0;
>  
> -	if (wbc->nonblocking && bdi_write_congested(bdi)) {
> -		wbc->encountered_congestion = 1;
> -		return 0;
> -	}
> -
>  	pagevec_init(&pvec, 0);
>  	if (wbc->range_cyclic) {
>  		index = mapping->writeback_index; /* Start from prev offset */
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2)
  2009-11-18  9:59     ` Steven Whitehouse
  (?)
@ 2009-11-18 10:09     ` Wu Fengguang
  2009-11-18 11:13         ` Steven Whitehouse
  -1 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-18 10:09 UTC (permalink / raw)
  To: Steven Whitehouse; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, LKML

Hi Steven,

On Wed, Nov 18, 2009 at 05:59:46PM +0800, Steven Whitehouse wrote:
> Hi,
> 
> That looks ok to me, modulo the warnings below. The only "non-obvious"
> thing in this area which the GFS2 writepage[s] code relies upon is the
> assumption that if we have a ->writepages() then ->writepage() will
> never be called from a context which requires the fs to actually do a
> write (i.e. the fs can refuse this if required). That is also only the
> case for journaled data files - normal writes don't have that
> requirement.

Thank you for the tips. I don't think pageout() or migration
writeout() has that hard expectation for ->writepage() :)

>  CC [M]  fs/gfs2/aops.o
> fs/gfs2/aops.c: In function ‘gfs2_write_jdata_pagevec’:
> fs/gfs2/aops.c:272: warning: unused variable ‘bdi’
> fs/gfs2/aops.c: In function ‘gfs2_write_cache_jdata’:
> fs/gfs2/aops.c:336: warning: unused variable ‘bdi’

Ah sorry!

> Once the warnings are fixed:
> 
> Acked-by: Steven Whitehouse <swhiteho@redhat.com>
> 
> Do you want me to add this patch into my tree, or were you planning to
> submit via a different tree?

Thanks, can you pull the updated patch directly to your tree?

Thanks,
Fengguang
---
writeback: remove unused nonblocking and congestion checks (gfs2)

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

Acked-by: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/gfs2/aops.c |   12 ------------
 1 file changed, 12 deletions(-)

--- linux.orig/fs/gfs2/aops.c	2009-11-18 16:39:32.000000000 +0800
+++ linux/fs/gfs2/aops.c	2009-11-18 18:01:14.000000000 +0800
@@ -269,7 +269,6 @@ static int gfs2_write_jdata_pagevec(stru
 	pgoff_t end_index = i_size >> PAGE_CACHE_SHIFT;
 	unsigned offset = i_size & (PAGE_CACHE_SIZE-1);
 	unsigned nrblocks = nr_pages * (PAGE_CACHE_SIZE/inode->i_sb->s_blocksize);
-	struct backing_dev_info *bdi = mapping->backing_dev_info;
 	int i;
 	int ret;
 
@@ -313,11 +312,6 @@ static int gfs2_write_jdata_pagevec(stru
 
 		if (ret || (--(wbc->nr_to_write) <= 0))
 			ret = 1;
-		if (wbc->nonblocking && bdi_write_congested(bdi)) {
-			wbc->encountered_congestion = 1;
-			ret = 1;
-		}
-
 	}
 	gfs2_trans_end(sdp);
 	return ret;
@@ -338,7 +332,6 @@ static int gfs2_write_jdata_pagevec(stru
 static int gfs2_write_cache_jdata(struct address_space *mapping,
 				  struct writeback_control *wbc)
 {
-	struct backing_dev_info *bdi = mapping->backing_dev_info;
 	int ret = 0;
 	int done = 0;
 	struct pagevec pvec;
@@ -348,11 +341,6 @@ static int gfs2_write_cache_jdata(struct
 	int scanned = 0;
 	int range_whole = 0;
 
-	if (wbc->nonblocking && bdi_write_congested(bdi)) {
-		wbc->encountered_congestion = 1;
-		return 0;
-	}
-
 	pagevec_init(&pvec, 0);
 	if (wbc->range_cyclic) {
 		index = mapping->writeback_index; /* Start from prev offset */

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 12/12] bdi: use bdi_stat_sum() for more accurate debugfs stats
  2009-11-18  8:27 ` [PATCH 12/12] bdi: use bdi_stat_sum() for more accurate debugfs stats Wu Fengguang
@ 2009-11-18 10:38   ` Peter Zijlstra
  2009-11-19  7:59     ` Wu Fengguang
  0 siblings, 1 reply; 33+ messages in thread
From: Peter Zijlstra @ 2009-11-18 10:38 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, linux-fsdevel

On Wed, 2009-11-18 at 16:27 +0800, Wu Fengguang wrote:
> plain text document attachment (bdi-debug-dump-sum.patch)
> CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
> ---
>  mm/backing-dev.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> --- linux.orig/mm/backing-dev.c	2009-11-18 16:25:28.000000000 +0800
> +++ linux/mm/backing-dev.c	2009-11-18 16:26:10.000000000 +0800
> @@ -104,8 +104,8 @@ static int bdi_debug_stats_show(struct s
>  		   "wb_mask:          %8lx\n"
>  		   "wb_list:          %8u\n"
>  		   "wb_cnt:           %8u\n",
> -		   (unsigned long) K(bdi_stat(bdi, BDI_WRITEBACK)),
> -		   (unsigned long) K(bdi_stat(bdi, BDI_RECLAIMABLE)),
> +		   (unsigned long) K(bdi_stat_sum(bdi, BDI_WRITEBACK)),
> +		   (unsigned long) K(bdi_stat_sum(bdi, BDI_RECLAIMABLE)),
>  		   K(bdi_thresh), K(dirty_thresh),
>  		   K(background_thresh), nr_wb, nr_dirty, nr_io, nr_more_io,
>  		   !list_empty(&bdi->bdi_list), bdi->state, bdi->wb_mask,
> 

Is this really important? This patch is basically a local DoS for large
machines.

Imagine someone doing:

while :; do cat /debug/bdi/*/stats; done

on a 512 cpu box.


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2)
  2009-11-18 10:09     ` Wu Fengguang
@ 2009-11-18 11:13         ` Steven Whitehouse
  0 siblings, 0 replies; 33+ messages in thread
From: Steven Whitehouse @ 2009-11-18 11:13 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, LKML

Hi,

On Wed, 2009-11-18 at 18:09 +0800, Wu Fengguang wrote:
> Hi Steven,
> 
> On Wed, Nov 18, 2009 at 05:59:46PM +0800, Steven Whitehouse wrote:
> > Hi,
> > 
> > That looks ok to me, modulo the warnings below. The only "non-obvious"
> > thing in this area which the GFS2 writepage[s] code relies upon is the
> > assumption that if we have a ->writepages() then ->writepage() will
> > never be called from a context which requires the fs to actually do a
> > write (i.e. the fs can refuse this if required). That is also only the
> > case for journaled data files - normal writes don't have that
> > requirement.
> 
> Thank you for the tips. I don't think pageout() or migration
> writeout() has that hard expectation for ->writepage() :)
> 
> >  CC [M]  fs/gfs2/aops.o
> > fs/gfs2/aops.c: In function ‘gfs2_write_jdata_pagevec’:
> > fs/gfs2/aops.c:272: warning: unused variable ‘bdi’
> > fs/gfs2/aops.c: In function ‘gfs2_write_cache_jdata’:
> > fs/gfs2/aops.c:336: warning: unused variable ‘bdi’
> 
> Ah sorry!
> 
> > Once the warnings are fixed:
> > 
> > Acked-by: Steven Whitehouse <swhiteho@redhat.com>
> > 
> > Do you want me to add this patch into my tree, or were you planning to
> > submit via a different tree?
> 
> Thanks, can you pull the updated patch directly to your tree?
> 
Yes, its in my -nmw tree now. Thanks,

Steve.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2)
@ 2009-11-18 11:13         ` Steven Whitehouse
  0 siblings, 0 replies; 33+ messages in thread
From: Steven Whitehouse @ 2009-11-18 11:13 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, LKML

Hi,

On Wed, 2009-11-18 at 18:09 +0800, Wu Fengguang wrote:
> Hi Steven,
> 
> On Wed, Nov 18, 2009 at 05:59:46PM +0800, Steven Whitehouse wrote:
> > Hi,
> > 
> > That looks ok to me, modulo the warnings below. The only "non-obvious"
> > thing in this area which the GFS2 writepage[s] code relies upon is the
> > assumption that if we have a ->writepages() then ->writepage() will
> > never be called from a context which requires the fs to actually do a
> > write (i.e. the fs can refuse this if required). That is also only the
> > case for journaled data files - normal writes don't have that
> > requirement.
> 
> Thank you for the tips. I don't think pageout() or migration
> writeout() has that hard expectation for ->writepage() :)
> 
> >  CC [M]  fs/gfs2/aops.o
> > fs/gfs2/aops.c: In function ‘gfs2_write_jdata_pagevec’:
> > fs/gfs2/aops.c:272: warning: unused variable ‘bdi’
> > fs/gfs2/aops.c: In function ‘gfs2_write_cache_jdata’:
> > fs/gfs2/aops.c:336: warning: unused variable ‘bdi’
> 
> Ah sorry!
> 
> > Once the warnings are fixed:
> > 
> > Acked-by: Steven Whitehouse <swhiteho@redhat.com>
> > 
> > Do you want me to add this patch into my tree, or were you planning to
> > submit via a different tree?
> 
> Thanks, can you pull the updated patch directly to your tree?
> 
Yes, its in my -nmw tree now. Thanks,

Steve.


--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 07/12] writeback: remove unused nonblocking and congestion checks (xfs)
  2009-11-18  8:26 ` [PATCH 07/12] writeback: remove unused nonblocking and congestion checks (xfs) Wu Fengguang
@ 2009-11-18 21:27   ` Dave Chinner
  2009-11-19  8:05     ` Wu Fengguang
  0 siblings, 1 reply; 33+ messages in thread
From: Dave Chinner @ 2009-11-18 21:27 UTC (permalink / raw)
  To: Wu Fengguang
  Cc: Andrew Morton, Jens Axboe, linux-fsdevel, Christoph Hellwig, LKML

On Wed, Nov 18, 2009 at 04:26:55PM +0800, Wu Fengguang wrote:
> No one is calling wb_writeback and write_cache_pages with
> wbc.nonblocking=1 any more. And lumpy pageout will want to do
> nonblocking writeback without the congestion wait.

....

> --- linux.orig/fs/xfs/linux-2.6/xfs_aops.c	2009-11-06 09:22:35.000000000 +0800
> +++ linux/fs/xfs/linux-2.6/xfs_aops.c	2009-11-06 09:52:21.000000000 +0800
> @@ -908,12 +908,8 @@ xfs_convert_page(
>  
>  			bdi = inode->i_mapping->backing_dev_info;
>  			wbc->nr_to_write--;
> -			if (bdi_write_congested(bdi)) {
> -				wbc->encountered_congestion = 1;

bdi is unused now, so can be removed as well. Otherwise looks fine.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 12/12] bdi: use bdi_stat_sum() for more accurate debugfs stats
  2009-11-18 10:38   ` Peter Zijlstra
@ 2009-11-19  7:59     ` Wu Fengguang
  2009-11-19  8:12       ` Peter Zijlstra
  0 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-19  7:59 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Andrew Morton, linux-fsdevel

On Wed, Nov 18, 2009 at 06:38:49PM +0800, Peter Zijlstra wrote:
> On Wed, 2009-11-18 at 16:27 +0800, Wu Fengguang wrote:
> > plain text document attachment (bdi-debug-dump-sum.patch)
> > CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
> > ---
> >  mm/backing-dev.c |    4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > --- linux.orig/mm/backing-dev.c	2009-11-18 16:25:28.000000000 +0800
> > +++ linux/mm/backing-dev.c	2009-11-18 16:26:10.000000000 +0800
> > @@ -104,8 +104,8 @@ static int bdi_debug_stats_show(struct s
> >  		   "wb_mask:          %8lx\n"
> >  		   "wb_list:          %8u\n"
> >  		   "wb_cnt:           %8u\n",
> > -		   (unsigned long) K(bdi_stat(bdi, BDI_WRITEBACK)),
> > -		   (unsigned long) K(bdi_stat(bdi, BDI_RECLAIMABLE)),
> > +		   (unsigned long) K(bdi_stat_sum(bdi, BDI_WRITEBACK)),
> > +		   (unsigned long) K(bdi_stat_sum(bdi, BDI_RECLAIMABLE)),
> >  		   K(bdi_thresh), K(dirty_thresh),
> >  		   K(background_thresh), nr_wb, nr_dirty, nr_io, nr_more_io,
> >  		   !list_empty(&bdi->bdi_list), bdi->state, bdi->wb_mask,
> > 
> 
> Is this really important? This patch is basically a local DoS for large
> machines.

I did this patch after seeing inaccurate exported numbers,
it may be confusing..

> Imagine someone doing:
> 
> while :; do cat /debug/bdi/*/stats; done
> 
> on a 512 cpu box.

Yes there will be overheads. However it's always possible to
create local DoS with some other kind of busy loop?

Thanks,
Fengguang


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 07/12] writeback: remove unused nonblocking and congestion checks (xfs)
  2009-11-18 21:27   ` Dave Chinner
@ 2009-11-19  8:05     ` Wu Fengguang
  2009-11-20  7:24       ` Dave Chinner
  0 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-19  8:05 UTC (permalink / raw)
  To: Dave Chinner
  Cc: Andrew Morton, Jens Axboe, linux-fsdevel, Christoph Hellwig, LKML

On Thu, Nov 19, 2009 at 05:27:55AM +0800, Dave Chinner wrote:
> On Wed, Nov 18, 2009 at 04:26:55PM +0800, Wu Fengguang wrote:
> > No one is calling wb_writeback and write_cache_pages with
> > wbc.nonblocking=1 any more. And lumpy pageout will want to do
> > nonblocking writeback without the congestion wait.
> 
> ....
> 
> > --- linux.orig/fs/xfs/linux-2.6/xfs_aops.c	2009-11-06 09:22:35.000000000 +0800
> > +++ linux/fs/xfs/linux-2.6/xfs_aops.c	2009-11-06 09:52:21.000000000 +0800
> > @@ -908,12 +908,8 @@ xfs_convert_page(
> >  
> >  			bdi = inode->i_mapping->backing_dev_info;
> >  			wbc->nr_to_write--;
> > -			if (bdi_write_congested(bdi)) {
> > -				wbc->encountered_congestion = 1;
> 
> bdi is unused now, so can be removed as well. Otherwise looks fine.

Thanks, here is the updated patch.

---
writeback: remove unused nonblocking and congestion checks (xfs)

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

CC: Dave Chinner <david@fromorbit.com> 
CC: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/xfs/linux-2.6/xfs_aops.c |    9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

--- linux.orig/fs/xfs/linux-2.6/xfs_aops.c	2009-11-19 16:00:51.000000000 +0800
+++ linux/fs/xfs/linux-2.6/xfs_aops.c	2009-11-19 16:04:33.000000000 +0800
@@ -904,16 +904,9 @@ xfs_convert_page(
 
 	if (startio) {
 		if (count) {
-			struct backing_dev_info *bdi;
-
-			bdi = inode->i_mapping->backing_dev_info;
 			wbc->nr_to_write--;
-			if (bdi_write_congested(bdi)) {
-				wbc->encountered_congestion = 1;
-				done = 1;
-			} else if (wbc->nr_to_write <= 0) {
+			if (wbc->nr_to_write <= 0)
 				done = 1;
-			}
 		}
 		xfs_start_page_writeback(page, !page_dirty, count);
 	}

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 04/12] writeback: remove unused nonblocking and congestion checks (afs)
  2009-11-18  8:26 ` [PATCH 04/12] writeback: remove unused nonblocking and congestion checks (afs) Wu Fengguang
@ 2009-11-19  8:09   ` Wu Fengguang
  2009-11-19 16:51   ` David Howells
  1 sibling, 0 replies; 33+ messages in thread
From: Wu Fengguang @ 2009-11-19  8:09 UTC (permalink / raw)
  To: David Howells, Andrew Morton, Jens Axboe; +Cc: linux-fsdevel, LKML

Hi David,

Will you pick up this updated patch? It also removes the unused bdi.

Thanks,
Fengguang
---
writeback: remove unused nonblocking and congestion checks (afs)

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

CC: David Howells <dhowells@redhat.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 fs/afs/write.c |   19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

--- linux.orig/fs/afs/write.c	2009-11-18 16:39:33.000000000 +0800
+++ linux/fs/afs/write.c	2009-11-19 16:07:31.000000000 +0800
@@ -438,7 +438,6 @@ no_more:
  */
 int afs_writepage(struct page *page, struct writeback_control *wbc)
 {
-	struct backing_dev_info *bdi = page->mapping->backing_dev_info;
 	struct afs_writeback *wb;
 	int ret;
 
@@ -455,8 +454,6 @@ int afs_writepage(struct page *page, str
 	}
 
 	wbc->nr_to_write -= ret;
-	if (wbc->nonblocking && bdi_write_congested(bdi))
-		wbc->encountered_congestion = 1;
 
 	_leave(" = 0");
 	return 0;
@@ -469,7 +466,6 @@ static int afs_writepages_region(struct 
 				 struct writeback_control *wbc,
 				 pgoff_t index, pgoff_t end, pgoff_t *_next)
 {
-	struct backing_dev_info *bdi = mapping->backing_dev_info;
 	struct afs_writeback *wb;
 	struct page *page;
 	int ret, n;
@@ -529,11 +525,6 @@ static int afs_writepages_region(struct 
 
 		wbc->nr_to_write -= ret;
 
-		if (wbc->nonblocking && bdi_write_congested(bdi)) {
-			wbc->encountered_congestion = 1;
-			break;
-		}
-
 		cond_resched();
 	} while (index < end && wbc->nr_to_write > 0);
 
@@ -548,24 +539,16 @@ static int afs_writepages_region(struct 
 int afs_writepages(struct address_space *mapping,
 		   struct writeback_control *wbc)
 {
-	struct backing_dev_info *bdi = mapping->backing_dev_info;
 	pgoff_t start, end, next;
 	int ret;
 
 	_enter("");
 
-	if (wbc->nonblocking && bdi_write_congested(bdi)) {
-		wbc->encountered_congestion = 1;
-		_leave(" = 0 [congest]");
-		return 0;
-	}
-
 	if (wbc->range_cyclic) {
 		start = mapping->writeback_index;
 		end = -1;
 		ret = afs_writepages_region(mapping, wbc, start, end, &next);
-		if (start > 0 && wbc->nr_to_write > 0 && ret == 0 &&
-		    !(wbc->nonblocking && wbc->encountered_congestion))
+		if (start > 0 && wbc->nr_to_write > 0 && ret == 0)
 			ret = afs_writepages_region(mapping, wbc, 0, start,
 						    &next);
 		mapping->writeback_index = next;

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 03/12] writeback: remove unused nonblocking and congestion checks (pohmelfs)
  2009-11-18  8:26 ` [PATCH 03/12] writeback: remove unused nonblocking and congestion checks (pohmelfs) Wu Fengguang
@ 2009-11-19  8:11   ` Wu Fengguang
  2009-11-19 11:04     ` Evgeniy Polyakov
  0 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-19  8:11 UTC (permalink / raw)
  To: Evgeniy Polyakov, Andrew Morton, Jens Axboe; +Cc: linux-fsdevel, LKML

Hi Evgeniy,

Will you pick up this updated patch? It also removes the unused bdi.

Thanks,
Fengguang
---
writeback: remove unused nonblocking and congestion checks (pohmelfs)

No one is calling wb_writeback and write_cache_pages with
wbc.nonblocking=1 any more. And lumpy pageout will want to do
nonblocking writeback without the congestion wait.

CC: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 drivers/staging/pohmelfs/inode.c |   10 ----------
 1 file changed, 10 deletions(-)

--- linux.orig/drivers/staging/pohmelfs/inode.c	2009-11-18 16:39:36.000000000 +0800
+++ linux/drivers/staging/pohmelfs/inode.c	2009-11-19 16:10:29.000000000 +0800
@@ -143,7 +143,6 @@ static int pohmelfs_writepages(struct ad
 	struct inode *inode = mapping->host;
 	struct pohmelfs_inode *pi = POHMELFS_I(inode);
 	struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb);
-	struct backing_dev_info *bdi = mapping->backing_dev_info;
 	int err = 0;
 	int done = 0;
 	int nr_pages;
@@ -152,11 +151,6 @@ static int pohmelfs_writepages(struct ad
 	int scanned = 0;
 	int range_whole = 0;
 
-	if (wbc->nonblocking && bdi_write_congested(bdi)) {
-		wbc->encountered_congestion = 1;
-		return 0;
-	}
-
 	if (wbc->range_cyclic) {
 		index = mapping->writeback_index; /* Start from prev offset */
 		end = -1;
@@ -248,10 +242,6 @@ retry:
 
 			if (wbc->nr_to_write <= 0)
 				done = 1;
-			if (wbc->nonblocking && bdi_write_congested(bdi)) {
-				wbc->encountered_congestion = 1;
-				done = 1;
-			}
 
 			continue;
 out_continue:

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 12/12] bdi: use bdi_stat_sum() for more accurate debugfs stats
  2009-11-19  7:59     ` Wu Fengguang
@ 2009-11-19  8:12       ` Peter Zijlstra
  2009-11-19  8:17         ` Wu Fengguang
  0 siblings, 1 reply; 33+ messages in thread
From: Peter Zijlstra @ 2009-11-19  8:12 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, linux-fsdevel

On Thu, 2009-11-19 at 15:59 +0800, Wu Fengguang wrote:
> On Wed, Nov 18, 2009 at 06:38:49PM +0800, Peter Zijlstra wrote:
> > On Wed, 2009-11-18 at 16:27 +0800, Wu Fengguang wrote:
> > > plain text document attachment (bdi-debug-dump-sum.patch)
> > > CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
> > > ---
> > >  mm/backing-dev.c |    4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > --- linux.orig/mm/backing-dev.c	2009-11-18 16:25:28.000000000 +0800
> > > +++ linux/mm/backing-dev.c	2009-11-18 16:26:10.000000000 +0800
> > > @@ -104,8 +104,8 @@ static int bdi_debug_stats_show(struct s
> > >  		   "wb_mask:          %8lx\n"
> > >  		   "wb_list:          %8u\n"
> > >  		   "wb_cnt:           %8u\n",
> > > -		   (unsigned long) K(bdi_stat(bdi, BDI_WRITEBACK)),
> > > -		   (unsigned long) K(bdi_stat(bdi, BDI_RECLAIMABLE)),
> > > +		   (unsigned long) K(bdi_stat_sum(bdi, BDI_WRITEBACK)),
> > > +		   (unsigned long) K(bdi_stat_sum(bdi, BDI_RECLAIMABLE)),
> > >  		   K(bdi_thresh), K(dirty_thresh),
> > >  		   K(background_thresh), nr_wb, nr_dirty, nr_io, nr_more_io,
> > >  		   !list_empty(&bdi->bdi_list), bdi->state, bdi->wb_mask,
> > > 
> > 
> > Is this really important? This patch is basically a local DoS for large
> > machines.
> 
> I did this patch after seeing inaccurate exported numbers,
> it may be confusing..
> 
> > Imagine someone doing:
> > 
> > while :; do cat /debug/bdi/*/stats; done
> > 
> > on a 512 cpu box.
> 
> Yes there will be overheads. However it's always possible to
> create local DoS with some other kind of busy loop?

Preferably not of the kind that renders your box unusable, esp by unpriv
users.

But yes there are probably a few local DoS' around, but I don't think
that warrants adding another one.


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 12/12] bdi: use bdi_stat_sum() for more accurate debugfs stats
  2009-11-19  8:12       ` Peter Zijlstra
@ 2009-11-19  8:17         ` Wu Fengguang
  0 siblings, 0 replies; 33+ messages in thread
From: Wu Fengguang @ 2009-11-19  8:17 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Andrew Morton, linux-fsdevel

On Thu, Nov 19, 2009 at 04:12:04PM +0800, Peter Zijlstra wrote:
> On Thu, 2009-11-19 at 15:59 +0800, Wu Fengguang wrote:
> > On Wed, Nov 18, 2009 at 06:38:49PM +0800, Peter Zijlstra wrote:
> > > On Wed, 2009-11-18 at 16:27 +0800, Wu Fengguang wrote:
> > > > plain text document attachment (bdi-debug-dump-sum.patch)
> > > > CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > > > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
> > > > ---
> > > >  mm/backing-dev.c |    4 ++--
> > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > > 
> > > > --- linux.orig/mm/backing-dev.c	2009-11-18 16:25:28.000000000 +0800
> > > > +++ linux/mm/backing-dev.c	2009-11-18 16:26:10.000000000 +0800
> > > > @@ -104,8 +104,8 @@ static int bdi_debug_stats_show(struct s
> > > >  		   "wb_mask:          %8lx\n"
> > > >  		   "wb_list:          %8u\n"
> > > >  		   "wb_cnt:           %8u\n",
> > > > -		   (unsigned long) K(bdi_stat(bdi, BDI_WRITEBACK)),
> > > > -		   (unsigned long) K(bdi_stat(bdi, BDI_RECLAIMABLE)),
> > > > +		   (unsigned long) K(bdi_stat_sum(bdi, BDI_WRITEBACK)),
> > > > +		   (unsigned long) K(bdi_stat_sum(bdi, BDI_RECLAIMABLE)),
> > > >  		   K(bdi_thresh), K(dirty_thresh),
> > > >  		   K(background_thresh), nr_wb, nr_dirty, nr_io, nr_more_io,
> > > >  		   !list_empty(&bdi->bdi_list), bdi->state, bdi->wb_mask,
> > > > 
> > > 
> > > Is this really important? This patch is basically a local DoS for large
> > > machines.
> > 
> > I did this patch after seeing inaccurate exported numbers,
> > it may be confusing..
> > 
> > > Imagine someone doing:
> > > 
> > > while :; do cat /debug/bdi/*/stats; done
> > > 
> > > on a 512 cpu box.
> > 
> > Yes there will be overheads. However it's always possible to
> > create local DoS with some other kind of busy loop?
> 
> Preferably not of the kind that renders your box unusable, esp by unpriv
> users.
> 
> But yes there are probably a few local DoS' around, but I don't think
> that warrants adding another one.

OK I'll drop this patch. I'm not feeling strong on either way.

Andrew/Jens, do you prefer for me to repost the non-fs-specific patches?

Thanks,
Fengguang


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 03/12] writeback: remove unused nonblocking and congestion checks (pohmelfs)
  2009-11-19  8:11   ` Wu Fengguang
@ 2009-11-19 11:04     ` Evgeniy Polyakov
  2009-11-20  1:53       ` Wu Fengguang
  0 siblings, 1 reply; 33+ messages in thread
From: Evgeniy Polyakov @ 2009-11-19 11:04 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, LKML

H1.

On Thu, Nov 19, 2009 at 04:11:54PM +0800, Wu Fengguang (fengguang.wu@intel.com) wrote:
> Will you pick up this updated patch? It also removes the unused bdi.

I'm ok with the changes, but I suppose it should be pushed as a single
patchet into the tree, no?

-- 
	Evgeniy Polyakov

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 04/12] writeback: remove unused nonblocking and congestion checks (afs)
  2009-11-18  8:26 ` [PATCH 04/12] writeback: remove unused nonblocking and congestion checks (afs) Wu Fengguang
  2009-11-19  8:09   ` Wu Fengguang
@ 2009-11-19 16:51   ` David Howells
  1 sibling, 0 replies; 33+ messages in thread
From: David Howells @ 2009-11-19 16:51 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: dhowells, Andrew Morton, Jens Axboe, linux-fsdevel, LKML

Wu Fengguang <fengguang.wu@intel.com> wrote:

> Will you pick up this updated patch? It also removes the unused bdi.

Sure - but it might be in a week and a bit.  I'm scrambling to get stuff done
before going on holiday next week.

David

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 03/12] writeback: remove unused nonblocking and congestion checks (pohmelfs)
  2009-11-19 11:04     ` Evgeniy Polyakov
@ 2009-11-20  1:53       ` Wu Fengguang
  2009-11-21 11:23         ` Evgeniy Polyakov
  0 siblings, 1 reply; 33+ messages in thread
From: Wu Fengguang @ 2009-11-20  1:53 UTC (permalink / raw)
  To: Evgeniy Polyakov; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, LKML

Hi Evgeniy,

On Thu, Nov 19, 2009 at 07:04:13PM +0800, Evgeniy Polyakov wrote:
> H1.
> 
> On Thu, Nov 19, 2009 at 04:11:54PM +0800, Wu Fengguang (fengguang.wu@intel.com) wrote:
> > Will you pick up this updated patch? It also removes the unused bdi.
> 
> I'm ok with the changes, but I suppose it should be pushed as a single
> patchet into the tree, no?

Either way works. I would submit a single patchset that includes the
generic ones and the fs specific patches that have not been picked up
into their fs tree :)

Thanks,
Fengguang


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 07/12] writeback: remove unused nonblocking and congestion checks (xfs)
  2009-11-19  8:05     ` Wu Fengguang
@ 2009-11-20  7:24       ` Dave Chinner
  0 siblings, 0 replies; 33+ messages in thread
From: Dave Chinner @ 2009-11-20  7:24 UTC (permalink / raw)
  To: Wu Fengguang
  Cc: Andrew Morton, Jens Axboe, linux-fsdevel, Christoph Hellwig, LKML

On Thu, Nov 19, 2009 at 04:05:22PM +0800, Wu Fengguang wrote:
> On Thu, Nov 19, 2009 at 05:27:55AM +0800, Dave Chinner wrote:
> > On Wed, Nov 18, 2009 at 04:26:55PM +0800, Wu Fengguang wrote:
> > > No one is calling wb_writeback and write_cache_pages with
> > > wbc.nonblocking=1 any more. And lumpy pageout will want to do
> > > nonblocking writeback without the congestion wait.
> > 
> > ....
> > 
> > > --- linux.orig/fs/xfs/linux-2.6/xfs_aops.c	2009-11-06 09:22:35.000000000 +0800
> > > +++ linux/fs/xfs/linux-2.6/xfs_aops.c	2009-11-06 09:52:21.000000000 +0800
> > > @@ -908,12 +908,8 @@ xfs_convert_page(
> > >  
> > >  			bdi = inode->i_mapping->backing_dev_info;
> > >  			wbc->nr_to_write--;
> > > -			if (bdi_write_congested(bdi)) {
> > > -				wbc->encountered_congestion = 1;
> > 
> > bdi is unused now, so can be removed as well. Otherwise looks fine.
> 
> Thanks, here is the updated patch.

Looks good.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 03/12] writeback: remove unused nonblocking and congestion checks (pohmelfs)
  2009-11-20  1:53       ` Wu Fengguang
@ 2009-11-21 11:23         ` Evgeniy Polyakov
  0 siblings, 0 replies; 33+ messages in thread
From: Evgeniy Polyakov @ 2009-11-21 11:23 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, LKML

Hi.

On Fri, Nov 20, 2009 at 09:53:17AM +0800, Wu Fengguang (fengguang.wu@intel.com) wrote:
> > On Thu, Nov 19, 2009 at 04:11:54PM +0800, Wu Fengguang (fengguang.wu@intel.com) wrote:
> > > Will you pick up this updated patch? It also removes the unused bdi.
> > 
> > I'm ok with the changes, but I suppose it should be pushed as a single
> > patchet into the tree, no?
> 
> Either way works. I would submit a single patchset that includes the
> generic ones and the fs specific patches that have not been picked up
> into their fs tree :)

Please push it within your patchset to eliminate merge dependencies if
any. Thank you.

-- 
	Evgeniy Polyakov

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 08/12] ext4: remove encountered_congestion trace
  2009-11-18  8:26 ` [PATCH 08/12] ext4: remove encountered_congestion trace Wu Fengguang
@ 2009-11-24 16:18   ` tytso
  0 siblings, 0 replies; 33+ messages in thread
From: tytso @ 2009-11-24 16:18 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, LKML

On Wed, Nov 18, 2009 at 04:26:56PM +0800, Wu Fengguang wrote:
> It is no longer set and scheduled to be removed.
> 
> CC: Theodore Ts'o <tytso@mit.edu>
> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>

Thanks, I've queued it in the ext4 patch queue.

	     	       	      - Ted

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 09/12] ext4: remove unused parameter wbc from __ext4_journalled_writepage()
  2009-11-18  8:26 ` [PATCH 09/12] ext4: remove unused parameter wbc from __ext4_journalled_writepage() Wu Fengguang
@ 2009-11-24 16:18   ` tytso
  0 siblings, 0 replies; 33+ messages in thread
From: tytso @ 2009-11-24 16:18 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: Andrew Morton, Jens Axboe, linux-fsdevel, Jan Kara, LKML

On Wed, Nov 18, 2009 at 04:26:57PM +0800, Wu Fengguang wrote:
> CC: Theodore Ts'o <tytso@mit.edu> 
> CC: Jan Kara <jack@suse.cz> 
> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>

Thanks, I've queued it in the ext4 patch queue.

	     	       	      	   	 - Ted

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2009-11-24 16:18 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-18  8:26 [PATCH 00/12] trivial writeback cleanups/fixes Wu Fengguang
2009-11-18  8:26 ` [PATCH 01/12] writeback: remove unused nonblocking and congestion checks Wu Fengguang
2009-11-18  8:26 ` [PATCH 02/12] writeback: remove unused nonblocking and congestion checks (write_cache_pages) Wu Fengguang
2009-11-18  8:26 ` [PATCH 03/12] writeback: remove unused nonblocking and congestion checks (pohmelfs) Wu Fengguang
2009-11-19  8:11   ` Wu Fengguang
2009-11-19 11:04     ` Evgeniy Polyakov
2009-11-20  1:53       ` Wu Fengguang
2009-11-21 11:23         ` Evgeniy Polyakov
2009-11-18  8:26 ` [PATCH 04/12] writeback: remove unused nonblocking and congestion checks (afs) Wu Fengguang
2009-11-19  8:09   ` Wu Fengguang
2009-11-19 16:51   ` David Howells
2009-11-18  8:26 ` [PATCH 05/12] writeback: remove unused nonblocking and congestion checks (cifs) Wu Fengguang
2009-11-18  8:26 ` [PATCH 06/12] writeback: remove unused nonblocking and congestion checks (gfs2) Wu Fengguang
2009-11-18  9:59   ` Steven Whitehouse
2009-11-18  9:59     ` Steven Whitehouse
2009-11-18 10:09     ` Wu Fengguang
2009-11-18 11:13       ` Steven Whitehouse
2009-11-18 11:13         ` Steven Whitehouse
2009-11-18  8:26 ` [PATCH 07/12] writeback: remove unused nonblocking and congestion checks (xfs) Wu Fengguang
2009-11-18 21:27   ` Dave Chinner
2009-11-19  8:05     ` Wu Fengguang
2009-11-20  7:24       ` Dave Chinner
2009-11-18  8:26 ` [PATCH 08/12] ext4: remove encountered_congestion trace Wu Fengguang
2009-11-24 16:18   ` tytso
2009-11-18  8:26 ` [PATCH 09/12] ext4: remove unused parameter wbc from __ext4_journalled_writepage() Wu Fengguang
2009-11-24 16:18   ` tytso
2009-11-18  8:26 ` [PATCH 10/12] writeback: remove the always false bdi_cap_writeback_dirty() test Wu Fengguang
2009-11-18  8:26 ` [PATCH 11/12] writeback: introduce wbc.for_background Wu Fengguang
2009-11-18  8:27 ` [PATCH 12/12] bdi: use bdi_stat_sum() for more accurate debugfs stats Wu Fengguang
2009-11-18 10:38   ` Peter Zijlstra
2009-11-19  7:59     ` Wu Fengguang
2009-11-19  8:12       ` Peter Zijlstra
2009-11-19  8:17         ` Wu Fengguang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.