Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753420AbdDNOIQ (ORCPT ); Fri, 14 Apr 2017 10:08:16 -0400 Received: from mail-eopbgr50102.outbound.protection.outlook.com ([40.107.5.102]:35712 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753063AbdDNOIH (ORCPT ); Fri, 14 Apr 2017 10:08:07 -0400 Authentication-Results: zeniv.linux.org.uk; dkim=none (message not signed) header.d=none;zeniv.linux.org.uk; dmarc=none action=none header.from=virtuozzo.com; From: Andrey Ryabinin To: Alexander Viro , CC: Andrey Ryabinin , Konrad Rzeszutek Wilk , Eric Van Hensbergen , Ron Minnich , Latchesar Ionkov , Steve French , Matthew Wilcox , Ross Zwisler , Trond Myklebust , Anna Schumaker , Andrew Morton , Jan Kara , Jens Axboe , Johannes Weiner , Alexey Kuznetsov , Christoph Hellwig , , , , , , Subject: [PATCH 3/4] mm/truncate: bail out early from invalidate_inode_pages2_range() if mapping is empty Date: Fri, 14 Apr 2017 17:07:52 +0300 Message-ID: <20170414140753.16108-4-aryabinin@virtuozzo.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170414140753.16108-1-aryabinin@virtuozzo.com> References: <20170414140753.16108-1-aryabinin@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR08CA0039.eurprd08.prod.outlook.com (10.164.95.49) To HE1PR0801MB2732.eurprd08.prod.outlook.com (10.169.123.152) X-MS-Office365-Filtering-Correlation-Id: a497a473-7812-42a0-3362-08d4833faa28 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:HE1PR0801MB2732; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB2732;3:YIOxHQmJwCq8nF5UWSms/Ik5Ee0fR/tvE9gT4m9gkefNfg4A29MjXZIfPmDdZtrrhWGl1iRGtZeQvCWMpYXsqYt2zcudLh8zhbNrKXg5Hgrvy45GdlUC/LqWFjuXLJj3CIKeU3WSHkrjs2quJhQxM9wKP9OjZjGntY9CyPiThBFafJUeERh+QT20cR7S8Tdc3n4zRf1/n2uo0O7ToCGhBtxqz9mTFsLJskbpQIOVz/EtKBIlVjlOqVyd9E8CLm0xfo308Z7YWl825Rn1S0ZSHzu1EnHBqCOW6TdOpWLvLiPlK3CYGi2+TZSdXb2loe9N9nUTZ2khBqT8569bLUkY6A==;25:sxz4mXsHcTAdfycIUCWqxgh/VC9+sRnReTpC3Onoej5OjhnLnCvCMdxY946k267eAqOwR+7rTJCdTqsFK1PeVT397ISr4wHzOAc+Nr99vrPOIDN6a99mVjcyToKoHxqfM3oOqj/QePRtVDxna4oo7TOnMSHrFGnhPH/9gyierGmTDtTgIuuSANbALORaLQjrj/9s4keiZAsbxun1ifehzUH1QEHsAyLiMykRQbX5R12Ee5NAB2cOyRNoc5b4I+hs1CFBoxHzYvVDsQQCaPybhbKtwijbGwA84YwhNRV/wlKDiXlZMMrF6hKTiG2dSzLlECVhkH1hXtyw/g4GvYYp588IuHs2n7j4zUVIY78dploKLo0rXoBB8Y1K+Wi3brQtxPkvvFZGMRdXfrCZ66pWtr6cJsLGcH/9vD9iRmv79IVmpgtXNI/OqYo3nQ+Lk05XJJJEEhm+eY+VMDrsXmZZsQ== X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB2732;31:ZqS4EclD6Qnbjntpz3/NYWenESmJC0j8tZWv62c7bN7kqKrdVehEQybPLB22To10PcnaZnHpE0Pu8SApN7lJ1uPz38pxQuhXm98za3PSHA5ufRGLEtFX31MvZ4r2cM94VRvKNUkIx7KOHF6q68rVjCERcAoRvVr9EA/RVEEIUEitK7UCU36n2+D9lktRTuZbuY+cmnzsRIp+9sg+FL9ecGQ7UhunK9ADAw/SjEFMkhWk4dp4nkuCB2QsQBlfB797;20:sSzOI4Zj36SP8soGfZ3Cku77Z3CFLTrr9M2jMjvhzWXBpZOmclZM+aZ/mROTTw+2ihhD6Nkw63dX4OvFP/09poCY5BSdGJO0e5Iuu3z4tdnOpTZoPebLmmKqrvFNwmEgVMyL8OdwYcPhyEmqePwJE1fwC8KwdIeSuBIADMlyFgSmoAezI10t4J7tWEighHZ8D5Tz2UWPZawFJCtnNp6xkCNI6NYNXLL6Y2QHRzoQ44jmF+AU5kPeVRkUP+TPBFC4wybdcG5uJYvmuOefoGb4maMEzHj3HVKSLyONKL3s4y6nDu8594Sry/brKx/DQjw9y5IohjAyXq/Ym+WElTaIB2FxvKoX3V5pC3WNno34dGtcsvcq4m4cJPFbfa88sBP91NoDFCTRttFUBdhEIWbl6UhPVmW7Hf3maceovQWSjI8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(20161123560025)(20161123555025)(20161123562025)(6072148);SRVR:HE1PR0801MB2732;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB2732; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB2732;4:g55P8W76C8epkfdYl0+9i3258YUxf4Igt+h2IsiqJZjP6qxE9hfqFwjSmwYnXLzta8lLXcGaSzK2y35IvW2eFW277955qQ4Fl9ZuKKjTqLMRZQu90RXtreSHmOwp8YYgKmKgheF9dtQbpL1ecyro43AL39yUJmGk/0TKXzwN24o9JB6ZemWOaikRI6N2VC/UU3U1WR4XaV+isBx3zjsQa4LSd4fS1i0nJwiqQraBJu4e7XM7CAmEdG6cO8x62Hz0g4hf7AmjZLxxZDCRvGul3kf9f+jbMlUF9RnOAXL4yHJfgrOra41hBS+4gMLsCbvB7n2Vq9ZICshJ/WBWWy1UOy3i/oWOz/YYb6T7Wcak3zP0Jpab6OyhKjBL7wz7N9jfqD7PytobkwEpZJOo6hrzxo04J7S96bHaSu9DafVBxLZLvINXkljeZZ+yRD3tCT4NEqRkxRq3oCqbH9V/yY+812f01xUP83uXTpYW1P0zwdt9i979REFzoA3F6SCtsKS6ghg2fd5gZMiNa7dEGQv0gqYGFFBIg+BvVJrmwYBLb5HT/qFaZfNn6tLzY50NLKp3mPiUpurBTcHzFgFhvHSKydk0f1XQY2+daN4/28gWaDIgOVH7UtfZCwDbei05e/3dwBbEn3sFQu18khwMXwgppPQcJq1GSjyMvKNDBR3Myy2uj1z8L4NGQ5+43h1YsyQdauIrLhOZffoj6Eoc/PWDjA== X-Forefront-PRVS: 02778BF158 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6069001)(6009001)(39410400002)(39400400002)(39830400002)(39450400003)(81166006)(6486002)(86362001)(54906002)(7736002)(575784001)(305945005)(50466002)(66066001)(47776003)(6666003)(5003940100001)(50226002)(48376002)(2950100002)(1076002)(33646002)(53936002)(5660300001)(4326008)(6512007)(50986999)(76176999)(7416002)(25786009)(53416004)(6116002)(3846002)(8666007)(2906002)(36756003)(8676002)(42186005)(6506006)(189998001)(38730400002)(76506005)(15760500002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB2732;H:localhost.sw.ru;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0801MB2732;23:JyYcEgiF5CC83lcLJJE9Bdm/sLHZYqVlKFHxohs?= =?us-ascii?Q?xThSUEjvPF1Vm37KA+EZQDB7jSZS6b+bSIaqHodaUFp7ORzx6eDQWEiBSsXh?= =?us-ascii?Q?EwoTWyjenfBcBheWvMV+EAp3e1JQ9Dm9+MgjMOzUvZRNe5VqnY7KwW5/mu2a?= =?us-ascii?Q?7NPa6ibtbizoKPqa/xqgz5vLQATD5SD7T/o0jhiCCDeuc5WOtqfB0UFAcUz0?= =?us-ascii?Q?Oyn+7VTalF5S6HzVdTtrZpaDdEX6/RRzMTvg/N7sc+AuDmjz9JkAzA4CASFT?= =?us-ascii?Q?TYpwlNl5Z0m+8WLrH7K9pr+fZAX5G1l4aRWj+CGsHGNxHMl7+PfHUqN8qRg1?= =?us-ascii?Q?+lFNIFbksAqzzkHY0kEAJuLfiCmzteStlRbyfTh4pzh0gBLwrDgcjQOyQodA?= =?us-ascii?Q?+Lo082JuZ3pSGG1XCdqpniukpIiot6ZPl/dMhJ7XX4zffu5sZvz+MkVG2C1B?= =?us-ascii?Q?LWdJRiGJudyTq4drxwflMPSEDQTINgbd5sYTtippxmJv7lUDxpe1k/BXQDlu?= =?us-ascii?Q?bAr2KPPTIgSjFrKVgB2KUN208TO/nDul9NS23ICx6GYo9rTdsDdJVxpzANsw?= =?us-ascii?Q?yu5tjhmQtYMoSCJXvbKDimm/zDf6RZG/jpgQt7NUZtH9qvWgp73J0OktqTwS?= =?us-ascii?Q?86pKZlKcftXP2lGNP7uHo71BvtU0zuvy33xSUhUxSmW6XYougyIQLiNKIOMC?= =?us-ascii?Q?pACFmPhY71a2yygsA92MOpcgo/hPM4AIWnsLBFrGIX7KwEoREkeYE58JfnrW?= =?us-ascii?Q?GoxVMO8FryM2gT8Ydb0jDRhj/WDOmQICS/e5lljPVlGAJO0pTrLzM0lqO7tg?= =?us-ascii?Q?YMqxc/WxEr2ZrNf2cyRyTp6uluoRFNGFEZPDmDJ7jS42hImXpaF8JpQA/XBT?= =?us-ascii?Q?nnmsPPFf3H9JMnE2kOrmrGgFFbFTOkp+adI8OyfO1RSXFd1NLq2hkKepK7gt?= =?us-ascii?Q?iw9AL2Es1ksI/vagjt7Xi5JED2/1puM50nDuCIj/0TSSgjKV3MqMhvjAYGyw?= =?us-ascii?Q?UXM16CPLVzTKRuqSRrARknA2Dc1btz8Pl5jAI/kwlUSX89KVc868ULFlWR5D?= =?us-ascii?Q?ooxhOSPt/P1u59HceqGZ8kc+VbeZfM/ZpaiVC9oea6ak/Q5ry/WkDmu9+qsl?= =?us-ascii?Q?D+mzO0DD7AWs=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB2732;6:aHNCVM25aERhw+laU7BSKmYTMCOR0+YWGE9QZjrhrcH7o4bZ+MwHFUMS6DS9Cpt2sqtO9BFSPnZ4CXGsOnEwEODvNPrdYTjYo5swt8WuqE+bPmblJLrXz1j4vjKz5rK8YOeP00qt0polDPWMmXqOy/c3D6o1HOnhTf1BY7l9GVmERvHdCyabBnWQunFjJn5NeTBbuLVXO4M5A5o2nLf+TcOrMIzAO1EqKbNpzCcQJbx0V/ZenqbHMpKtw84LHOhvCnhnuXfusu9rzJW1N30St/tfI2OnmHyzjB4jO5BZ5CUN1t3mXwBzpypY27lESO+bwdxKVmNUBe8RRiualqAoG4DjFHd6TrZSZovyXMCwmWqKmLJhYR9jyiqWoyrZWSgVjNlIrd3clk1UbnHx8QtcZcF3xtnGY+jzImI0SclE1/6269C1n2OhnFserLCkJc9ywjfCfVhFf5/PM7TxcFZeKw==;5:XbZWZArInv4MXmQR/0KznfuFloStf76qVvMTg5O36Iu+NUDFs6iNqAGLTeK4MMoMxgXW9nOu63gAVDw42k7IW9pM+BfHwwmN9y3ECP9nBjd7RJ6EP791i6RCQoP7b7Ter0n5O7AMuxEzIKTCkYdoEg==;24:B8VUvKTrhh0AyJ2K8u9HjnVCejp/pgPxox6dz8uMFEvcRB8Wx0sU4IVKL+w/uaj6qCZ5b6/XI3r5ieB/z+OSEKx9IpAYHCmnFxHLDHL+qVA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB2732;7:eYpk7kxT2EUjSX4r0dHUl9A3meKCM6VpsnD0/ixqF8RNLPOjPF6QUsCu/+wrBVYWKqd0f1Jos2JhTOu7lMeah6FHCYj3oQ/AfWAD2N6fQym3onXXCBV/YlSZgCibXW0BL4t0tgW6fkEE8yAnOoEu060XkXpS6QRiRDUWKxBG/oupBV+Ch4I5xLjgigclPMCQI/ZECj9mU2gfKWkD6R2Q/ImhZXCQNyvM1V+LRu6fHGn8u04G61bdPvovINyvxa/8zQLy9xbCYb1i8tTIwpKvGinjyXVl2IwCFRrrm8qoOxk09xiAfomrbvDKA3nEDRq6XK1RzZm1cdmKpCPNLP3nsw==;20:maJ1Q+mqqLqDccDemMQIx0FkkC6wJr0C/gNda+rBxnPW57JuklqKg4nckOU5MHbxt/mlTX5vE4xE3hEnvZ7q58OihrDPGVpwsQzzkWqZKAN9lkT0F00wbJaIAZ+0QOEmaFBIed37fn12w0TyWCOhdLf3rdySDCd4dqvnxK0uspc= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2017 14:08:00.0615 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB2732 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 758 Lines: 25 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 --- 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