* [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.