Re: [PATCH 1/6] memcg: replace unsigned long by u64 to avoid overflow

From: Kamezawa Hiroyuki
Date: Mon Jun 25 2012 - 00:26:43 EST


(2012/06/23 18:26), Johannes Weiner wrote:
On Sat, Jun 23, 2012 at 05:03:39PM +0800, Wanpeng Li wrote:
On Sat, Jun 23, 2012 at 10:15:14AM +0200, Johannes Weiner wrote:
On Sat, Jun 23, 2012 at 02:15:34PM +0800, Wanpeng Li wrote:
From: Wanpeng Li <liwp@xxxxxxxxxxxxxxxxxx>

Since the return value variable in mem_cgroup_zone_nr_lru_pages and
mem_cgroup_node_nr_lru_pages functions are u64, so replace the return
value of funtions by u64 to avoid overflow.

I wonder what 16 TB of memory must think running on a 32-bit kernel...
"What is this, an address space for ants?"

Hi Johannes,

You mean change all u64 in memcg to unsigned long? or something I
miss....

Not _all_ of them, we have some that count bytes. But those counting
pages should probably be ulong, yes.

I think Kame added the ones that you wanted to adjust the surroundings
for in particular, so let's ask him. Kame?


I've been using 'unsigned long' for the number of pages and 'u64' for the number of
bytes. I think it's enough and it should be. I don't have any reason to use u64 for
the number of pages on 32bit archs.
If 'bytes' are handled by 'unsigned long', please fix it.

BTW, zone_page_state()::/include/linux/vmstat.h returns 'unsigned long'.
If you want to change this in memcg, please change zone's ones first.

Thanks,
-Kame

--
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/