lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150701075009.GA7252@quack.suse.cz>
Date:	Wed, 1 Jul 2015 09:50:09 +0200
From:	Jan Kara <jack@...e.cz>
To:	Tejun Heo <tj@...nel.org>
Cc:	axboe@...nel.dk, linux-kernel@...r.kernel.org, jack@...e.cz,
	hch@...radead.org, hannes@...xchg.org,
	linux-fsdevel@...r.kernel.org, vgoyal@...hat.com,
	lizefan@...wei.com, cgroups@...r.kernel.org, linux-mm@...ck.org,
	mhocko@...e.cz, clm@...com, fengguang.wu@...el.com,
	david@...morbit.com, gthelen@...gle.com, khlebnikov@...dex-team.ru
Subject: Re: [PATCH 40/51] writeback: make bdi_start_background_writeback()
 take bdi_writeback instead of backing_dev_info

On Fri 22-05-15 17:13:54, Tejun Heo wrote:
> bdi_start_background_writeback() currently takes @bdi and kicks the
> root wb (bdi_writeback).  In preparation for cgroup writeback support,
> make it take wb instead.
> 
> This patch doesn't make any functional difference.
> 
> Signed-off-by: Tejun Heo <tj@...nel.org>
> Cc: Jens Axboe <axboe@...nel.dk>
> Cc: Jan Kara <jack@...e.cz>
> ---
>  fs/fs-writeback.c           | 12 ++++++------
>  include/linux/backing-dev.h |  2 +-
>  mm/page-writeback.c         |  4 ++--
>  3 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
> index 45baf6c..92aaf64 100644
> --- a/fs/fs-writeback.c
> +++ b/fs/fs-writeback.c
> @@ -228,23 +228,23 @@ void wb_start_writeback(struct bdi_writeback *wb, long nr_pages,
>  }
>  
>  /**
> - * bdi_start_background_writeback - start background writeback
> - * @bdi: the backing device to write from
> + * wb_start_background_writeback - start background writeback
> + * @wb: bdi_writback to write from
>   *
>   * Description:
>   *   This makes sure WB_SYNC_NONE background writeback happens. When
> - *   this function returns, it is only guaranteed that for given BDI
> + *   this function returns, it is only guaranteed that for given wb
>   *   some IO is happening if we are over background dirty threshold.
>   *   Caller need not hold sb s_umount semaphore.
>   */
> -void bdi_start_background_writeback(struct backing_dev_info *bdi)
> +void wb_start_background_writeback(struct bdi_writeback *wb)
>  {
>  	/*
>  	 * We just wake up the flusher thread. It will perform background
>  	 * writeback as soon as there is no other work to do.
>  	 */
> -	trace_writeback_wake_background(bdi);
> -	wb_wakeup(&bdi->wb);
> +	trace_writeback_wake_background(wb->bdi);
> +	wb_wakeup(wb);

Can we add a memcg id of the wb to the tracepoint please? Because just bdi
needn't be enough when debugging stuff...

Otherwise the patch looks good. You can add:

Reviewed-by: Jan Kara <jack@...e.com>

								Honza
>  }
>  
>  /*
> diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
> index f04956c..9cc11e5 100644
> --- a/include/linux/backing-dev.h
> +++ b/include/linux/backing-dev.h
> @@ -27,7 +27,7 @@ void bdi_unregister(struct backing_dev_info *bdi);
>  int __must_check bdi_setup_and_register(struct backing_dev_info *, char *);
>  void wb_start_writeback(struct bdi_writeback *wb, long nr_pages,
>  			bool range_cyclic, enum wb_reason reason);
> -void bdi_start_background_writeback(struct backing_dev_info *bdi);
> +void wb_start_background_writeback(struct bdi_writeback *wb);
>  void wb_workfn(struct work_struct *work);
>  void wb_wakeup_delayed(struct bdi_writeback *wb);
>  
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index e3b5c1d..70cf98d 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -1456,7 +1456,7 @@ static void balance_dirty_pages(struct address_space *mapping,
>  		}
>  
>  		if (unlikely(!writeback_in_progress(wb)))
> -			bdi_start_background_writeback(bdi);
> +			wb_start_background_writeback(wb);
>  
>  		if (!strictlimit)
>  			wb_dirty_limits(wb, dirty_thresh, background_thresh,
> @@ -1588,7 +1588,7 @@ static void balance_dirty_pages(struct address_space *mapping,
>  		return;
>  
>  	if (nr_reclaimable > background_thresh)
> -		bdi_start_background_writeback(bdi);
> +		wb_start_background_writeback(wb);
>  }
>  
>  static DEFINE_PER_CPU(int, bdp_ratelimits);
> -- 
> 2.4.0
> 
-- 
Jan Kara <jack@...e.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ