Re: [PATCH] mm: cleanup backing_dev_info foo_stamp fields

From: Jan Kara
Date: Tue Jul 09 2013 - 13:07:08 EST


On Fri 05-07-13 19:50:41, Maxim Patlasov wrote:
> State clearly that bw_time_stamp is measured in jiffies. Rename other
> foo_stamp fields to reflect that they are in units of number-of-pages.
>
> Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Maxim Patlasov <MPatlasov@xxxxxxxxxxxxx>
Looks good. You can add:
Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> include/linux/backing-dev.h | 7 ++++---
> mm/backing-dev.c | 2 +-
> mm/page-writeback.c | 8 ++++----
> 3 files changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
> index c388155..ee7eb1a 100644
> --- a/include/linux/backing-dev.h
> +++ b/include/linux/backing-dev.h
> @@ -73,9 +73,10 @@ struct backing_dev_info {
>
> struct percpu_counter bdi_stat[NR_BDI_STAT_ITEMS];
>
> - unsigned long bw_time_stamp; /* last time write bw is updated */
> - unsigned long dirtied_stamp;
> - unsigned long written_stamp; /* pages written at bw_time_stamp */
> + unsigned long bw_time_stamp; /* last time (in jiffies) write bw
> + * is updated */
> + unsigned long dirtied_nr_stamp;
> + unsigned long written_nr_stamp; /* pages written at bw_time_stamp */
> unsigned long write_bandwidth; /* the estimated write bandwidth */
> unsigned long avg_write_bandwidth; /* further smoothed write bw */
>
> diff --git a/mm/backing-dev.c b/mm/backing-dev.c
> index 5025174..82efe7f 100644
> --- a/mm/backing-dev.c
> +++ b/mm/backing-dev.c
> @@ -454,7 +454,7 @@ int bdi_init(struct backing_dev_info *bdi)
> bdi->dirty_exceeded = 0;
>
> bdi->bw_time_stamp = jiffies;
> - bdi->written_stamp = 0;
> + bdi->written_nr_stamp = 0;
>
> bdi->balanced_dirty_ratelimit = INIT_BW;
> bdi->dirty_ratelimit = INIT_BW;
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index 4514ad7..088a8db 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -799,7 +799,7 @@ static void bdi_update_write_bandwidth(struct backing_dev_info *bdi,
> * write_bandwidth = ---------------------------------------------------
> * period
> */
> - bw = written - bdi->written_stamp;
> + bw = written - bdi->written_nr_stamp;
> bw *= HZ;
> if (unlikely(elapsed > period)) {
> do_div(bw, elapsed);
> @@ -910,7 +910,7 @@ static void bdi_update_dirty_ratelimit(struct backing_dev_info *bdi,
> * The dirty rate will match the writeout rate in long term, except
> * when dirty pages are truncated by userspace or re-dirtied by FS.
> */
> - dirty_rate = (dirtied - bdi->dirtied_stamp) * HZ / elapsed;
> + dirty_rate = (dirtied - bdi->dirtied_nr_stamp) * HZ / elapsed;
>
> pos_ratio = bdi_position_ratio(bdi, thresh, bg_thresh, dirty,
> bdi_thresh, bdi_dirty);
> @@ -1066,8 +1066,8 @@ void __bdi_update_bandwidth(struct backing_dev_info *bdi,
> bdi_update_write_bandwidth(bdi, elapsed, written);
>
> snapshot:
> - bdi->dirtied_stamp = dirtied;
> - bdi->written_stamp = written;
> + bdi->dirtied_nr_stamp = dirtied;
> + bdi->written_nr_stamp = written;
> bdi->bw_time_stamp = now;
> }
>
>
--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
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/