lkml.org 
[lkml]   [2011]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v5 3/9] writeback: convert variables to unsigned
    On Sun, Feb 27, 2011 at 8:07 AM, Minchan Kim <minchan.kim@gmail.com> wrote:
    > On Fri, Feb 25, 2011 at 01:35:54PM -0800, Greg Thelen wrote:
    >> Convert two balance_dirty_pages() page counter variables (nr_reclaimable
    >> and nr_writeback) from 'long' to 'unsigned long'.
    >>
    >> These two variables are used to store results from global_page_state().
    >> global_page_state() returns unsigned long and carefully sums per-cpu
    >> counters explicitly avoiding returning a negative value.
    >>
    >> Signed-off-by: Greg Thelen <gthelen@google.com>
    > Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
    >
    >> ---
    >> Changelog since v4:
    >> - Created this patch for clarity.  Previously this patch was integrated within
    >>   the "writeback: create dirty_info structure" patch.
    >>
    >>  mm/page-writeback.c |    6 ++++--
    >>  1 files changed, 4 insertions(+), 2 deletions(-)
    >>
    >> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
    >> index 2cb01f6..4408e54 100644
    >> --- a/mm/page-writeback.c
    >> +++ b/mm/page-writeback.c
    >> @@ -478,8 +478,10 @@ unsigned long bdi_dirty_limit(struct backing_dev_info *bdi, unsigned long dirty)
    >>  static void balance_dirty_pages(struct address_space *mapping,
    >>                               unsigned long write_chunk)
    >>  {
    >> -     long nr_reclaimable, bdi_nr_reclaimable;
    >> -     long nr_writeback, bdi_nr_writeback;
    >> +     unsigned long nr_reclaimable;
    >> +     long bdi_nr_reclaimable;
    >> +     unsigned long nr_writeback;
    >> +     long bdi_nr_writeback;
    >>       unsigned long background_thresh;
    >>       unsigned long dirty_thresh;
    >>       unsigned long bdi_thresh;
    >> --
    >> 1.7.3.1
    >>
    > bdi_nr_[reclaimable|writeback] can return negative value?
    > When I just look through bdi_stat_sum, it uses *percpu_counter_sum_positive*.
    > So I guess it always returns positive value.
    > If it is right, could you change it, too?

    Yes, I think we can also change bdi_nr_[reclaimable|writeback] to unsigned long.

    bdi_stat_sum() and bdi_stat() both call percpu_counter_sum_positive(),
    which return a positive number. bdi_stat[_sum]() return s64. Should
    we also change bdi_stat[_sum]() to return unsigned long rather than
    s64? I would like the return value type to match the type of the
    corresponding local variables in balance_dirty_pages(). All current
    callers appear to expect bdi_stat[_sum]() to return unsigned long.

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

    \
     
     \ /
      Last update: 2011-03-01 00:55    [W:2.355 / U:0.652 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site