[lkml]   [2010]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] memcg: use do_div to divide s64 in 32 bit machine.
    On Fri, Nov 5, 2010 at 6:03 PM,  <> 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.

     \ /
      Last update: 2010-11-06 18:23    [W:0.024 / U:4.848 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site