On Mon, Nov 08, 2010 at 09:07:35AM +0900, Minchan Kim wrote: > BTW, let me ask a question. > dirty_writeback_pages seems to be depends on mem_cgroup_page_stat's > result(ie, negative) for separate global and memcg. > But mem_cgroup_page_stat could return negative value by per-cpu as > well as root cgroup. > If I understand right, Isn't it a problem? Yes, the numbers are not reliable and may be off by some. It appears to me that the only sensible interpretation of a negative sum is to assume zero, though. So to be honest, I don't understand the fallback to global state when the local state fluctuates around low values. This function is also only used in throttle_vm_writeout(), where the outcome is compared to the global dirty threshold. So using the number of writeback pages _from the current cgroup_ and falling back to global writeback pages when this number is low makes no sense to me at all. I looks like it should rather compare the cgroup state with the cgroup limit, and the global state with the global limit. Can somebody explain the reasoning behind this? And in case it makes sense after all, put a comment into this function? Thanks! -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>