From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1176715AbdDYIjU (ORCPT ); Tue, 25 Apr 2017 04:39:20 -0400 Received: from mx2.suse.de ([195.135.220.15]:37571 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1176683AbdDYIha (ORCPT ); Tue, 25 Apr 2017 04:37:30 -0400 Date: Tue, 25 Apr 2017 10:37:15 +0200 From: Jan Kara To: Andrey Ryabinin Cc: Alexander Viro , Konrad Rzeszutek Wilk , Ross Zwisler , Andrew Morton , Jan Kara , Jens Axboe , Johannes Weiner , Alexey Kuznetsov , Christoph Hellwig , Nikolay Borisov , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v2 3/4] mm/truncate: bail out early from invalidate_inode_pages2_range() if mapping is empty Message-ID: <20170425083715.GD2793@quack2.suse.cz> References: <20170414140753.16108-1-aryabinin@virtuozzo.com> <20170424164135.22350-1-aryabinin@virtuozzo.com> <20170424164135.22350-4-aryabinin@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170424164135.22350-4-aryabinin@virtuozzo.com> 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 On Mon 24-04-17 19:41:34, Andrey Ryabinin wrote: > If mapping is empty (both ->nrpages and ->nrexceptional is zero) we can > avoid pointless lookups in empty radix tree and bail out immediately after > cleancache invalidation. > > Signed-off-by: Andrey Ryabinin > Acked-by: Konrad Rzeszutek Wilk Looks good. You can add: Reviewed-by: Jan Kara Honza > --- > mm/truncate.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/truncate.c b/mm/truncate.c > index 6263aff..8f12b0e 100644 > --- a/mm/truncate.c > +++ b/mm/truncate.c > @@ -624,6 +624,9 @@ int invalidate_inode_pages2_range(struct address_space *mapping, > int did_range_unmap = 0; > > cleancache_invalidate_inode(mapping); > + if (mapping->nrpages == 0 && mapping->nrexceptional == 0) > + return 0; > + > pagevec_init(&pvec, 0); > index = start; > while (index <= end && pagevec_lookup_entries(&pvec, mapping, index, > -- > 2.10.2 > -- Jan Kara SUSE Labs, CR