Re: [patch 4/4] memcg: use native word page statistics counters
From: Minchan Kim
Date: Sun Nov 07 2010 - 19:08:02 EST
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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/