diff for duplicates of <20100302110239.GB1921@linux> diff --git a/a/1.txt b/N1/1.txt index 25d5dc4..030aa5b 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -5,85 +5,85 @@ On Tue, Mar 02, 2010 at 12:11:10PM +0200, Kirill A. Shutemov wrote: > > > > Signed-off-by: Andrea Righi <arighi@develer.com> > > --- -> > fs/fuse/file.c | 5 +++ -> > fs/nfs/write.c | 4 ++ -> > fs/nilfs2/segment.c | 10 +++++- -> > mm/filemap.c | 1 + -> > mm/page-writeback.c | 84 ++++++++++++++++++++++++++++++++------------------ -> > mm/rmap.c | 4 +- -> > mm/truncate.c | 2 + -> > 7 files changed, 76 insertions(+), 34 deletions(-) +> > fs/fuse/file.c | 5 +++ +> > fs/nfs/write.c | 4 ++ +> > fs/nilfs2/segment.c | 10 +++++- +> > mm/filemap.c | 1 + +> > mm/page-writeback.c | 84 ++++++++++++++++++++++++++++++++------------------ +> > mm/rmap.c | 4 +- +> > mm/truncate.c | 2 + +> > 7 files changed, 76 insertions(+), 34 deletions(-) > > > > diff --git a/fs/fuse/file.c b/fs/fuse/file.c > > index a9f5e13..dbbdd53 100644 > > --- a/fs/fuse/file.c > > +++ b/fs/fuse/file.c > > @@ -11,6 +11,7 @@ -> > #include <linux/pagemap.h> -> > #include <linux/slab.h> -> > #include <linux/kernel.h> +> > #include <linux/pagemap.h> +> > #include <linux/slab.h> +> > #include <linux/kernel.h> > > +#include <linux/memcontrol.h> -> > #include <linux/sched.h> -> > #include <linux/module.h> +> > #include <linux/sched.h> +> > #include <linux/module.h> > > > > @@ -1129,6 +1130,8 @@ static void fuse_writepage_finish(struct fuse_conn *fc, struct fuse_req *req) > > -> > list_del(&req->writepages_entry); -> > dec_bdi_stat(bdi, BDI_WRITEBACK); -> > + mem_cgroup_update_stat(req->pages[0], -> > + MEM_CGROUP_STAT_WRITEBACK_TEMP, -1); -> > dec_zone_page_state(req->pages[0], NR_WRITEBACK_TEMP); -> > bdi_writeout_inc(bdi); -> > wake_up(&fi->page_waitq); +> > list_del(&req->writepages_entry); +> > dec_bdi_stat(bdi, BDI_WRITEBACK); +> > + mem_cgroup_update_stat(req->pages[0], +> > + MEM_CGROUP_STAT_WRITEBACK_TEMP, -1); +> > dec_zone_page_state(req->pages[0], NR_WRITEBACK_TEMP); +> > bdi_writeout_inc(bdi); +> > wake_up(&fi->page_waitq); > > @@ -1240,6 +1243,8 @@ static int fuse_writepage_locked(struct page *page) -> > req->inode = inode; +> > req->inode = inode; > > -> > inc_bdi_stat(mapping->backing_dev_info, BDI_WRITEBACK); -> > + mem_cgroup_update_stat(tmp_page, -> > + MEM_CGROUP_STAT_WRITEBACK_TEMP, 1); -> > inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP); -> > end_page_writeback(page); +> > inc_bdi_stat(mapping->backing_dev_info, BDI_WRITEBACK); +> > + mem_cgroup_update_stat(tmp_page, +> > + MEM_CGROUP_STAT_WRITEBACK_TEMP, 1); +> > inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP); +> > end_page_writeback(page); > > > > diff --git a/fs/nfs/write.c b/fs/nfs/write.c > > index b753242..7316f7a 100644 > > --- a/fs/nfs/write.c > > +++ b/fs/nfs/write.c > > @@ -439,6 +439,7 @@ nfs_mark_request_commit(struct nfs_page *req) -> > req->wb_index, -> > NFS_PAGE_TAG_COMMIT); -> > spin_unlock(&inode->i_lock); -> > + mem_cgroup_update_stat(req->wb_page, MEM_CGROUP_STAT_UNSTABLE_NFS, 1); -> > inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); -> > inc_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_UNSTABLE); -> > __mark_inode_dirty(inode, I_DIRTY_DATASYNC); +> > req->wb_index, +> > NFS_PAGE_TAG_COMMIT); +> > spin_unlock(&inode->i_lock); +> > + mem_cgroup_update_stat(req->wb_page, MEM_CGROUP_STAT_UNSTABLE_NFS, 1); +> > inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); +> > inc_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_UNSTABLE); +> > __mark_inode_dirty(inode, I_DIRTY_DATASYNC); > > @@ -450,6 +451,7 @@ nfs_clear_request_commit(struct nfs_page *req) -> > struct page *page = req->wb_page; +> > struct page *page = req->wb_page; > > -> > if (test_and_clear_bit(PG_CLEAN, &(req)->wb_flags)) { -> > + mem_cgroup_update_stat(page, MEM_CGROUP_STAT_UNSTABLE_NFS, -1); -> > dec_zone_page_state(page, NR_UNSTABLE_NFS); -> > dec_bdi_stat(page->mapping->backing_dev_info, BDI_UNSTABLE); -> > return 1; +> > if (test_and_clear_bit(PG_CLEAN, &(req)->wb_flags)) { +> > + mem_cgroup_update_stat(page, MEM_CGROUP_STAT_UNSTABLE_NFS, -1); +> > dec_zone_page_state(page, NR_UNSTABLE_NFS); +> > dec_bdi_stat(page->mapping->backing_dev_info, BDI_UNSTABLE); +> > return 1; > > @@ -1273,6 +1275,8 @@ nfs_commit_list(struct inode *inode, struct list_head *head, int how) -> > req = nfs_list_entry(head->next); -> > nfs_list_remove_request(req); -> > nfs_mark_request_commit(req); -> > + mem_cgroup_update_stat(req->wb_page, -> > + MEM_CGROUP_STAT_UNSTABLE_NFS, -1); -> > dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); -> > dec_bdi_stat(req->wb_page->mapping->backing_dev_info, -> > BDI_UNSTABLE); +> > req = nfs_list_entry(head->next); +> > nfs_list_remove_request(req); +> > nfs_mark_request_commit(req); +> > + mem_cgroup_update_stat(req->wb_page, +> > + MEM_CGROUP_STAT_UNSTABLE_NFS, -1); +> > dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); +> > dec_bdi_stat(req->wb_page->mapping->backing_dev_info, +> > BDI_UNSTABLE); > > diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c > > index ada2f1b..aef6d13 100644 > > --- a/fs/nilfs2/segment.c > > +++ b/fs/nilfs2/segment.c > > @@ -1660,8 +1660,11 @@ nilfs_copy_replace_page_buffers(struct page *page, struct list_head *out) -> > } while (bh = bh->b_this_page, bh2 = bh2->b_this_page, bh != head); -> > kunmap_atomic(kaddr, KM_USER0); +> > } while (bh = bh->b_this_page, bh2 = bh2->b_this_page, bh != head); +> > kunmap_atomic(kaddr, KM_USER0); > > -> > - if (!TestSetPageWriteback(clone_page)) -> > + if (!TestSetPageWriteback(clone_page)) { -> > + mem_cgroup_update_stat(clone_page, +> > - if (!TestSetPageWriteback(clone_page)) +> > + if (!TestSetPageWriteback(clone_page)) { +> > + mem_cgroup_update_stat(clone_page, > > s/clone_page/page/ @@ -99,3 +99,9 @@ I'll apply your fixes and post a new version. Thanks for reviewing, -Andrea + +-- +To unsubscribe, send a message with 'unsubscribe linux-mm' in +the body to majordomo@kvack.org. For more info on Linux MM, +see: http://www.linux-mm.org/ . +Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N1/content_digest index 2a74c68..bf53f80 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -23,85 +23,85 @@ "> >\n" "> > Signed-off-by: Andrea Righi <arighi@develer.com>\n" "> > ---\n" - "> > \302\240fs/fuse/file.c \302\240 \302\240 \302\240| \302\240 \302\2405 +++\n" - "> > \302\240fs/nfs/write.c \302\240 \302\240 \302\240| \302\240 \302\2404 ++\n" - "> > \302\240fs/nilfs2/segment.c | \302\240 10 +++++-\n" - "> > \302\240mm/filemap.c \302\240 \302\240 \302\240 \302\240| \302\240 \302\2401 +\n" - "> > \302\240mm/page-writeback.c | \302\240 84 ++++++++++++++++++++++++++++++++------------------\n" - "> > \302\240mm/rmap.c \302\240 \302\240 \302\240 \302\240 \302\240 | \302\240 \302\2404 +-\n" - "> > \302\240mm/truncate.c \302\240 \302\240 \302\240 | \302\240 \302\2402 +\n" - "> > \302\2407 files changed, 76 insertions(+), 34 deletions(-)\n" + "> > fs/fuse/file.c | 5 +++\n" + "> > fs/nfs/write.c | 4 ++\n" + "> > fs/nilfs2/segment.c | 10 +++++-\n" + "> > mm/filemap.c | 1 +\n" + "> > mm/page-writeback.c | 84 ++++++++++++++++++++++++++++++++------------------\n" + "> > mm/rmap.c | 4 +-\n" + "> > mm/truncate.c | 2 +\n" + "> > 7 files changed, 76 insertions(+), 34 deletions(-)\n" "> >\n" "> > diff --git a/fs/fuse/file.c b/fs/fuse/file.c\n" "> > index a9f5e13..dbbdd53 100644\n" "> > --- a/fs/fuse/file.c\n" "> > +++ b/fs/fuse/file.c\n" "> > @@ -11,6 +11,7 @@\n" - "> > \302\240#include <linux/pagemap.h>\n" - "> > \302\240#include <linux/slab.h>\n" - "> > \302\240#include <linux/kernel.h>\n" + "> > #include <linux/pagemap.h>\n" + "> > #include <linux/slab.h>\n" + "> > #include <linux/kernel.h>\n" "> > +#include <linux/memcontrol.h>\n" - "> > \302\240#include <linux/sched.h>\n" - "> > \302\240#include <linux/module.h>\n" + "> > #include <linux/sched.h>\n" + "> > #include <linux/module.h>\n" "> >\n" "> > @@ -1129,6 +1130,8 @@ static void fuse_writepage_finish(struct fuse_conn *fc, struct fuse_req *req)\n" "> >\n" - "> > \302\240 \302\240 \302\240 \302\240list_del(&req->writepages_entry);\n" - "> > \302\240 \302\240 \302\240 \302\240dec_bdi_stat(bdi, BDI_WRITEBACK);\n" - "> > + \302\240 \302\240 \302\240 mem_cgroup_update_stat(req->pages[0],\n" - "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 MEM_CGROUP_STAT_WRITEBACK_TEMP, -1);\n" - "> > \302\240 \302\240 \302\240 \302\240dec_zone_page_state(req->pages[0], NR_WRITEBACK_TEMP);\n" - "> > \302\240 \302\240 \302\240 \302\240bdi_writeout_inc(bdi);\n" - "> > \302\240 \302\240 \302\240 \302\240wake_up(&fi->page_waitq);\n" + "> > list_del(&req->writepages_entry);\n" + "> > dec_bdi_stat(bdi, BDI_WRITEBACK);\n" + "> > + mem_cgroup_update_stat(req->pages[0],\n" + "> > + MEM_CGROUP_STAT_WRITEBACK_TEMP, -1);\n" + "> > dec_zone_page_state(req->pages[0], NR_WRITEBACK_TEMP);\n" + "> > bdi_writeout_inc(bdi);\n" + "> > wake_up(&fi->page_waitq);\n" "> > @@ -1240,6 +1243,8 @@ static int fuse_writepage_locked(struct page *page)\n" - "> > \302\240 \302\240 \302\240 \302\240req->inode = inode;\n" + "> > req->inode = inode;\n" "> >\n" - "> > \302\240 \302\240 \302\240 \302\240inc_bdi_stat(mapping->backing_dev_info, BDI_WRITEBACK);\n" - "> > + \302\240 \302\240 \302\240 mem_cgroup_update_stat(tmp_page,\n" - "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 MEM_CGROUP_STAT_WRITEBACK_TEMP, 1);\n" - "> > \302\240 \302\240 \302\240 \302\240inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP);\n" - "> > \302\240 \302\240 \302\240 \302\240end_page_writeback(page);\n" + "> > inc_bdi_stat(mapping->backing_dev_info, BDI_WRITEBACK);\n" + "> > + mem_cgroup_update_stat(tmp_page,\n" + "> > + MEM_CGROUP_STAT_WRITEBACK_TEMP, 1);\n" + "> > inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP);\n" + "> > end_page_writeback(page);\n" "> >\n" "> > diff --git a/fs/nfs/write.c b/fs/nfs/write.c\n" "> > index b753242..7316f7a 100644\n" "> > --- a/fs/nfs/write.c\n" "> > +++ b/fs/nfs/write.c\n" "> > @@ -439,6 +439,7 @@ nfs_mark_request_commit(struct nfs_page *req)\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240req->wb_index,\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240NFS_PAGE_TAG_COMMIT);\n" - "> > \302\240 \302\240 \302\240 \302\240spin_unlock(&inode->i_lock);\n" - "> > + \302\240 \302\240 \302\240 mem_cgroup_update_stat(req->wb_page, MEM_CGROUP_STAT_UNSTABLE_NFS, 1);\n" - "> > \302\240 \302\240 \302\240 \302\240inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS);\n" - "> > \302\240 \302\240 \302\240 \302\240inc_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_UNSTABLE);\n" - "> > \302\240 \302\240 \302\240 \302\240__mark_inode_dirty(inode, I_DIRTY_DATASYNC);\n" + "> > req->wb_index,\n" + "> > NFS_PAGE_TAG_COMMIT);\n" + "> > spin_unlock(&inode->i_lock);\n" + "> > + mem_cgroup_update_stat(req->wb_page, MEM_CGROUP_STAT_UNSTABLE_NFS, 1);\n" + "> > inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS);\n" + "> > inc_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_UNSTABLE);\n" + "> > __mark_inode_dirty(inode, I_DIRTY_DATASYNC);\n" "> > @@ -450,6 +451,7 @@ nfs_clear_request_commit(struct nfs_page *req)\n" - "> > \302\240 \302\240 \302\240 \302\240struct page *page = req->wb_page;\n" + "> > struct page *page = req->wb_page;\n" "> >\n" - "> > \302\240 \302\240 \302\240 \302\240if (test_and_clear_bit(PG_CLEAN, &(req)->wb_flags)) {\n" - "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 mem_cgroup_update_stat(page, MEM_CGROUP_STAT_UNSTABLE_NFS, -1);\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240dec_zone_page_state(page, NR_UNSTABLE_NFS);\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240dec_bdi_stat(page->mapping->backing_dev_info, BDI_UNSTABLE);\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240return 1;\n" + "> > if (test_and_clear_bit(PG_CLEAN, &(req)->wb_flags)) {\n" + "> > + mem_cgroup_update_stat(page, MEM_CGROUP_STAT_UNSTABLE_NFS, -1);\n" + "> > dec_zone_page_state(page, NR_UNSTABLE_NFS);\n" + "> > dec_bdi_stat(page->mapping->backing_dev_info, BDI_UNSTABLE);\n" + "> > return 1;\n" "> > @@ -1273,6 +1275,8 @@ nfs_commit_list(struct inode *inode, struct list_head *head, int how)\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240req = nfs_list_entry(head->next);\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240nfs_list_remove_request(req);\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240nfs_mark_request_commit(req);\n" - "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 mem_cgroup_update_stat(req->wb_page,\n" - "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 MEM_CGROUP_STAT_UNSTABLE_NFS, -1);\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS);\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240dec_bdi_stat(req->wb_page->mapping->backing_dev_info,\n" - "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240BDI_UNSTABLE);\n" + "> > req = nfs_list_entry(head->next);\n" + "> > nfs_list_remove_request(req);\n" + "> > nfs_mark_request_commit(req);\n" + "> > + mem_cgroup_update_stat(req->wb_page,\n" + "> > + MEM_CGROUP_STAT_UNSTABLE_NFS, -1);\n" + "> > dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS);\n" + "> > dec_bdi_stat(req->wb_page->mapping->backing_dev_info,\n" + "> > BDI_UNSTABLE);\n" "> > diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c\n" "> > index ada2f1b..aef6d13 100644\n" "> > --- a/fs/nilfs2/segment.c\n" "> > +++ b/fs/nilfs2/segment.c\n" "> > @@ -1660,8 +1660,11 @@ nilfs_copy_replace_page_buffers(struct page *page, struct list_head *out)\n" - "> > \302\240 \302\240 \302\240 \302\240} while (bh = bh->b_this_page, bh2 = bh2->b_this_page, bh != head);\n" - "> > \302\240 \302\240 \302\240 \302\240kunmap_atomic(kaddr, KM_USER0);\n" + "> > } while (bh = bh->b_this_page, bh2 = bh2->b_this_page, bh != head);\n" + "> > kunmap_atomic(kaddr, KM_USER0);\n" "> >\n" - "> > - \302\240 \302\240 \302\240 if (!TestSetPageWriteback(clone_page))\n" - "> > + \302\240 \302\240 \302\240 if (!TestSetPageWriteback(clone_page)) {\n" - "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 mem_cgroup_update_stat(clone_page,\n" + "> > - if (!TestSetPageWriteback(clone_page))\n" + "> > + if (!TestSetPageWriteback(clone_page)) {\n" + "> > + mem_cgroup_update_stat(clone_page,\n" "> \n" "> s/clone_page/page/\n" "\n" @@ -116,6 +116,12 @@ "I'll apply your fixes and post a new version.\n" "\n" "Thanks for reviewing,\n" - -Andrea + "-Andrea\n" + "\n" + "--\n" + "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" + "the body to majordomo@kvack.org. For more info on Linux MM,\n" + "see: http://www.linux-mm.org/ .\n" + "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" -025b56952dc87a1f2c9acb8bbf7e3683a1bcb8a5b05c7e45056000a1f5924401 +f6f3f61558fe55c66fa49197632c6943900008b32a80a37b4c0c14d60f1925e0
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.