Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751745AbdITOmE (ORCPT ); Wed, 20 Sep 2017 10:42:04 -0400 Received: from mx2.suse.de ([195.135.220.15]:52822 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751700AbdITOmC (ORCPT ); Wed, 20 Sep 2017 10:42:02 -0400 Date: Wed, 20 Sep 2017 16:41:59 +0200 From: Jan Kara To: Jens Axboe Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, hannes@cmpxchg.org, clm@fb.com, jack@suse.cz Subject: Re: [PATCH 5/6] fs-writeback: move nr_pages == 0 logic to one location Message-ID: <20170920144159.GF11106@quack2.suse.cz> References: <1505850787-18311-1-git-send-email-axboe@kernel.dk> <1505850787-18311-6-git-send-email-axboe@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1505850787-18311-6-git-send-email-axboe@kernel.dk> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1045 Lines: 36 On Tue 19-09-17 13:53:06, Jens Axboe wrote: > Now that we have no external callers of wb_start_writeback(), > we can move the nr_pages == 0 logic into that function. > > Signed-off-by: Jens Axboe ... > +static unsigned long get_nr_dirty_pages(void) > +{ > + return global_node_page_state(NR_FILE_DIRTY) + > + global_node_page_state(NR_UNSTABLE_NFS) + > + get_nr_dirty_inodes(); > +} > + > static void wb_start_writeback(struct bdi_writeback *wb, long nr_pages, > bool range_cyclic, enum wb_reason reason) > { > @@ -942,6 +953,12 @@ static void wb_start_writeback(struct bdi_writeback *wb, long nr_pages, > return; > > /* > + * If someone asked for zero pages, we write out the WORLD > + */ > + if (!nr_pages) > + nr_pages = get_nr_dirty_pages(); > + So for 'wb' we have a better estimate of the amount we should write - use wb_stat_sum(wb, WB_RECLAIMABLE) statistics - that is essentially dirty + unstable_nfs broken down to bdi_writeback. Honza -- Jan Kara SUSE Labs, CR