On Sun, Feb 27, 2011 at 8:07 AM, Minchan Kim <minchan.kim@xxxxxxxxx> 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@xxxxxxxxxx> > Reviewed-by: Minchan Kim <minchan.kim@xxxxxxxxx> > >> --- >> 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href