On Mon, Nov 8, 2010 at 7:14 AM, Johannes Weiner <hannes@xxxxxxxxxxx> wrote: > The statistic counters are in units of pages, there is no reason to > make them 64-bit wide on 32-bit machines. > > Make them native words. Since they are signed, this leaves 31 bit on > 32-bit machines, which can represent roughly 8TB assuming a page size > of 4k. > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> > --- > include/linux/memcontrol.h | 2 +- > mm/memcontrol.c | 43 +++++++++++++++++++++---------------------- > mm/page-writeback.c | 4 ++-- > 3 files changed, 24 insertions(+), 25 deletions(-) > <snip> > > static unsigned long dirty_writeback_pages(void) > { > - s64 ret; > + unsigned long ret; > > ret = mem_cgroup_page_stat(MEMCG_NR_DIRTY_WRITEBACK_PAGES); > - if (ret < 0) > + if ((long)ret < 0) > ret = global_page_state(NR_UNSTABLE_NFS) + > global_page_state(NR_WRITEBACK); 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? -- Kind regards, Minchan Kim -- 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