Messages in this thread | | | From | Greg Thelen <> | Date | Mon, 28 Feb 2011 15:52:53 -0800 | Subject | Re: [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/
| |