From mboxrd@z Thu Jan 1 00:00:00 1970 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 14645C4332F for ; Mon, 30 Oct 2023 07:41:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 947D46B018C; Mon, 30 Oct 2023 03:41:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F6576B018D; Mon, 30 Oct 2023 03:41:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7BE386B018E; Mon, 30 Oct 2023 03:41:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 6BCA46B018C for ; Mon, 30 Oct 2023 03:41:54 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 3AF211CB2D6 for ; Mon, 30 Oct 2023 07:41:54 +0000 (UTC) X-FDA: 81401333748.15.835AB0D Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2073.outbound.protection.outlook.com [40.92.23.73]) by imf20.hostedemail.com (Postfix) with ESMTP id 870211C000B for ; Mon, 30 Oct 2023 07:41:51 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=UEi0XaOD; spf=pass (imf20.hostedemail.com: domain of youling.tang@outlook.com designates 40.92.23.73 as permitted sender) smtp.mailfrom=youling.tang@outlook.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=outlook.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698651711; 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=vvfMIPrRaI9nRJnjmTglFevwrok4cT1bM4EX4WtXQHA=; b=if8YU9YQ6/Im402CD0yRTNnxV8VxVsTCaMCo8T9DuNxJqNNrA+peYoBYX+vDc/YqP+1h6F wY0YuAirnG+gnYB73C1dZ68+KBgEEIhk7XR6U6FnyvAvQ4d3tCzuDZ5/V5bXXrxIwwcQX7 BHyjs4iX3nyxjSme0oOXO4lAN8iVlVI= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=UEi0XaOD; spf=pass (imf20.hostedemail.com: domain of youling.tang@outlook.com designates 40.92.23.73 as permitted sender) smtp.mailfrom=youling.tang@outlook.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=outlook.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1698651711; a=rsa-sha256; cv=pass; b=CO2tGSbdsZyBr//PxeDNJ/OnxwGfCm5SDx6+K7VBqguhS7TdtNNF3yaqWx63GGo71h9bwD iw7WpgEvUmqhTZnRw/epk4BpqQSQOQMAhu7ZdGicLfU0K7snphr9nR9E3Sz7DUbOcVduqQ WSw8c4Li9BQybykgDJmEbE+o9s6Xdt8= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XkbY8sPxiBcmFZD06LJh06cCCz2RS1jC4RISjUujG3oDxp6IzqECAnBuo+CYJwUGVuZG5vImuJjjBWLNOFrgzhTcHTcteb1EqZDleGznc+7kwym1o+u05/r9riyHI8twdNHd6iOlyVB95yfcWE/htVfx715qG/znsknHL31EfB3bsMddAP+cHDT1xM4WvjXiXMUO0Wvdd7B+/vISTUGbwJ8Hba6WxdghUWfwdKgadIlbs30eWZJgfNOJTNUz4KFTVH16KpEMEq8HZV7F/pPQqxv9uU52RXn9t/XiDjdRFHM3C5ZgNdfLjCz9mvTHZc1QFBHyUxK3EaC+fWa8s/KOUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=vvfMIPrRaI9nRJnjmTglFevwrok4cT1bM4EX4WtXQHA=; b=fsHLB++339BJEDuVYmdLNna6YFxKid6ke6IWptSyPh4CrEgTrdFCsKwd04P91Uq1IPl5BpBDn2cpp0jhoRjDnKZOr0Pa5XXGCXJgsvO7/Cv3EfIb8G4RZ4TysV5BoAcNnGBZl7i673KbKyVSPDotznDmFqT++W3+hliAc+783kr2lO2kLz6tX8yzN5Fp1W1MOPxpX4ixA6qxT/wthb3AeGswVgYPlrK39iyHDRVkLDI8OKGnuizZt+Eir0ITVFLmxI+rwNufBA6IK1tK+iQYtVjbtbU5niz5OSqzXKKk3E4CICVuFA6X2Vm1SK5NTuJkwQC9v+RQoHRpzLRJtiPP5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vvfMIPrRaI9nRJnjmTglFevwrok4cT1bM4EX4WtXQHA=; b=UEi0XaOD1sUK4qd3B84//x+mnwZUX3oE3RW1fVtC6yaZrblGW3yFOQV66kh5v5plclLhJJCfUl5mof+3SsfG9fO3WVSe7esVDmLtHCNr9+eRT2V/2geG+Qk7V4AZR59gW8S30ltwCHAN1X2Nc/9Iw83oXHZxIQGwz67tkaaAiyQlC0iUlInmiQmZktj9yVoKdMUq0B1Z0srCvLDu+sf+rPOoT+yiKXo675GrHdkaQ6TOOC9WgNMo7PUzHLpZ1MIvyr9dPf24EFHRtdupZ61xV6np24qftxcU7TojAfoR1n7pDRmMLGNcNKflhhxNOXm4B7UqhJL1mi+Mz0sXVevE1Q== Received: from MW4PR84MB3145.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:303:1e1::10) by DM3PR84MB3692.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:0:1e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.29; Mon, 30 Oct 2023 07:41:49 +0000 Received: from MW4PR84MB3145.NAMPRD84.PROD.OUTLOOK.COM ([fe80::6761:2623:329a:27d6]) by MW4PR84MB3145.NAMPRD84.PROD.OUTLOOK.COM ([fe80::6761:2623:329a:27d6%3]) with mapi id 15.20.6933.027; Mon, 30 Oct 2023 07:41:48 +0000 From: Youling Tang To: Matthew Wilcox , Andrew Morton Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, tangyouling@kylinos.cn, youling.tang@outlook.com Subject: [PATCH] readahead: Update the file_ra_state.ra_pages with each readahead operation Date: Mon, 30 Oct 2023 15:41:30 +0800 Message-ID: X-Mailer: git-send-email 2.25.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-TMN: [K4EcORULqWqsEe8xctEACmQSjMROm7kF] X-ClientProxiedBy: TYCPR01CA0067.jpnprd01.prod.outlook.com (2603:1096:405:2::31) To MW4PR84MB3145.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:303:1e1::10) X-Microsoft-Original-Message-ID: <20231030074130.1538968-1-youling.tang@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW4PR84MB3145:EE_|DM3PR84MB3692:EE_ X-MS-Office365-Filtering-Correlation-Id: d886a587-3402-4e42-7b94-08dbd91bac6d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: L5FiTsJSjQeJUpb+UeqnlN3BftMKa25dQOgqUBAeOCVGqhi53n94pl0WnEuT6JuxUV91RbU7G0Luk8OKAa5CWZpxE4t9LxScyGpKhsv4wuB1VUWd7g8N4TqSZ05b2Ps052QL1M12uwgj/Ns/g/fO/R1TM60+c6DB09Lujmp6mHQrLEFtyeAivvVcnVTDFXJmK0j8MEEqzaHClZ5ZO+R+oVuQ3PO4ilhNK7ytB39KDA6rmaGqkzmPwvIiN3k2cjzpREVUoMEvrzKVMcsvQFcMbD1Qex9Dm2CHV1MRTleJoxGO3lEM4e/rg0McL+duDiSKFUTWzk1CVUlg2UmCfa5Vg2R8SONaUFNajrTdXD9cQfrLvOFtXQsedg1WsXjnPOiTlYiiZINYBQRh1FI1GwYzhurQY6rH0qUuVLDg13V8PlKlGQYPaksIksGq99wpcrt9vURL9h9reMwhP2rLdgAoANPLXQwrFbSQCQ6jcVGyWDvPKCpOvfO1vxxIo1K9O/P1lXjOM4dQQvYm2gWg9C9CJrKSMOMJaXmATHRJxf2BwBeLettTxR4NroovE8DmIX0/FKKDoPL3nqepaIaLR0N5RvP+8M2dWq5kQBoLXnrFfrU4nlWj/F+KSz5HfpipiAh6 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jELSgBrRdf9KhZxmrIdeF1y+qCWQfRZT9zPsst3RikPAqYSVtSJtxwbTJcS6?= =?us-ascii?Q?wkEiBA60uLrV3JTPPMdaApoIVuUGDadiNhWtYGQEXn2xlhpR8WpgPWYP03Uf?= =?us-ascii?Q?ra8J2dIqPxx04KzUnEZdBI4TcUkI/ZL14pfUDqPqk9enbibXB5FNxgOBPNjY?= =?us-ascii?Q?9g7DxQxcDY9wU9rkzNXQVXmLHC2YpaprEKJVZTIqkBPIN9I+ucc8gRi7VsJ+?= =?us-ascii?Q?5ICn5AV6Dv7/DQt5c/353Cr//jwYGplJnFgahmJRSXSa/AKbX1/PryWeS0q+?= =?us-ascii?Q?8kja9ruAa3XD+Bl45lF7NEBEhR74JzScz82z0je2+ukj7+gqw7HWVfHA6U2X?= =?us-ascii?Q?wp6qzVrqR3Fdpe5ttW7YOjYqPU40vQPv67dQSFBUzCRVKfSps1+LJNaQ9Dak?= =?us-ascii?Q?pf4aQqP/qy59MGZOyE1YcP9GGG1auw4OiWjkOsuG+7Qc5wA8eXsxoDMPZ+Dk?= =?us-ascii?Q?myt5gpMGhQbjDjatecmLyn3gYGbr3u0LfEY27tk6NvR0Sv2r89QiXgSgorr5?= =?us-ascii?Q?lTsoX0Yz8G+GCGGCjUXy933RI06qKULacsMCZSj5o+YRAQrUNAsAuMbwOacQ?= =?us-ascii?Q?oGFla1NSD2/uxEHZA6mpBZaVC3sFk/TVphFsyx+Jj3RYdsqdZSZ5kWIHyqvQ?= =?us-ascii?Q?15Ni11RqHPfJ+pRSleMGzfp0dTsneSAL7ZAZC4kKoBEeLNi4KCkH05ojQuwi?= =?us-ascii?Q?/Zl1/L5jUsmvXQmCDUK7ykjWhupV7zqS4IagKAyObFNRQsjYn3iiwuHoG1Cx?= =?us-ascii?Q?OyP1CV4JQcEhzSuaBIbuMzZ3+ahl7GoQgjQpnRhrauzaL4erygNkHkOQlJgt?= =?us-ascii?Q?vfDbkRkjZUk8XhcnOi02Oo37LQRR3ks9ptEwRfN6NIbSN4ahgv1MtVpQmp1o?= =?us-ascii?Q?MMzmJpzmcCWgqIeUn27Fs6nLlY7rlwyc+D9G8+pwm2OQCeP4RtLnQkJ+qCQz?= =?us-ascii?Q?gp2yAT7ygEuEyEa+ZDJseDqbWXLJ1NkYYF9CeTSRHd0vJVbHYadLAVDLuYB6?= =?us-ascii?Q?NOthIS84kKh3qLV/w1lk9xZMDYupIgX6FjFcH3M7vdRJ1lKBEOpjSxl9Xpe7?= =?us-ascii?Q?QTWS2VtwxwU5rayjNZIVLZC6tYRUM0z2kyEp+AhpB8oxAxLmyKDSy6pTbG3p?= =?us-ascii?Q?BlCPM4Xrz83G1YK6TBGHQlAAu2/5652onWICz2hatHexf5elbuWXbTemulIx?= =?us-ascii?Q?bzAnq8V4pW1tIEAB81M0ukee8/ZP3Us8EA9QRDzr60LDnTYW3g31ElkCd1Q?= =?us-ascii?Q?=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d886a587-3402-4e42-7b94-08dbd91bac6d X-MS-Exchange-CrossTenant-AuthSource: MW4PR84MB3145.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2023 07:41:48.5400 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR84MB3692 X-Rspamd-Queue-Id: 870211C000B X-Rspam-User: X-Stat-Signature: pz6tpmr41k1bs8kg148mh6dttis7k5se X-Rspamd-Server: rspam01 X-HE-Tag: 1698651711-173889 X-HE-Meta: U2FsdGVkX1+c13IDe/LVJV7by1c0Wnhv2HGotNl2ukOc2h2onOLXvVVIjA0kOJK+//VczkZFaRB6pDP66Lz7fPGx+S60soUyRiQ8hdBs2gkX3XOgKnro8JPioU8GOVvhvws0CneEZX+odM+LhQoLlYGFWTcEg/MSeQ7YArxuvw03pZCW+Zlu+mqJpnm5nWFqn3Cyi7A75Ycru0/PZKYJruYDUSHZvidIPVyEPT7T+qrxRfnl/TVnX1/vaRA4xVEQsOOB/fQc0QFqDFv+kymHaKt7q36XuxYcJ3ToQ6iOoonCypxsYdsCE8JjbXceK0v7LHwPEJdD+ghAghDNKQeZutv9FfuAX0hJIdLCM5JZpl9jBoCcGbK4Y5VCgQfRcOm8bQ+TZJPQy6Kf+ukm7uT2yoWXzU4vWJH3bHjXzz4RLIRLnH0eUU6QBuFr/g7A2xn7WRoEgeJ5FUVJBdXXoKwsKTxKWTL/ST9nlvr2TNWo+7QKDRJS8nBhj7ALzx5gmMLJ9swSjiEQJlz7BUcrPeW7QNGYpGujdsUF+QXqEy4RDvSPI7UtmHn9kZshGxPwprIFGtNQpKGGa/3KyQQoMxn6ayVm37Gbjc8/hsSvHZFR9OQWz0R78pB7bn/vkIj740+azVCaUnlYBKn4iDdE11S0aAelPyHlKqi8zIFLt28vhM22jSsrTeMypRTDaXBzeBxe+GjmHLFn4Rd586CGQ+S4FM8R0evNdC9bI96PAVX9ZkXicH51xxuicO6DcUFY9cKe0pbdZV6xvMTlPf66P8ZxswnULQtE1JDXoKs01AaOQbKRNP8rPZ6qKpGlYb2P305/UcbUqKyg7dN+xSSR8qAVMeTt77NW2laq23PdVk/vVFxJeCDfvBNO22U2ERrCHgmZr2TvM5lPdINS3jEDCUkEVUqXvnVI8tBmqpaAMHrbc0VIgFYt2ZtnfMcRSTHs97VQgoSauXDzEfNBYYirxBs MvHWR4VR JjGyH01Z4K4GMaIRwrCCqOGAq4m4C37UsZHWE1/xvEZqdMPcx6ZiyiwAHbJ2hvfMJqe5MFSCgp8WFBh1Jfys6nYQlLW5ZV1cd4qk3QFS93I4PucMb0qJDIQ1fbXJYw0e42P3MTXh8iEaP6GXcGAo402DrjSR/QhsuXLGAwzsKbkXv6ZiM+cAOFEcA9vuTPrqRStDeuIRagVIdrLaFoHUKLiNdxnJL+FHF3ObrlBTYV15wxI1wPpSf8CGv4uPHJFqZzIuSaQDiR4h6aTvwdRgNAQ4TFw2hA07dIxYwR5eRawPNqiTSNspNM0nASb+Dm58yvGYxhypVyXK4GxQq2CxGQyZWi2F0GdmXcnCwCg1OXtd639zWGHwWAsMcG1cKe9pM8BPV X-Bogosity: Ham, tests=bogofilter, spamicity=0.000009, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Youling Tang Changing the read_ahead_kb value midway through a sequential read of a large file found that the ra->ra_pages value remained unchanged (new ra_pages can only be detected the next time the file is opened). Because file_ra_state_init() is only called once in do_dentry_open() in most cases. In ondemand_readahead(), update bdi->ra_pages to ra->ra_pages to ensure that the maximum pages that can be allocated by the readahead algorithm are the same as (read_ahead_kb * 1024) / PAGE_SIZE after read_ahead_kb is modified. Signed-off-by: Youling Tang --- mm/readahead.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mm/readahead.c b/mm/readahead.c index e815c114de21..3dbabf819187 100644 --- a/mm/readahead.c +++ b/mm/readahead.c @@ -554,12 +554,14 @@ static void ondemand_readahead(struct readahead_control *ractl, { struct backing_dev_info *bdi = inode_to_bdi(ractl->mapping->host); struct file_ra_state *ra = ractl->ra; - unsigned long max_pages = ra->ra_pages; + unsigned long max_pages; unsigned long add_pages; pgoff_t index = readahead_index(ractl); pgoff_t expected, prev_index; unsigned int order = folio ? folio_order(folio) : 0; + max_pages = ra->ra_pages = bdi->ra_pages; + /* * If the request exceeds the readahead window, allow the read to * be up to the optimal hardware IO size -- 2.25.1