Re: [PATCH 09/12] mm: count unstable pages per BDI
On Thu, 2007-04-19 at 21:20 +0200, Miklos Szeredi wrote: > > Index: linux-2.6/fs/buffer.c > > === > > --- linux-2.6.orig/fs/buffer.c 2007-04-19 19:59:26.0 +0200 > > +++ linux-2.6/fs/buffer.c 2007-04-19 20:35:39.0 +0200 > > @@ -733,7 +733,7 @@ int __set_page_dirty_buffers(struct page > > if (page->mapping) {/* Race with truncate? */ > > if (mapping_cap_account_dirty(mapping)) { > > __inc_zone_page_state(page, NR_FILE_DIRTY); > > - __inc_bdi_stat(mapping->backing_dev_info, BDI_DIRTY); > > + __inc_bdi_stat(mapping->backing_dev_info, BDI_RECLAIM); > > This name suggests it's _under_ reclaim, which is not true. You might > rather want to call it BDI_RECLAIMABLE, or something similar in > meaning. Yeah, my fingers got lazy on me :-) will instruct them to type more. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/12] mm: count unstable pages per BDI
> Index: linux-2.6/fs/buffer.c > === > --- linux-2.6.orig/fs/buffer.c2007-04-19 19:59:26.0 +0200 > +++ linux-2.6/fs/buffer.c 2007-04-19 20:35:39.0 +0200 > @@ -733,7 +733,7 @@ int __set_page_dirty_buffers(struct page > if (page->mapping) {/* Race with truncate? */ > if (mapping_cap_account_dirty(mapping)) { > __inc_zone_page_state(page, NR_FILE_DIRTY); > - __inc_bdi_stat(mapping->backing_dev_info, BDI_DIRTY); > + __inc_bdi_stat(mapping->backing_dev_info, BDI_RECLAIM); This name suggests it's _under_ reclaim, which is not true. You might rather want to call it BDI_RECLAIMABLE, or something similar in meaning. Miklos - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/12] mm: count unstable pages per BDI
On Thu, 2007-04-19 at 20:46 +0200, Peter Zijlstra wrote: > On Thu, 2007-04-19 at 20:12 +0200, Peter Zijlstra wrote: > > On Thu, 2007-04-19 at 19:44 +0200, Miklos Szeredi wrote: > > > > Count per BDI unstable pages. > > > > > > > > > > I'm wondering, is it really worth having this category separate from > > > per BDI brity pages? > > > > > > With the exception of the export to sysfs, always the sum of unstable > > > + dirty is used. > > > > I guess you are right, but it offends my sense of aesthetics to break > > symmetry with the zone statistics. However, it has the added advantage > > of only needing 2 deltas as well. > > I guess, this should do. OK, the compiler told me I messed up :-/. I'll respin the whole series and repost tomorrow or something... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/12] mm: count unstable pages per BDI
On Thu, 2007-04-19 at 20:12 +0200, Peter Zijlstra wrote: > On Thu, 2007-04-19 at 19:44 +0200, Miklos Szeredi wrote: > > > Count per BDI unstable pages. > > > > > > > I'm wondering, is it really worth having this category separate from > > per BDI brity pages? > > > > With the exception of the export to sysfs, always the sum of unstable > > + dirty is used. > > I guess you are right, but it offends my sense of aesthetics to break > symmetry with the zone statistics. However, it has the added advantage > of only needing 2 deltas as well. I guess, this should do. --- fs/buffer.c |2 +- fs/nfs/write.c | 11 +++ include/linux/backing-dev.h |3 +-- mm/page-writeback.c | 16 +++- mm/truncate.c |2 +- 5 files changed, 17 insertions(+), 17 deletions(-) Index: linux-2.6/fs/buffer.c === --- linux-2.6.orig/fs/buffer.c 2007-04-19 19:59:26.0 +0200 +++ linux-2.6/fs/buffer.c 2007-04-19 20:35:39.0 +0200 @@ -733,7 +733,7 @@ int __set_page_dirty_buffers(struct page if (page->mapping) {/* Race with truncate? */ if (mapping_cap_account_dirty(mapping)) { __inc_zone_page_state(page, NR_FILE_DIRTY); - __inc_bdi_stat(mapping->backing_dev_info, BDI_DIRTY); + __inc_bdi_stat(mapping->backing_dev_info, BDI_RECLAIM); task_io_account_write(PAGE_CACHE_SIZE); } radix_tree_tag_set(>page_tree, Index: linux-2.6/fs/nfs/write.c === --- linux-2.6.orig/fs/nfs/write.c 2007-04-19 19:59:26.0 +0200 +++ linux-2.6/fs/nfs/write.c2007-04-19 20:39:03.0 +0200 @@ -456,7 +456,7 @@ nfs_mark_request_commit(struct nfs_page nfsi->ncommit++; spin_unlock(>req_lock); inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); - inc_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_UNSTABLE); + inc_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_RECLAIM); __mark_inode_dirty(inode, I_DIRTY_DATASYNC); } #endif @@ -518,7 +518,8 @@ static void nfs_cancel_commit_list(struc while(!list_empty(head)) { req = nfs_list_entry(head->next); dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); - dec_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_UNSTABLE); + dec_bdi_stat(req->wb_page->mapping->backing_dev_info, + BDI_RECLAIM); nfs_list_remove_request(req); nfs_inode_remove_request(req); nfs_unlock_request(req); @@ -1247,7 +1248,8 @@ nfs_commit_list(struct inode *inode, str nfs_list_remove_request(req); nfs_mark_request_commit(req); dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); - dec_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_UNSTABLE); + dec_bdi_stat(req->wb_page->mapping->backing_dev_info, + BDI_RECLAIM); nfs_clear_page_writeback(req); } return -ENOMEM; @@ -1272,7 +1274,8 @@ static void nfs_commit_done(struct rpc_t req = nfs_list_entry(data->pages.next); nfs_list_remove_request(req); dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); - dec_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_UNSTABLE); + dec_bdi_stat(req->wb_page->mapping->backing_dev_info, + BDI_RECLAIM); dprintk("NFS: commit (%s/%Ld [EMAIL PROTECTED])", req->wb_context->dentry->d_inode->i_sb->s_id, Index: linux-2.6/include/linux/backing-dev.h === --- linux-2.6.orig/include/linux/backing-dev.h 2007-04-19 19:59:26.0 +0200 +++ linux-2.6/include/linux/backing-dev.h 2007-04-19 20:39:24.0 +0200 @@ -26,9 +26,8 @@ enum bdi_state { typedef int (congested_fn)(void *, int); enum bdi_stat_item { - BDI_DIRTY, + BDI_RECLAIM, BDI_WRITEBACK, - BDI_UNSTABLE, BDI_WRITEOUT, NR_BDI_STAT_ITEMS }; Index: linux-2.6/mm/page-writeback.c === --- linux-2.6.orig/mm/page-writeback.c 2007-04-19 20:00:09.0 +0200 +++ linux-2.6/mm/page-writeback.c 2007-04-19 20:40:29.0 +0200 @@ -300,8 +300,7 @@ static void balance_dirty_pages(struct a get_dirty_limits(_thresh, _thresh, _thresh, bdi); - bdi_nr_reclaimable = bdi_stat(bdi, BDI_DIRTY) + - bdi_stat(bdi, BDI_UNSTABLE); + bdi_nr_reclaimable =
Re: [PATCH 09/12] mm: count unstable pages per BDI
On Thu, 2007-04-19 at 19:44 +0200, Miklos Szeredi wrote: > > Count per BDI unstable pages. > > > > I'm wondering, is it really worth having this category separate from > per BDI brity pages? > > With the exception of the export to sysfs, always the sum of unstable > + dirty is used. I guess you are right, but it offends my sense of aesthetics to break symmetry with the zone statistics. However, it has the added advantage of only needing 2 deltas as well. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/12] mm: count unstable pages per BDI
> Count per BDI unstable pages. > I'm wondering, is it really worth having this category separate from per BDI brity pages? With the exception of the export to sysfs, always the sum of unstable + dirty is used. Miklos - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/12] mm: count unstable pages per BDI
Count per BDI unstable pages. I'm wondering, is it really worth having this category separate from per BDI brity pages? With the exception of the export to sysfs, always the sum of unstable + dirty is used. Miklos - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/12] mm: count unstable pages per BDI
On Thu, 2007-04-19 at 19:44 +0200, Miklos Szeredi wrote: Count per BDI unstable pages. I'm wondering, is it really worth having this category separate from per BDI brity pages? With the exception of the export to sysfs, always the sum of unstable + dirty is used. I guess you are right, but it offends my sense of aesthetics to break symmetry with the zone statistics. However, it has the added advantage of only needing 2 deltas as well. - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/12] mm: count unstable pages per BDI
On Thu, 2007-04-19 at 20:12 +0200, Peter Zijlstra wrote: On Thu, 2007-04-19 at 19:44 +0200, Miklos Szeredi wrote: Count per BDI unstable pages. I'm wondering, is it really worth having this category separate from per BDI brity pages? With the exception of the export to sysfs, always the sum of unstable + dirty is used. I guess you are right, but it offends my sense of aesthetics to break symmetry with the zone statistics. However, it has the added advantage of only needing 2 deltas as well. I guess, this should do. --- fs/buffer.c |2 +- fs/nfs/write.c | 11 +++ include/linux/backing-dev.h |3 +-- mm/page-writeback.c | 16 +++- mm/truncate.c |2 +- 5 files changed, 17 insertions(+), 17 deletions(-) Index: linux-2.6/fs/buffer.c === --- linux-2.6.orig/fs/buffer.c 2007-04-19 19:59:26.0 +0200 +++ linux-2.6/fs/buffer.c 2007-04-19 20:35:39.0 +0200 @@ -733,7 +733,7 @@ int __set_page_dirty_buffers(struct page if (page-mapping) {/* Race with truncate? */ if (mapping_cap_account_dirty(mapping)) { __inc_zone_page_state(page, NR_FILE_DIRTY); - __inc_bdi_stat(mapping-backing_dev_info, BDI_DIRTY); + __inc_bdi_stat(mapping-backing_dev_info, BDI_RECLAIM); task_io_account_write(PAGE_CACHE_SIZE); } radix_tree_tag_set(mapping-page_tree, Index: linux-2.6/fs/nfs/write.c === --- linux-2.6.orig/fs/nfs/write.c 2007-04-19 19:59:26.0 +0200 +++ linux-2.6/fs/nfs/write.c2007-04-19 20:39:03.0 +0200 @@ -456,7 +456,7 @@ nfs_mark_request_commit(struct nfs_page nfsi-ncommit++; spin_unlock(nfsi-req_lock); inc_zone_page_state(req-wb_page, NR_UNSTABLE_NFS); - inc_bdi_stat(req-wb_page-mapping-backing_dev_info, BDI_UNSTABLE); + inc_bdi_stat(req-wb_page-mapping-backing_dev_info, BDI_RECLAIM); __mark_inode_dirty(inode, I_DIRTY_DATASYNC); } #endif @@ -518,7 +518,8 @@ static void nfs_cancel_commit_list(struc while(!list_empty(head)) { req = nfs_list_entry(head-next); dec_zone_page_state(req-wb_page, NR_UNSTABLE_NFS); - dec_bdi_stat(req-wb_page-mapping-backing_dev_info, BDI_UNSTABLE); + dec_bdi_stat(req-wb_page-mapping-backing_dev_info, + BDI_RECLAIM); nfs_list_remove_request(req); nfs_inode_remove_request(req); nfs_unlock_request(req); @@ -1247,7 +1248,8 @@ nfs_commit_list(struct inode *inode, str nfs_list_remove_request(req); nfs_mark_request_commit(req); dec_zone_page_state(req-wb_page, NR_UNSTABLE_NFS); - dec_bdi_stat(req-wb_page-mapping-backing_dev_info, BDI_UNSTABLE); + dec_bdi_stat(req-wb_page-mapping-backing_dev_info, + BDI_RECLAIM); nfs_clear_page_writeback(req); } return -ENOMEM; @@ -1272,7 +1274,8 @@ static void nfs_commit_done(struct rpc_t req = nfs_list_entry(data-pages.next); nfs_list_remove_request(req); dec_zone_page_state(req-wb_page, NR_UNSTABLE_NFS); - dec_bdi_stat(req-wb_page-mapping-backing_dev_info, BDI_UNSTABLE); + dec_bdi_stat(req-wb_page-mapping-backing_dev_info, + BDI_RECLAIM); dprintk(NFS: commit (%s/%Ld [EMAIL PROTECTED]), req-wb_context-dentry-d_inode-i_sb-s_id, Index: linux-2.6/include/linux/backing-dev.h === --- linux-2.6.orig/include/linux/backing-dev.h 2007-04-19 19:59:26.0 +0200 +++ linux-2.6/include/linux/backing-dev.h 2007-04-19 20:39:24.0 +0200 @@ -26,9 +26,8 @@ enum bdi_state { typedef int (congested_fn)(void *, int); enum bdi_stat_item { - BDI_DIRTY, + BDI_RECLAIM, BDI_WRITEBACK, - BDI_UNSTABLE, BDI_WRITEOUT, NR_BDI_STAT_ITEMS }; Index: linux-2.6/mm/page-writeback.c === --- linux-2.6.orig/mm/page-writeback.c 2007-04-19 20:00:09.0 +0200 +++ linux-2.6/mm/page-writeback.c 2007-04-19 20:40:29.0 +0200 @@ -300,8 +300,7 @@ static void balance_dirty_pages(struct a get_dirty_limits(background_thresh, dirty_thresh, bdi_thresh, bdi); - bdi_nr_reclaimable = bdi_stat(bdi, BDI_DIRTY) + - bdi_stat(bdi, BDI_UNSTABLE); + bdi_nr_reclaimable = bdi_stat(bdi, BDI_RECLAIM);
Re: [PATCH 09/12] mm: count unstable pages per BDI
On Thu, 2007-04-19 at 20:46 +0200, Peter Zijlstra wrote: On Thu, 2007-04-19 at 20:12 +0200, Peter Zijlstra wrote: On Thu, 2007-04-19 at 19:44 +0200, Miklos Szeredi wrote: Count per BDI unstable pages. I'm wondering, is it really worth having this category separate from per BDI brity pages? With the exception of the export to sysfs, always the sum of unstable + dirty is used. I guess you are right, but it offends my sense of aesthetics to break symmetry with the zone statistics. However, it has the added advantage of only needing 2 deltas as well. I guess, this should do. OK, the compiler told me I messed up :-/. I'll respin the whole series and repost tomorrow or something... - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/12] mm: count unstable pages per BDI
Index: linux-2.6/fs/buffer.c === --- linux-2.6.orig/fs/buffer.c2007-04-19 19:59:26.0 +0200 +++ linux-2.6/fs/buffer.c 2007-04-19 20:35:39.0 +0200 @@ -733,7 +733,7 @@ int __set_page_dirty_buffers(struct page if (page-mapping) {/* Race with truncate? */ if (mapping_cap_account_dirty(mapping)) { __inc_zone_page_state(page, NR_FILE_DIRTY); - __inc_bdi_stat(mapping-backing_dev_info, BDI_DIRTY); + __inc_bdi_stat(mapping-backing_dev_info, BDI_RECLAIM); This name suggests it's _under_ reclaim, which is not true. You might rather want to call it BDI_RECLAIMABLE, or something similar in meaning. Miklos - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 09/12] mm: count unstable pages per BDI
On Thu, 2007-04-19 at 21:20 +0200, Miklos Szeredi wrote: Index: linux-2.6/fs/buffer.c === --- linux-2.6.orig/fs/buffer.c 2007-04-19 19:59:26.0 +0200 +++ linux-2.6/fs/buffer.c 2007-04-19 20:35:39.0 +0200 @@ -733,7 +733,7 @@ int __set_page_dirty_buffers(struct page if (page-mapping) {/* Race with truncate? */ if (mapping_cap_account_dirty(mapping)) { __inc_zone_page_state(page, NR_FILE_DIRTY); - __inc_bdi_stat(mapping-backing_dev_info, BDI_DIRTY); + __inc_bdi_stat(mapping-backing_dev_info, BDI_RECLAIM); This name suggests it's _under_ reclaim, which is not true. You might rather want to call it BDI_RECLAIMABLE, or something similar in meaning. Yeah, my fingers got lazy on me :-) will instruct them to type more. - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/