]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/page-writeback.c
page_writeback: put account_page_redirty() after set_page_dirty()
[karo-tx-linux.git] / mm / page-writeback.c
index 6f4335238e33311de251a647fe725d06d5897060..6a73e47e81c67fa86838941e6a16b27a956d77e7 100644 (file)
@@ -2168,9 +2168,12 @@ EXPORT_SYMBOL(account_page_redirty);
  */
 int redirty_page_for_writepage(struct writeback_control *wbc, struct page *page)
 {
+       int ret;
+
        wbc->pages_skipped++;
+       ret = __set_page_dirty_nobuffers(page);
        account_page_redirty(page);
-       return __set_page_dirty_nobuffers(page);
+       return ret;
 }
 EXPORT_SYMBOL(redirty_page_for_writepage);
 
@@ -2308,12 +2311,10 @@ EXPORT_SYMBOL(clear_page_dirty_for_io);
 int test_clear_page_writeback(struct page *page)
 {
        struct address_space *mapping = page_mapping(page);
-       unsigned long memcg_flags;
        struct mem_cgroup *memcg;
-       bool locked;
        int ret;
 
-       memcg = mem_cgroup_begin_page_stat(page, &locked, &memcg_flags);
+       memcg = mem_cgroup_begin_page_stat(page);
        if (mapping) {
                struct backing_dev_info *bdi = mapping->backing_dev_info;
                unsigned long flags;
@@ -2338,19 +2339,17 @@ int test_clear_page_writeback(struct page *page)
                dec_zone_page_state(page, NR_WRITEBACK);
                inc_zone_page_state(page, NR_WRITTEN);
        }
-       mem_cgroup_end_page_stat(memcg, &locked, &memcg_flags);
+       mem_cgroup_end_page_stat(memcg);
        return ret;
 }
 
 int __test_set_page_writeback(struct page *page, bool keep_write)
 {
        struct address_space *mapping = page_mapping(page);
-       unsigned long memcg_flags;
        struct mem_cgroup *memcg;
-       bool locked;
        int ret;
 
-       memcg = mem_cgroup_begin_page_stat(page, &locked, &memcg_flags);
+       memcg = mem_cgroup_begin_page_stat(page);
        if (mapping) {
                struct backing_dev_info *bdi = mapping->backing_dev_info;
                unsigned long flags;
@@ -2380,7 +2379,7 @@ int __test_set_page_writeback(struct page *page, bool keep_write)
                mem_cgroup_inc_page_stat(memcg, MEM_CGROUP_STAT_WRITEBACK);
                inc_zone_page_state(page, NR_WRITEBACK);
        }
-       mem_cgroup_end_page_stat(memcg, &locked, &memcg_flags);
+       mem_cgroup_end_page_stat(memcg);
        return ret;
 
 }