From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S974972AbdDXQmC (ORCPT ); Mon, 24 Apr 2017 12:42:02 -0400 Received: from mail-eopbgr50103.outbound.protection.outlook.com ([40.107.5.103]:57281 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S974867AbdDXQko (ORCPT ); Mon, 24 Apr 2017 12:40:44 -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 , Ross Zwisler , Andrew Morton , Jan Kara , Jens Axboe , Johannes Weiner , Alexey Kuznetsov , Christoph Hellwig , Nikolay Borisov , , , Subject: [PATCH v2 4/4] mm/truncate: avoid pointless cleancache_invalidate_inode() calls. Date: Mon, 24 Apr 2017 19:41:35 +0300 Message-ID: <20170424164135.22350-5-aryabinin@virtuozzo.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170424164135.22350-1-aryabinin@virtuozzo.com> References: <20170414140753.16108-1-aryabinin@virtuozzo.com> <20170424164135.22350-1-aryabinin@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: AM4PR0101CA0014.eurprd01.prod.exchangelabs.com (2603:10a6:200:2e::24) To AM4PR0801MB2723.eurprd08.prod.outlook.com (2603:10a6:200:14::25) X-MS-Office365-Filtering-Correlation-Id: 773560d9-00e2-4f7c-d4c9-08d48b30a030 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:AM4PR0801MB2723; X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;3:zEbdwloMASDSXHhx2xAiHlyoGGYZOG5rcltNu7WlozTRAaMWfg9X2l5KL/rHl9yOGHRqPcCnO1T+/r404pWgG1hHNbs/tO0O/XLtUN7kdcjjHN7qn0jcsGtOco6kwrQNiS0yHH3C09erC2EVU0F9Iz4m89PGJ5qSR53Pjrm62i3r2eYFYk1r8AkiyL6QdwDFjKWpezqbRTdBZZFPxIM5N6Pb8gu2XFDLWnmKCEE11VcYYUtwczFG88LBvRbCKqkUIm/wQkY/j6u9uZRqYb5aOO/VAGL0CM6Ow+zP1YnRJFT6+P+LphtHvBC/ssPEHONqAD+QjAxXXZHKZwfGq5XZ1A==;25:84aHzovxm2/cmEWh8kAvCjZ1aNyJDtq8KAQ4S8a6L4tSxDcFD1wYTftjqykThmkbb2EFRJwO3ro5+Uwipi5Ys1jnOXAWPu6bPtuQUueqCo3eOQZtVC+LE6ZLQsgMYyENl5yIxn1XtC7F9Y2Htlc5T93JLzdNvnDD+nnIsSgRIUZbMCNGwod4NgFFsDBIUXHEj/b5LO7mYgKjEtkcX3DOmnj7rVeKw+U5jo9+WBRAbJbD1bQd8YEW1j4zTzuQ6tSCVXzrsaFtc4aqkEeD6hEnzP6tWUGBDCQDALv2UGtijUC0WXXOnLwAyqRv4d7bj3QZwDCU5ko/j9u6xIQrUnJHGy13y5z1N1nj/0ok9r8TNxhipnhQc/YiOqoPBdm5dLBfQGrB1jxCT95ctMUOXC+QXU7f1W+YvfDIAIShurNjjiVfLmrB6ZzfJk83a9igLUA6JBRX3CuFFgLN0lKlQfelXA== X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;31:sGTAOTNsJcWW6bCsB/OfmTacri9ekDNbrdveKVnuRzzGmyu3ghoy8hXz9tISNj05tbUaWiOncIuypvOwUehTjFVa0nM4tO1v7+TxbR/870iYhYkn3cuDDOhF4vr7wZZeRf+uqQoDL8AaeC6lGof4sQd+iMR5e7noVrm4ntCjKT50MCI9CWJoHYRFYpCnYHW/g0Z07+bv3lcPlKzqRgy+hFkdk02EN6qTbf2a5x3JoG4=;20:VWmHyKBwW/hQxElPbX2rJvtnXot793zqVizbk24XU8p5XTJzFb2tfiUbeOeFGohmSeWHzhokw+XFyIClC8HXJNMNrZY7G/6Lp18rLxtMhd2nHdfAFoGBm4+148e5JTZeEChpkb5qkhIV5zelR0ErHjbJ2FXeFcdVPc8pDu4UFa8dzNeuP6CPAxOXRcVyMEGTR6lvqvfnzCIuOcvvcXxKI/fBWtUWt9Wht+Rm6wHfxzmaI51TQAql7IlXaSMQtjOof/hrdFZUf0xUZYTXa5Hg/uvWRomjTm45z/KY05joQjGz7BSS5idhZq9AlMYucK8cHQz4Iz3Y+343kTkA2/RQDtwgUd0D9VPsB33/mS2lPZ0XQXr3ZrH/3t/7PeCNBdY87/cX265kYimACbAwO80eskpYraIVAbpDFHjygCskJcg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(146099531331640); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:AM4PR0801MB2723;BCL:0;PCL:0;RULEID:;SRVR:AM4PR0801MB2723; X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;4:xx5Xi2UZD0a+rBgzce2PE9dWi7PnTOLh3oAhX46y13DY2JkHJEN2OBwIl+g4N5qwJit9hpPcPdFkKDDdhA2c4d1Qzhial7m4HlNRf0QpEyHmDPaGRo1R4QvZnBPQgjzkTtVpqpylDmCLqOajb6W4SWdMo0yVGetA4Tr6bCXHOBx7XbdyZO8x3hZQHTXNiiBETut9HUOOqL80TwrfWhPza7KwnJIJwAtV7pG+IIVXQU7YLOKbDmQtaS3/wXieTF0JZk7FaDH4GGR/RM6JcuDKdXLzjPAonmU1TXz4zSVkJjbfVLGNSTQb65cB+EU/czAojyQ5qdnhhCgqnZaHZgCnrPsNxoAaUX8cs7ptTyBPzKQnTLZq3tSQ6NmRZtLDvLwYbte/nkXIIatJM7G15D7OCvcLg++g9NzVau/UyohThBuATWTTV7DXSMqh0dVjQ39nAPeGtu41sPIVy2OrBT6gjsZCY6YRjcBQfT5t2h0U6iHR0vYpYrPBbZDrAZZAgZt4pcyCTalv33s/1fB1HOcnsZRtBlVP7coNfsU+4IQm7s0cs77U/diZc63xUH5iq5R6s3qFySsg1kkRPoIRLMCn1C4A8cxkQzZ2HtbX/OSI73HrYcz4bmfv53CJa6/zm2NXyFIvvJaY0twOyY43KWa4OlylL6WQAktLmQ9297MHT9xHcCJpDdzfgvkHsz3SQv6ry/ak4wetPkQVXKADEBvaJifC7tHYT7QQftX7SbhAIT87u7EHTbB/VnZc7x8P2Ax+4y+7kkGB/UQnbGHLWDxk3g== X-Forefront-PRVS: 0287BBA78D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6069001)(39410400002)(39400400002)(39840400002)(39450400003)(1076002)(3846002)(7416002)(38730400002)(36756003)(110136004)(50226002)(4326008)(6116002)(50986999)(76176999)(53936002)(25786009)(86362001)(575784001)(6506006)(189998001)(6486002)(2950100002)(2906002)(6512007)(33646002)(50466002)(48376002)(6916009)(5660300001)(5003940100001)(54906002)(42186005)(7736002)(47776003)(81166006)(66066001)(8676002)(76506005)(53416004)(305945005);DIR:OUT;SFP:1102;SCL:1;SRVR:AM4PR0801MB2723;H:localhost.sw.ru;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM4PR0801MB2723;23:AZgNLirK2h5T+On3nES14ZEzZjMGfbqxJ47XORL?= =?us-ascii?Q?sGDLetUvjBvwDbnuf1M2CzGnzo2V1S4xDY3pN406O0mFsULkHI90ZjRLej+1?= =?us-ascii?Q?8AAxq5CSICFMRgVJpqmqKDAgPNtMs4ozjbJvfhhTUrHC+QWiQSfbOFzkqBU6?= =?us-ascii?Q?nGI08lDsKH5s8s6Mxngc6iQhZXTMWsnQYa6cOvu8+Fq0OOZlRUpZJMu+JHC2?= =?us-ascii?Q?dZv6GIkKyZnmsS5MZ0TrJS2gti/+wsbmXlqGGebPyzMvSYtrVnQFmKpRD7au?= =?us-ascii?Q?s8zA9GZ5aRlfQcfOTd2sWg3Djbhg2XvHiBx8DrnUzAFdtOrfmvqj0GGXWU9Z?= =?us-ascii?Q?JRiQOFGlcjcdjCeK6Z8Xzj07TpBXi/JyMmqImuG9IzH18lT+jG1JVyJJSt/I?= =?us-ascii?Q?Ksx6uYWmU0PfdDS8sQunrUAZyRtIMxhOgCHLFO2NWjSR2QDaI4YUfTpaxAFu?= =?us-ascii?Q?xjNGMm0fHH5dQgn+FIzOAgeUmuwWgttc3kxbvOhT+bnW6JPy7Vo5yqJvvR8W?= =?us-ascii?Q?d6E5NhvJkxFpSDiHeSf2hehpspZlqgy3i7xfH1a2ITnGhBzfyUj6Uuhhtnjm?= =?us-ascii?Q?iK3A92I4XR2dJDxIjHyPrxdFoWaD9sk5U7PjiP3Pb4pKmAJa+eoyzqBn8WO+?= =?us-ascii?Q?Lm4KyWba5mIHJ+4icHww8Ji2iVaAiBdoI30E17Eykb6LqKwUvq0txYyvRzU+?= =?us-ascii?Q?RcB+bmMYo9p2lUB/0Mc3CWKRaCJ0vKQrPPwsxWT72SZbczmPLsyu6pAqrO8A?= =?us-ascii?Q?DjBQ+3YgqrbYhQnSdcX4r5KMKT/C8kr1yNIG6ETcPcjyxSQFyzrb8URLAgvd?= =?us-ascii?Q?2LGRemao6T6imxukiOc5ZMrG/ER4pChnI0idjiHimJfWicF03d9XnoixAIlF?= =?us-ascii?Q?ZcLrQn0yJhSkefHAJue+JE6A1BNwBBrPpqKJhKYpGzBSekq+3u9nplae5uR3?= =?us-ascii?Q?37IEaWSFFUvGYnrsVHX7q67kkFYSU9iuTC1UqwEqJZsPkqTGpcQwPrhfsA7D?= =?us-ascii?Q?VzeZduYIHGAej+kzgHzICqpFRuvYPmz0HTZX+z7IXsDTnhqjkolQh1yWxUY2?= =?us-ascii?Q?DDLh9pTwJQe97gNcQz+Jq2kRPaF6b7r1OTrcqDrvX/RZEpCM+Og=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;6:VQ1Y97E/QCME8YZl2srkHzqr0U+yTOwLXR+9FpnqVO+Jmi3PM6tC1qAcpFQbPzQsRX8YWwc91m/coCIWDFFns0plXeo2dGFXUVyVKkFI3iXyBas6+cCGzd4IZWm05PdbuXXNhqIz5gSCzKNvPUObEePZdvyCAtmnAvi92QFr3uNaeh1DSQztuMmbRdJK6dgHYZK43xQqZLUMLRfFoAk97khBL3tT59eC/vpa0g/dXttw3lJUk19VAUZmPTTe6q1IkHYpepAE5I0YwFc09u32Q1hAiykg41QgzDZovUrlfo/YOp+kxrHqvfPW91qB7gioEHW3Unzp6XQa4NUXMV+KHGhhefHH6OldZDff97v67htQkZx6DrLyPYSk0GzNDS4FdAOezW3KJOZOgN4I9NgWHCApEshbVMXJOhjzG2vdS6M+wSZ2Sa8dTGgIg2XCKal/bh2dpqrV3ozxhqmX2bVMG4MCBmjkrDpd8/q2ybZZeW5UV86p5U1XW6uMxrtVvWjeigo0Q+dMcFjDW/cYbvL10Q==;5:joBJ4oNSwDfWRmo92qrG403MbN1ZHavrSqGxDbPAbKExfC/kxYxwSIqf7W57bFmnM8IXejA5H+akBhdgp8IteswYPSyGoXE2dV9hpS9aNpu2lhMwK2jFDm7oy+z3WcB+BbWh4iUusqEybIBbqOgEXw==;24:zN+a8loInv1FCiBitA37vbGB5vf5gsmT2B7S1d3ky85M+0QcFALFPQYjG7mDISSW7NaFXEvWnt73pR4CQN454/5FQyHyEG1S0jytVK4rvCw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;7:BZ4WrtzHpH3H+XNz9BMyPmp0Udm7b9wUHnCcMp8feDN/Po7UUPTZvDKTVMOdUE2f0mHKQ5OPXVBrwo9aMYSkd9BvRFQvVHczYY821O4sAko08BmdVuM2qR5srtbXErbCn7kdlWeq/aWZ+7/edi10OEZIndu7+NFbJMsc6o2U+MdVVitJJw46zvJM9Xw4h4C2581DSuoM+P6Apxz0ngVM5/juq3uUzYvgYqoRVAD/Me0MeYmM9lDYhlHmuqkalHwU4T/6E9Fyib3uvop49xcHb71HDHkRkCek/+YUi/NAMMCvAGJUgapCojai8F4THEGbQNNB5BvVG9Khgjo4ggNjQQ==;20:7+ZiPWa9LriKtYYMLo2gGHGK7EuugG5bj8qhmhpRadwdOpXgzwwbuBQrm+oJPISeWF0CoM4njPk7Dhj3MX2W0vegUBWVBlANYwj57EF92vHXasJlYbFLQaCZIU/xhnPHHCvlkl3Z6sE8YF23wD73sa68ZG5Hh9jeRy0DmaUqxD0= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2017 16:40:31.2386 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0801MB2723 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org cleancache_invalidate_inode() called truncate_inode_pages_range() and invalidate_inode_pages2_range() twice - on entry and on exit. It's stupid and waste of time. It's enough to call it once at exit. Signed-off-by: Andrey Ryabinin Acked-by: Konrad Rzeszutek Wilk --- mm/truncate.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mm/truncate.c b/mm/truncate.c index 8f12b0e..83a059e 100644 --- a/mm/truncate.c +++ b/mm/truncate.c @@ -266,9 +266,8 @@ void truncate_inode_pages_range(struct address_space *mapping, pgoff_t index; int i; - cleancache_invalidate_inode(mapping); if (mapping->nrpages == 0 && mapping->nrexceptional == 0) - return; + goto out; /* Offsets within partial pages */ partial_start = lstart & (PAGE_SIZE - 1); @@ -363,7 +362,7 @@ void truncate_inode_pages_range(struct address_space *mapping, * will be released, just zeroed, so we can bail out now. */ if (start >= end) - return; + goto out; index = start; for ( ; ; ) { @@ -410,6 +409,8 @@ void truncate_inode_pages_range(struct address_space *mapping, pagevec_release(&pvec); index++; } + +out: cleancache_invalidate_inode(mapping); } EXPORT_SYMBOL(truncate_inode_pages_range); @@ -623,9 +624,8 @@ int invalidate_inode_pages2_range(struct address_space *mapping, int ret2 = 0; int did_range_unmap = 0; - cleancache_invalidate_inode(mapping); if (mapping->nrpages == 0 && mapping->nrexceptional == 0) - return 0; + goto out; pagevec_init(&pvec, 0); index = start; @@ -689,6 +689,8 @@ int invalidate_inode_pages2_range(struct address_space *mapping, cond_resched(); index++; } + +out: cleancache_invalidate_inode(mapping); return ret; } -- 2.10.2