Re: [PATCH v5 3/9] writeback: convert variables to unsigned

From: Minchan Kim
Date: Sun Feb 27 2011 - 11:07:36 EST


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?

--
Kind regards,
Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/