From patchwork Wed Jul 31 06:51:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rong Qianfeng X-Patchwork-Id: 13748196 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4324EC3DA64 for ; Wed, 31 Jul 2024 06:52:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CA1F96B00A1; Wed, 31 Jul 2024 02:52:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C52B26B00A2; Wed, 31 Jul 2024 02:52:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ACC0B6B00A3; Wed, 31 Jul 2024 02:52:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8F2FC6B00A1 for ; Wed, 31 Jul 2024 02:52:00 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 495A41C05E1 for ; Wed, 31 Jul 2024 06:52:00 +0000 (UTC) X-FDA: 82399128000.30.9EAFB97 Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2057.outbound.protection.outlook.com [40.107.215.57]) by imf25.hostedemail.com (Postfix) with ESMTP id 3D1B9A000D for ; Wed, 31 Jul 2024 06:51:55 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=vivo.com header.s=selector2 header.b=ANeWDiib; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf25.hostedemail.com: domain of rongqianfeng@vivo.com designates 40.107.215.57 as permitted sender) smtp.mailfrom=rongqianfeng@vivo.com; dmarc=pass (policy=quarantine) header.from=vivo.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722408662; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=i3veoaQjIdWTy2ikVuNZYwz3n7DbIVPufqW/C5yMM6Q=; b=sWx83Yg9SbBpyG0FM9wRUYDexUYGrZRf1yGJ3s7ko8Nx4H/d3AZjtm+YdgbQjKK0YF8oQC MAN/2jUy+yG6RTQQd6wAtdgYUvN1Y/JMlT1ZmZ8852UTzEcA5YGKg8mte5bw4tYP/A9OHv GxS84jsQCgugV3V46kMewlkz9P3g7ik= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1722408662; a=rsa-sha256; cv=pass; b=GEaiwqPC9Iv5H9AJJNEOsuIkvR6FjASqipyG3kgAza6OcKReeotfzzNVMaTumB8e6dgLaU sosipbSluHxC1pN9hrfmunUlKCypauNOdBfwiLqfqaE7VCPHYhBk5f1LPbWzabnE+R83V5 tWlMbOrZ+8RqhVoNWcH8+2GzlmmchNI= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=vivo.com header.s=selector2 header.b=ANeWDiib; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf25.hostedemail.com: domain of rongqianfeng@vivo.com designates 40.107.215.57 as permitted sender) smtp.mailfrom=rongqianfeng@vivo.com; dmarc=pass (policy=quarantine) header.from=vivo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HWu8GoxfiBpxqdkRDgBv9FAylS8mZaDnpc2l83LcBPhoCVyLuuh+jR+/Az4EjPmo0hG7vlkgh7G+Q8ywAsu93jLs1+ARODSw1nt1LmGlkJ59ZXF+0bXoOe4uHBVo8mFvVtqgKZTiTgGZ2a6zGEzer5eKwfGiFULnScPL0CDcgcakYPjTVyd9SOylZFHODPOQKAH8fQimYAIKVfBLPLtLCnhEnWYhGP/Iv/G9AV4OU19czjNlofwMC2WyrrM8kELfdMp/le3POUmnv/tuTKcTRbG/S7NQtrenJ4xEZSdUbeSL0ElQQxf5yoHzRS5xAyIXeDlu8jyo37TwtMMloPKm7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=i3veoaQjIdWTy2ikVuNZYwz3n7DbIVPufqW/C5yMM6Q=; b=lngyYXhiom/Dt2LhvrRV9ZM3a2IcFaDHzWF91nOPRlOZv90Oy/ZAzG0Sa4vfhqw2u/6PgRm8LoFKF/L0r4Im776hoBzayzQO24OL0ySPIA5hML/v/fzE8L0PmiAz1NU5zCXiBijEsVq9M23AjAA+Z2FWsRCdQnbY+SQcW5EnG2Y+Diupq34O7WtRIXwOT8Bs8W8mxMBFO5um57mQRg8lwHOB6yzg0jY2CgoD7i1jipfLcYqw/5BQmZfY2d6wAX+ljFmKVFKNeC5zsvktG4kPbGNSyfDnIo0BwEeBkE4mDg6FSAfrNBT0TjcJt8ZOX+hEbGIkiY/wOT5O77VakBzBdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i3veoaQjIdWTy2ikVuNZYwz3n7DbIVPufqW/C5yMM6Q=; b=ANeWDiibMmdBrRgD7NS9uChjjP/jogBx8l/EFS7l4nVzD2EGn2YzxpmYu1zrs4G0apdmWAu9YRJI2ddxW6BndQzhlynFiFhEY/LX4/wqV3hHUJ9N17Q6U4gTkyzGGIZqnvM43zYUATCVBgY0RiKhsOlLaQF0gdWo7Xcnjxc3XTviawPrG7gLeSPCDmujYdWmXK4QJ08vKGtStQuKVBOceuhNWoFp255ugv/2Turdnw3mDIKu4RiKHdlkdjBS83VgPkUXFDx6SqD+i/HXfeKBKka0SLlbREXgr7oeIpHNSXgRDU8NZi46o1XPFWA/Jommr9xh87Glg6MZVlOjr0eH8g== Received: from SI2PR06MB5140.apcprd06.prod.outlook.com (2603:1096:4:1af::9) by JH0PR06MB6939.apcprd06.prod.outlook.com (2603:1096:990:66::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.27; Wed, 31 Jul 2024 06:51:47 +0000 Received: from SI2PR06MB5140.apcprd06.prod.outlook.com ([fe80::468a:88be:bec:666]) by SI2PR06MB5140.apcprd06.prod.outlook.com ([fe80::468a:88be:bec:666%3]) with mapi id 15.20.7828.016; Wed, 31 Jul 2024 06:51:47 +0000 From: Rong Qianfeng To: "Matthew Wilcox (Oracle)" , Andrew Morton , linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: opensource.kernel@vivo.com, Rong Qianfeng Subject: [PATCH] mm/filemap: In page fault retry path skip filemap_map_pages() if no read-ahead pages Date: Wed, 31 Jul 2024 14:51:28 +0800 Message-Id: <20240731065128.50971-1-rongqianfeng@vivo.com> X-Mailer: git-send-email 2.39.0 X-ClientProxiedBy: TY2PR06CA0037.apcprd06.prod.outlook.com (2603:1096:404:2e::25) To SI2PR06MB5140.apcprd06.prod.outlook.com (2603:1096:4:1af::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SI2PR06MB5140:EE_|JH0PR06MB6939:EE_ X-MS-Office365-Filtering-Correlation-Id: d6da644a-8581-48d0-5b94-08dcb12d3f5c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: MxBYz1tnwjR3bcNtX63hoyxt/EQ6ucwBS0LKec/kaSvd6iN8zFTGsZygAxTtzyAgmfEFgnUgrfgfKarUTFB1pp533JgI0Iyxy1bsPzPQXHBsGp5n8DcMvnis5VswJ2GUUipOjDJEC3rlfOjgr3aR5Gap5CX5CKIizPVfVirQsWr9o+SRvkxXsB8RGf4ED1hmQhk0isNDYz4NpnxHcIlXrYO1inn8nd9fcfrj+OJftB/xQgdqFN9aDRU+SqTc2yja02j5yBO/+2KemoOQEk45drYfcvecKl60hCKFVCIXrrGsWypIC8ZsV2LV6AmNi6TQNlKjIbTCGSQdb9xuQg6XDOtzMCYa+g1Bi5CbfH25NoeJohVLGJcuZx+mJGrX171xf0xQso7kHc0P0fbNIVJm3Ig3JoMERPssXbnQvWyRJ9qa0JCSiv21bSqyE0v3R8mGu/VMGb6rxK5TP9sTYFo6d64Tr9+0iOL84Pift/ObuK+4gggIrH7EbOY/ZtgpX0q8BlNOIQLenhum3Em/F9VZPD1cgDPLOZfxt3BweQgC45+02INVuTybkzOEPdqmOVuscZ82AhX6irqEghG/NvACW60b4fo2C5ZsDn9P5wjtFdScYTVn4fOyFxpQ4MiuHWoaTK47RSbz0Hg78u2UYIbR2wf/4nDwNE4o2iXYjiDlr5oGr/nZ/KRpRoNmTQ9V5Y7tkADbzeD6OBEWIjpVT399d8llLb4XDzXbripLu+45XQju7IgZwPi4GmfC5V0zq9S2oDNpEOxnIJAS/AL5MF01ZLzlAny75bQByYsj6ktNxrXHOFRXs1R3MFrOMyETtFCWcL7TO2xbdQkJu4wBY7mpK54CoegaSxAyytZJQ3Zj8BgU8tBwqhiMU+3JXEUU8oLuF7figLbWa0t3HRlMORCt5RwYIARojKrK+CM03BF/NpFbCe0VSw63qeqsVwOlrI82FOIDJia60su6KPfMDxHgbiExeXHknLCBFi+RvNmLwNRn59pJYIeI8ns+0Z/mcCaOrfsi8vVj8JVaiGwCmPzUNsV8yoijjsWVOmFxfE8h277+RilGv+skqoqsmDCFiTDzfzw1qkRMAlUNbo7smIcqboT2kzn5ft0FNnPDsyLVjqV9WOLql9HAEBUvrguOsGUS7YCJEP9icCXF5UbuZncDNdvh63n+9q2Mk0+bxP46QzML8wUwepjdebzlHIXXp7s2vpYaJVhWAhG3izZSxB8iw7P1R7dOnUoB3b8zKAmxLOK6gNqRDYedSAttO7SvHbbhDy6VFcWFTYve1GlICxFNjrGlBQ59oWrvt0sj5oQc7XyjvIXGcIpiTB68hF3J+hNEGq5J0FlYw+jrcgwLsGNMzuyWaNRiq3TsSmm913tNeJJ2viT1IbPWOfyUm3qAK8EdfF41JEiRWigAOKkExjtvlA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SI2PR06MB5140.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Pw6FpsqEvhghUkV5At6WpQayPwmPvvj3ERGfpGJePrWC4RNX40yhPJ3B+1B6BY7H7xHV9XWDlwHnFpciWtmjST+FgZ1hvCe+hcgAjISJkmqpFZi00w7wAIigKo/sR3ftJuwVrmsMCFTgYctadqpCAmqOLBlN2TTNoG/CgwFgDJGhDOzSMKwQ0UHoh4NlrMR93wiu/x22QtgSmqWLC0VIdRTP5seitliRn4plFr2fa8DKqoa9M5s4vVrOOIsaCVOWyGlga93P3rT8E/7TcbXqJZ1Iu0dCfbXCIKiRNRBMDigCXZ/l83ItLf3+lTt4ibNiM7TbpDtPM2X5ycqRr9XA1wPz1cNDjVMzkvaedmQtjThkhqzQ/Nv+hDwQUovV4+Go2E4BgjzRgmqpLbN4/OscylWBtpNJl69KBCmZDBOWH7gdut5UkbyW1Ntpw2CrFLR1KnVJAXvWjmcNsD5SSsMwRGq/r1E9mAvm3YFG7535oWLyghKdRTS9lYgNPsMslAGfcDKrA9UmohMUL+eFAq+tGE2TdrND1JDJpWhu/plcruywNCTRBxmaPinAro3PrAzj/NOZfF9gpIcAd/sHKz5n4gYd8nWPV1vcC6gLDjj14bsoTy3N1OfdhJpadptzVprbICgFFxx0faWrjc7onjFoe/RqaQ4WOilyOTDrUQ0K16sRTQSZ9yt928rKIsexFwMlUMWYp+fKCRbiUfueCjip31kGDchY/thE40mhWKQUTaz9+1+hBigBFe6kL6yC6OwEkZqmUl3jjYVKqllae9C6i7WI1Fog9enXgkCmZgV7eNGGL/V//NC+toV81bg+ONRYUavI1Yuvc+X9E26JQcM1P1+0GisAA3ygfi12jHC7/3gLPlVr14bJs+EFQCa/NhumEp/voma0zD8T9MPbvrjhf9oa+6MyiJOA7j/AG09c43xtEOxh2h5vIxfygk3gWiZWptiq4cPyEhk4nQtCj86dwWnVcvGWKwI/A76UfbYEijIPpguTXkJ8K1VLq05iuVsc3hVuTlQgRLIvQHRT9TWijVAd94k1kzTNYbBuPD1oqtfH+lNlU4G7w3DM3783Ikzjs18HuDEK//9mYC/S6BhDFAdQiegf/B+SmPzdT8BHTGDmVZmH2Pv7YXh3IuTsBSukF77wERnoDHEKTcnltenLgqh5Std4lgyQ0nMAWREzFv0kc3qcflsX8lzTqmfYwYCf/PddeBNPbZBBPt9QRj1O7WEyyM93WU44wKlSRxUs+Tg9/iSH2RFc+62EnUDcA62H4tj9ezEfDht5ay864edlKgBMFvDOB8pCTectH69bL9RGqSqXPhqX8HwcpP+7avaeR9+/SmqxzFeskFezufkW6RNJH49k5jy96aHmXP77/+lNKQky+aF/4TcKC+m5n5LqRz0LEm5koHmKt/LF9tfM4CCwpibjWRzD1K+kFP0wvV8icY+FF8WcsZfsAw6liX8o7hzySbUmurM8xwp1b64qkqJAtz4p/CdUYEATyGlD6fJElDGWxeMNWyYfTFS9hhIW68PTIIMuNaOfpd6Ok4uN5rZw3FyMzKg0wfOBiOYxxVBvSZVzx6XXvSIv/fpy56gw X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6da644a-8581-48d0-5b94-08dcb12d3f5c X-MS-Exchange-CrossTenant-AuthSource: SI2PR06MB5140.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2024 06:51:47.6377 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eNfNye5kBJ7Wukasx59q2N9aLps/Ai9yQbN9XA9Zcl1fMKOdzVNpKkwanI0ayr9QOsJEKyBvJdcxYh/WOgnVBw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR06MB6939 X-Rspamd-Queue-Id: 3D1B9A000D X-Stat-Signature: czksozu8es7ab317m4knc5sfpywx6g4m X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1722408715-119727 X-HE-Meta: U2FsdGVkX189WkHrVVbXOFKdSLYqnsejH+ayy/YcnFOHdAchCuGoDEK0WjNJtB+bV1yToe+WgZMQLfmOix8ezdoL/Un7OXY2VvU9+SpPGv5BFyIyAqZ7wmtAUmRWp2OUdZ39ZWrF2iUgAyrhzqAmylcBUSp4r0gW+Do7nlkGgs1meHDfXRlzVGyDL/R3Le1b6vDYjQ/TCnbopMGNEJbA1NS5gw+6mdZIHxExNTx3o3hw1dcUICFGUEFH+BXYukhktaANJccSQZgLjDV4IVaCcq8xhYXRr36K/uvh5X2HMaW52XOmehIC4fZHgcsh3ohRuANRdB/8oGaimqCnpoXjxGMeDQOHjJaK03rYYpcCFKZf2EF6IPMBGrPKwuSg25UniiiXyN2Asf/QV6NGIUArOicllXlPeYdBqZ1TFzKffslQEay97DN1CPoBU3SdBfrkmDYwGN7nwk4WWN82dfIb5ZFpAAlhUaWBZ+6MtS3AgkyfTldRWYYx3R9lZsFwBrOFGHdYFunhGqldiiQVyJ3sim6s8UxxrCpB1jqVQ3omgXMYvlbH6lEhyDlbFwhDdC18hgIItU78oTM9JcTHM/K+psjX4gfNYJ+4Fja7AYOmWpZFCeJXUT3vrT/louOMuTmNXHTMOkky8z28jx1reiVLKfKo3m+0ujb7YbWSiVJDlHp4SQ6eqI2on1rw7+SlEgTKT3Ma6Z+tOOF3/Ox3VYk4nzBiTTbDsqS91Fmm5a2t4HrhYtNMJWXgvKD5sNH3e3w7OjvA1vN7upt44WnFEk5jPH7pfwiUpiyOpNbOFg6C0eiptV9189MA/m2vJTlkg/UjMlMCWJA0ksiT5aq/7Ja7o8GPncU9CX1eJ83Avj8umIHj9Gqz5VUYR5RLV8GwZcU+ot/Lbjup0+/mq2x9FBhkw6ldcZTMV144XcuVahSbZGTPyN9LIVgtlbDO9jgN26p+F4jMxP9DrAlTNyJhmsK HvJUQ6xV Y9W0hck4Cs1t+VcYynVMksH53vhBM7mbSG4J+NGaaI3Qqc5RGoI4nCqdn3BgLdbT04JXESF3Jnskb1+8pgVdGXoMiDSB4aElEwX2PiwY4ayYYj0+zA+L6S39xQaKL3mE/q2fz/ksWynQAtp8Pr3LmymjtlMMzo/FwL68iALkAwrxlRhIlq2HYdcnKUI6uT4UspsR4CzgX93zmfrEldXoljoR8r/b+vjFfBAsZaKOsFOs0klXOJ7MOs0Roiwhnb2Cz+XLIZ5xysFZcRrOpUgbxC7+oVLeCE4qHUOsmkuIJXUsU0CZByhRxEA96WApMPoqJdSLX0qs4mzdwMqkzIipbowGD9g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: In filemap_fault(), if don't want read-ahead, the process is as follows: First, __filemap_get_folio alloc one new folio, because PG_uptodate is not set, filemap_read_folio() will be called later to read data into the folio. Secondly, before returning, it will check whether the per vma lock or mmap_lock is released. If the lock is released, VM_FAULT_RETRY is returned, which means that the page fault path needs retry again. Finally, filemap_map_pages() is called in do_fault_around() to establish a page table mapping for the previous folio. Because filemap_read_folio() just read the data of one folio, without read-ahead pages, it is no needs to go through the do_fault_around() again in the page fault retry path. Signed-off-by: Rong Qianfeng --- mm/filemap.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) #endif /* If we don't want any read-ahead, don't bother */ - if (vm_flags & VM_RAND_READ) - return fpin; - if (!ra->ra_pages) + if (!want_readahead(vm_flags, ra)) return fpin; if (vm_flags & VM_SEQ_READ) { @@ -3191,7 +3198,7 @@ static struct file *do_async_mmap_readahead(struct vm_fault *vmf, unsigned int mmap_miss; /* If we don't want any read-ahead, don't bother */ - if (vmf->vma->vm_flags & VM_RAND_READ || !ra->ra_pages) + if (!want_readahead(vmf->vma->vm_flags, ra)) return fpin; mmap_miss = READ_ONCE(ra->mmap_miss); @@ -3612,6 +3619,14 @@ vm_fault_t filemap_map_pages(struct vm_fault *vmf, unsigned long rss = 0; unsigned int nr_pages = 0, mmap_miss = 0, mmap_miss_saved, folio_type; + /* + * If no other read-ahead pages, return zero will + * call __do_fault() to end the page fault path. + */ + if ((vmf->flags & FAULT_FLAG_TRIED) && + !want_readahead(vma->vm_flags, &file->f_ra)) + return 0; + rcu_read_lock(); folio = next_uptodate_folio(&xas, mapping, end_pgoff); if (!folio) diff --git a/mm/filemap.c b/mm/filemap.c index d62150418b91..f29adf5cf081 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -3105,6 +3105,15 @@ static int lock_folio_maybe_drop_mmap(struct vm_fault *vmf, struct folio *folio, return 1; } +static inline bool want_readahead(unsigned long vm_flags, struct file_ra_state *ra) +{ + if (vm_flags & VM_RAND_READ || !ra->ra_pages) + return false; + + return true; +} + /* * Synchronous readahead happens when we don't even find a page in the page * cache at all. We don't want to perform IO under the mmap sem, so if we have @@ -3141,9 +3150,7 @@ static struct file *do_sync_mmap_readahead(struct vm_fault *vmf)