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 063F1C47DA9 for ; Mon, 29 Jan 2024 22:13:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D0706B0081; Mon, 29 Jan 2024 17:13:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 759276B008A; Mon, 29 Jan 2024 17:13:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 620D66B0093; Mon, 29 Jan 2024 17:13:06 -0500 (EST) 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 5327D6B0081 for ; Mon, 29 Jan 2024 17:13:06 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E887F1404A0 for ; Mon, 29 Jan 2024 22:13:05 +0000 (UTC) X-FDA: 81733749930.20.0F0D1C0 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by imf25.hostedemail.com (Postfix) with ESMTP id 13D5AA001B for ; Mon, 29 Jan 2024 22:13:03 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b="Mj33/Cea"; spf=pass (imf25.hostedemail.com: domain of david@fromorbit.com designates 209.85.210.174 as permitted sender) smtp.mailfrom=david@fromorbit.com; dmarc=pass (policy=quarantine) header.from=fromorbit.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706566384; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=vDLC7xFNAUmo+AcG//FKc/QhXLX+Lm9EeZICYZdweD4=; b=QfkmduKjS0RR2Rar9yQ9Zwpyj3CaV8WC73iq1iQOMW2OaNHJirn23DrpEgUTLYwCmstbFg CsNRQSdcs6F7qpp/AMTnB4DDp7MNBad9ynuOBmhBLPfUPzLfJHeSEdc+XaG6pA/qWUQ751 lmy6rZUNV1/YnFrNy6Oo7kJdaDOAKdM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706566384; a=rsa-sha256; cv=none; b=8XE6e9UuiM4HYrCZ/Wt4wK+CU5bJeMIKEV7bSo5w4engBEIlsblS/VBJx7KiMpkH1hTRP8 9ch0Esk+v6ncGCqnL0WT6q1AZnIsEKxwM/tncGw7p+T2XbH/mBRfpnuoLZt7AN/Ammsipw f9w1kQ5IzaupbvhxGXJRv3yF87aKeMc= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b="Mj33/Cea"; spf=pass (imf25.hostedemail.com: domain of david@fromorbit.com designates 209.85.210.174 as permitted sender) smtp.mailfrom=david@fromorbit.com; dmarc=pass (policy=quarantine) header.from=fromorbit.com Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-6ddc268ce2bso1814350b3a.0 for ; Mon, 29 Jan 2024 14:13:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1706566383; x=1707171183; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=vDLC7xFNAUmo+AcG//FKc/QhXLX+Lm9EeZICYZdweD4=; b=Mj33/Cea7rm2Ibj/6o66ue2HEb3UpL+HtjeCPgvBRwKIq2IK/v0RdCxLtn3uj3Awiz iiChHYIm1o1GFycOjFYKGCb9dNrNZGzAXJj4y1F1VelM1reyqt58nnn1Cf6Fsz3c5E5b f47pS64An7GuFJkfk1LXvg1YZnwbgmqN4j754YAUUa69N4SBE5C6Y3AA9GM9YX8F0MiB Lc4ktHrEuanv+FlnhQEkwifx5toFAMajUcrXtj3D2PlFqZ1zJWFuGYrYnCcej1vegpwI 4rXM2ZFssDe6MTvrLeeM+MNlkWtZAA8VEPLlM3lxv3ISwL1h1MQYRVZeqjPmGEnJPRV8 EBQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706566383; x=1707171183; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vDLC7xFNAUmo+AcG//FKc/QhXLX+Lm9EeZICYZdweD4=; b=eCCgqmnn9l83ISZabKKihOVdXu+V0EOuPBapg4erRHywl1vIVRi3yCzvEjBn5B5WV2 1IGWikGXvYFv1GD+L7DcLqekgVgfAfziv1LxF8px6SexQLn8tuGyruvNCol+ozt1mA6U fdAMXGHCN8DnO6Z+sU4cYqontE+vGiFWKnPYWuFkYYeYz10ZrejRzMP9mpqX+lrle5pk sbQYKRp7ZcW7X4NHTtu1gcCPwEf8+BmTHBohzv8DRN48ofHVv/JEpfOsApBlXesz/Rja aoYORkQKdadY7aWoOdtBKsvs4vY6Aw1zyprd3u7sK7yfPih2PNp0fx9cqpm4wqYijWUo mTaA== X-Gm-Message-State: AOJu0Yy4FTkZuw3ere/Px9f/WY7GgURYBxXioezua7gk85DazB6HoJNE 4LCrV4qrpG4b1MamWIPwlRuNBIyPRxI6+T6LAR5bWuNMGXMv+9amShABnMsEDOA= X-Google-Smtp-Source: AGHT+IEWU+bfR0SfQjxm8SanypfzwarXm+Xl99VMrnakbTbW5UlL5xEhkIluA1SfHbGga+NwzjrVCw== X-Received: by 2002:aa7:868f:0:b0:6d9:aa18:291c with SMTP id d15-20020aa7868f000000b006d9aa18291cmr4247687pfo.8.1706566382805; Mon, 29 Jan 2024 14:13:02 -0800 (PST) Received: from dread.disaster.area (pa49-181-38-249.pa.nsw.optusnet.com.au. [49.181.38.249]) by smtp.gmail.com with ESMTPSA id k28-20020aa7999c000000b006dbac48633bsm6357939pfh.189.2024.01.29.14.13.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jan 2024 14:13:02 -0800 (PST) Received: from dave by dread.disaster.area with local (Exim 4.96) (envelope-from ) id 1rUZsB-00H2ym-2S; Tue, 30 Jan 2024 09:12:59 +1100 Date: Tue, 30 Jan 2024 09:12:59 +1100 From: Dave Chinner To: Mike Snitzer Cc: Ming Lei , Matthew Wilcox , Andrew Morton , linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Don Dutile , Raghavendra K T , Alexander Viro , Christian Brauner , linux-block@vger.kernel.org Subject: Re: [RFC PATCH] mm/readahead: readahead aggressively if read drops in willneed range Message-ID: References: <20240128142522.1524741-1-ming.lei@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 13D5AA001B X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: ehwzozbkb9k3bk1nw3s44r619zjd9cpa X-HE-Tag: 1706566383-758936 X-HE-Meta: U2FsdGVkX19sxpfK5+iAWoEoAG59L8URIZeD9w1NrM492+/BzjrTv8q59QVgBtOp3A6KsBzKWZSUvWWDNj1Pg9UXoHfc24HFSLFPWIfBPMbXuOIh3Dvd3dbbHu6lLDhlqYw5sBLMS9BeSaa3dFm9ZvoebhAiGmNBmT4lWzpz+4lSYIXcnorbXxFgGjGs4n6v+T3V4kvFA1SIjhmr94UB/2mveFaO5Z6NcVJ/ey04qLxD9f4jCuhvSc1qUaCsWGzwMyEEYmB0dxB7SYmphAR1g+wl23d8IgZ9dpUcqOuFhuhyYgaMLi/HsgtSOwDOrCVkbM9X/cs308E3FSny1XDb6/RrhejUcyC+nyq94PfNxVyjdmxnNr0cbEj0+3DHTJyyPlrFqKaGSKv55oLUcwwqSnnaIJ7b2bCeBQD5OkGXpvpY/N1GfAaROea8BRe/6uaMV77ETe7U19Qe8+zt0VEqQLz4YpB5xqhA05+ujZE5KIacARWRdAvMVwthD6YaS5JK7E3zojkfHd4YRCdQoDSqdaaOuSrTgp7VqwqfmL/KgrUjb+gtKXe/vhOLu5ZNUyYqK1scPiWhztI61bbjdw7ulzg4NRpbr8sdQgHaXJkzWJJv/+fqIJQRGPdM/AM8pmhy3zq33rzbGznxdYFiCsaVap4qVx0XwEJ737rPB9+G+6gi2mnzEJSKAvRJAalGTyKD6cahKvU1aIuXcihOCxstID1P+75KpTTRp21n0WuMWErtRzPJnSD0ZuAIctfr8iBv82571PMWdOeiDjRiKeXDHdNzF60mROlL1hyfrTjTB5plIiMJ6s/RUN0fv7uozCvLaeSDlc6OKoZCp6OCxASoEW36Uno2R4e7IReL2qZSAVeN+Wi1xno+kLYJWFX/65vdNmv4jRBVnAd6Q0m20OC5zcm48FTBzn0HJBYQSM/BG0KXfxel+X6RReEpDqsma3urTh5Zo7nXTkTK12IRd1q h9PURDsr kl0SjbXMCYjE33bgq1Au7fY2RuK5DIIyb+g2RCkvQ2CdBB0jEXTxnZimSCwK1uV6YhRuvVnqWwIJBQecu0O10QFw5BusnWt5ww1jscndz+WuNCRwMbv9dlqJNpLnYqbOJwgn/GKOAu0WU1ACBP+Sjj9SWfMQJFM29Pu13+yXTDFtuH2qI6Hb6tPDca9uDn5WRYTOvWsxqWVyJa7ji/vOsox482M2rdrlYTJzUvowBiWfpXmzXgzYEWAuDIrYg/qPPEDI4WwBuWzk4aLT4iO+yjd1xPmulGA+504FaqVfBk3axIKP46ho9ZRklE6EGCCtFtyWlWN/+Z38wXiS8Sc5iZnSN+C8ARvDVfVqXPNb87JpIDrkC0d7cK8bpcyBFdUQbfpv9CczHPEVl6bkfuMIPYeLr2pRr+QcUg2pgRvqMmAnMpDEGO/VbbCbj1s/dyNQMwKRI X-Bogosity: Ham, tests=bogofilter, spamicity=0.000890, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Jan 29, 2024 at 12:19:02PM -0500, Mike Snitzer wrote: > While I'm sure this legacy application would love to not have to > change its code at all, I think we can all agree that we need to just > focus on how best to advise applications that have mixed workloads > accomplish efficient mmap+read of both sequential and random. > > To that end, I heard Dave clearly suggest 2 things: > > 1) update MADV/FADV_SEQUENTIAL to set file->f_ra.ra_pages to > bdi->io_pages, not bdi->ra_pages * 2 > > 2) Have the application first issue MADV_SEQUENTIAL to convey that for > the following MADV_WILLNEED is for sequential file load (so it is > desirable to use larger ra_pages) > > This overrides the default of bdi->io_pages and _should_ provide the > required per-file duality of control for readahead, correct? I just discovered MADV_POPULATE_READ - see my reply to Ming up-thread about that. The applicaiton should use that instead of MADV_WILLNEED because it gives cache population guarantees that WILLNEED doesn't. Then we can look at optimising the performance of MADV_POPULATE_READ (if needed) as there is constrained scope we can optimise within in ways that we cannot do with WILLNEED. -Dave. -- Dave Chinner david@fromorbit.com