[Devel] [PATCH] mm: cleanup backing_dev_info foo_stamp fields

Jan Kara jack at suse.cz
Tue Jul 9 10:06:56 PDT 2013


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 at linux-foundation.org>
> Signed-off-by: Maxim Patlasov <MPatlasov at parallels.com>
  Looks good. You can add:
Reviewed-by: Jan Kara <jack at suse.cz>

								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 at suse.cz>
SUSE Labs, CR



More information about the Devel mailing list