Messages in this thread | | | Date | Sun, 7 Nov 2010 02:31:13 +0900 | Subject | Re: [PATCH] memcg: use do_div to divide s64 in 32 bit machine. | From | Minchan Kim <> |
| |
On Sun, Nov 7, 2010 at 2:19 AM, Greg Thelen <gthelen@google.com> wrote: > On Fri, Nov 5, 2010 at 6:03 PM, <hannes@cmpxchg.org> wrote: >> On Sat, Nov 06, 2010 at 01:08:53AM +0900, Minchan Kim wrote: >>> Use do_div to divide s64 value. Otherwise, build would be failed >>> like Dave Young reported. >> >> I thought about that too, but then I asked myself why you would want >> to represent a number of pages as signed 64bit type, even on 32 bit? > > I think the reason that 64 byte type is used for page count in > memcontrol.c is because the low level res_counter primitives operate > on 64 bit counters, even on 32 bit machines. > >> Isn't the much better fix to get the types right instead? >> > > I agree that consistent types between mem_cgroup_dirty_info() and > global_dirty_info() is important. There seems to be a lot of usage of > s64 for page counts in memcontrol.c, which I think is due to the > res_counter types. I think these s64 be switched to unsigned long > rather to be consistent with the rest of mm code. It looks like this > will be a clean patch, except for the lowest level where > res_counter_read_u64() is used, where some casting may be needed. > > I'll post a patch for that change. >
Agree. I don't mind it. Thanks, Hannes and Greg.
-- Kind regards, Minchan Kim -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |