mm: page-writeback: inline account_page_dirtied() into single caller
A follow-up patch would have changed the call signature. To save the trouble, just fold it instead. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Michal Hocko <mhocko@suse.cz> Cc: Vladimir Davydov <vdavydov@parallels.com> Cc: <stable@vger.kernel.org> [3.17.x] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
ea5d05b34a
commit
3a3c02ecf7
@@ -1235,7 +1235,6 @@ int __set_page_dirty_no_writeback(struct page *page);
|
|||||||
int redirty_page_for_writepage(struct writeback_control *wbc,
|
int redirty_page_for_writepage(struct writeback_control *wbc,
|
||||||
struct page *page);
|
struct page *page);
|
||||||
void account_page_dirtied(struct page *page, struct address_space *mapping);
|
void account_page_dirtied(struct page *page, struct address_space *mapping);
|
||||||
void account_page_writeback(struct page *page);
|
|
||||||
int set_page_dirty(struct page *page);
|
int set_page_dirty(struct page *page);
|
||||||
int set_page_dirty_lock(struct page *page);
|
int set_page_dirty_lock(struct page *page);
|
||||||
int clear_page_dirty_for_io(struct page *page);
|
int clear_page_dirty_for_io(struct page *page);
|
||||||
|
|||||||
@@ -2115,23 +2115,6 @@ void account_page_dirtied(struct page *page, struct address_space *mapping)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(account_page_dirtied);
|
EXPORT_SYMBOL(account_page_dirtied);
|
||||||
|
|
||||||
/*
|
|
||||||
* Helper function for set_page_writeback family.
|
|
||||||
*
|
|
||||||
* The caller must hold mem_cgroup_begin/end_update_page_stat() lock
|
|
||||||
* while calling this function.
|
|
||||||
* See test_set_page_writeback for example.
|
|
||||||
*
|
|
||||||
* NOTE: Unlike account_page_dirtied this does not rely on being atomic
|
|
||||||
* wrt interrupts.
|
|
||||||
*/
|
|
||||||
void account_page_writeback(struct page *page)
|
|
||||||
{
|
|
||||||
mem_cgroup_inc_page_stat(page, MEM_CGROUP_STAT_WRITEBACK);
|
|
||||||
inc_zone_page_state(page, NR_WRITEBACK);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(account_page_writeback);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For address_spaces which do not use buffers. Just tag the page as dirty in
|
* For address_spaces which do not use buffers. Just tag the page as dirty in
|
||||||
* its radix tree.
|
* its radix tree.
|
||||||
@@ -2410,8 +2393,10 @@ int __test_set_page_writeback(struct page *page, bool keep_write)
|
|||||||
} else {
|
} else {
|
||||||
ret = TestSetPageWriteback(page);
|
ret = TestSetPageWriteback(page);
|
||||||
}
|
}
|
||||||
if (!ret)
|
if (!ret) {
|
||||||
account_page_writeback(page);
|
mem_cgroup_inc_page_stat(page, MEM_CGROUP_STAT_WRITEBACK);
|
||||||
|
inc_zone_page_state(page, NR_WRITEBACK);
|
||||||
|
}
|
||||||
mem_cgroup_end_update_page_stat(page, &locked, &memcg_flags);
|
mem_cgroup_end_update_page_stat(page, &locked, &memcg_flags);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user