Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Andrea Righi
Date: Tuesday, March 2, 2010 - 3:14 pm

On Tue, Mar 02, 2010 at 02:48:56PM +0100, Peter Zijlstra wrote:

A value of 0 means "disabled". It's used to select between dirty_ratio
or dirty_bytes. It's the same for the gloabl vm_dirty_* parameters.


I agree mem_cgroup_has_dirty_limit() is nicer. But we must do that under
RCU, so something like:

	rcu_read_lock();
	if (mem_cgroup_has_dirty_limit())
		mem_cgroup_get_page_stat()
	else
		global_page_state()
	rcu_read_unlock();

That is bad when mem_cgroup_has_dirty_limit() always returns false
(e.g., when memory cgroups are disabled). So I fallback to the old
interface.

What do you think about:

	mem_cgroup_lock();
	if (mem_cgroup_has_dirty_limit())
		mem_cgroup_get_page_stat()
	else
		global_page_state()
	mem_cgroup_unlock();

Where mem_cgroup_read_lock/unlock() simply expand to nothing when
memory cgroups are disabled.


IMHO it is better to reserve 0 for the special value "disabled" like the
global settings. A synchronous IO can be also achieved using a dirty
limit of 1.


Agreed.


OK, will look at Trond's work.

Thanks,
-Andrea
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH -mmotm 0/3] memcg: per cgroup dirty limit (v3), Andrea Righi, (Mon Mar 1, 2:23 pm)
[PATCH -mmotm 1/3] memcg: dirty memory documentation, Andrea Righi, (Mon Mar 1, 2:23 pm)
[PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Andrea Righi, (Mon Mar 1, 2:23 pm)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, KAMEZAWA Hiroyuki, (Mon Mar 1, 5:23 pm)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Daisuke Nishimura, (Tue Mar 2, 1:12 am)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, KAMEZAWA Hiroyuki, (Tue Mar 2, 1:23 am)
Re: [PATCH -mmotm 2/3] memcg: dirty pages accounting and l ..., Kirill A. Shutemov, (Tue Mar 2, 3:04 am)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Kirill A. Shutemov, (Tue Mar 2, 3:11 am)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Kirill A. Shutemov, (Tue Mar 2, 4:09 am)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Peter Zijlstra, (Tue Mar 2, 6:48 am)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Kirill A. Shutemov, (Tue Mar 2, 6:56 am)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Trond Myklebust, (Tue Mar 2, 8:49 am)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Andrea Righi, (Tue Mar 2, 3:14 pm)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Daisuke Nishimura, (Tue Mar 2, 4:21 pm)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Daisuke Nishimura, (Tue Mar 2, 7:12 pm)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, KAMEZAWA Hiroyuki, (Tue Mar 2, 8:29 pm)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Daisuke Nishimura, (Tue Mar 2, 11:01 pm)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, KAMEZAWA Hiroyuki, (Tue Mar 2, 11:15 pm)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, KAMEZAWA Hiroyuki, (Wed Mar 3, 1:21 am)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Peter Zijlstra, (Wed Mar 3, 3:07 am)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, Daisuke Nishimura, (Wed Mar 3, 4:25 pm)
Re: [PATCH -mmotm 3/3] memcg: dirty pages instrumentation, KAMEZAWA Hiroyuki, (Wed Mar 3, 8:45 pm)