Thread (43 messages) 43 messages, 6 authors, 2012-07-19

Re: [PATCH 5/7] memcg: add per cgroup dirty pages accounting

From: Fengguang Wu <hidden>
Date: 2012-07-08 14:45:52
Also in: linux-mm, lkml

On Tue, Jul 03, 2012 at 02:57:08PM +0900, KAMEZAWA Hiroyuki wrote:
(2012/06/28 20:04), Sha Zhengju wrote:
quoted
From: Sha Zhengju <redacted>

This patch adds memcg routines to count dirty pages, which allows memory controller
to maintain an accurate view of the amount of its dirty memory and can provide some
info for users while group's direct reclaim is working.

After Kame's commit 89c06bd5(memcg: use new logic for page stat accounting), we can
use 'struct page' flag to test page state instead of per page_cgroup flag. But memcg
has a feature to move a page from a cgroup to another one and may have race between
"move" and "page stat accounting". So in order to avoid the race we have designed a
bigger lock:

          mem_cgroup_begin_update_page_stat()
          modify page information	-->(a)
          mem_cgroup_update_page_stat()  -->(b)
          mem_cgroup_end_update_page_stat()

It requires (a) and (b)(dirty pages accounting) can stay close enough.

In the previous two prepare patches, we have reworked the vfs set page dirty routines
and now the interfaces are more explicit:
	incrementing (2):
		__set_page_dirty
		__set_page_dirty_nobuffers
	decrementing (2):
		clear_page_dirty_for_io
		cancel_dirty_page


Signed-off-by: Sha Zhengju <redacted>
Thank you. This seems much cleaner than expected ! very good.

Acked-by: KAMEZAWA Hiroyuki <redacted>
I have the same good feelings :)

Acked-by: Fengguang Wu <redacted>

--
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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help