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 921E1C3DA4A for ; Wed, 14 Aug 2024 05:42:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 240906B0082; Wed, 14 Aug 2024 01:42:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1EFC56B0083; Wed, 14 Aug 2024 01:42:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 091396B0085; Wed, 14 Aug 2024 01:42:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id DEFE56B0082 for ; Wed, 14 Aug 2024 01:42:12 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 9122A40CB6 for ; Wed, 14 Aug 2024 05:42:12 +0000 (UTC) X-FDA: 82449755304.17.D8EA852 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by imf20.hostedemail.com (Postfix) with ESMTP id 9145A1C000C for ; Wed, 14 Aug 2024 05:42:10 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=K5aU9x1e; spf=pass (imf20.hostedemail.com: domain of david@fromorbit.com designates 209.85.210.177 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=1723614074; 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:in-reply-to:references:references:dkim-signature; bh=2xThy7G5turHsTiFyeJ9AMtp0dOmT8fMh/o92Prf5HU=; b=uZlaA0+P/zQnl7QbjfIGwTYj0PArAMymQcCfc/vphWCEg5J/xMmWo6oDv7FAEMyBuMbnFY ATgqOrhQl7jbFQpyUgoiX6Scov9CivdAQSXUhturOK2kEBzwN2SjAyHADWoXEDmOMG883X ewm//8mWhn5b7cyj/O5fv81MLmnxl14= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=K5aU9x1e; spf=pass (imf20.hostedemail.com: domain of david@fromorbit.com designates 209.85.210.177 as permitted sender) smtp.mailfrom=david@fromorbit.com; dmarc=pass (policy=quarantine) header.from=fromorbit.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723614074; a=rsa-sha256; cv=none; b=Q1bJYZCo05CdL9uC5AUQC+xpMC8sR7nTtoO0Z2cl8Tx6M6fvZaMPGbND5I7A5NqNb3J/Or Z4jRufe2kBhuDY37su8ZlTN7QbEOkjmts739z1E6el7mSkrE1ZzzUnjZsDdL0AwNrdqOWR Dhp6cNIKHfeGywV2aFV+ndqJVXr9p1w= Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-7126498ad4cso850980b3a.1 for ; Tue, 13 Aug 2024 22:42:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1723614129; x=1724218929; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=2xThy7G5turHsTiFyeJ9AMtp0dOmT8fMh/o92Prf5HU=; b=K5aU9x1elnkexM7Fz8AonBywYVBb9pXoAD+u8CZvWRhlVeu1Rc9vsi9JvFlJFGOIGI IKkZ4/7oiPIFkbfhRgCzeaWXboJpAGe0jGtEkQWQLaHmrwM+wBNBd7wxzLhefu8pdRjq DzTf1lhxZ2H4UkeovKEGhz7S1ISx2GQ9ZMH6GAg8FCwitZK3lKXW17njyUawrOq+m5ag 0forOiWc07XwH8R/jnyMomjKlw/spjjq3qxYqfn+6kqP08iy2QuNf4PHoCN+hHkCteDp N9KtlooFkX8E91v4QeCQ6h95g64nDFR8K973Uy/P930v2XZBZ28jH/0fSB/uJXomJo/N AjDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723614129; x=1724218929; h=in-reply-to:content-transfer-encoding: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=2xThy7G5turHsTiFyeJ9AMtp0dOmT8fMh/o92Prf5HU=; b=M5GnlhwGGwzakzfL0QoMQlFdod6snQaqP1HqHCkl92Ahk9AUd8ufKr+EE1hOEstCCt Oc7Y+DOkk3GNCcqYRD8t8Yr8LFzlcLBawhJf9UkfVgQKPy8oboiyCk0G31QYz2UDD7z5 CqeHubdWNDCcEqla6lOo+ToPUzJJuxZIDuLrSwTfQmsOksqgDFlYygy5LrDGP2NqcPZA GJiXc2P6wA0UeX+T/ITGD9Pn4H3wnLSypP8nrvSBlyqSi9AKbXSBj/fL4HdxYjECkU/j mXg16Wxj1QommGIAbdtBZrgVVXFqbc1i8cp6zwjEi6K/b6LNOQWwNrY0LWBIa624rXh8 0KvA== X-Forwarded-Encrypted: i=1; AJvYcCWkbPkYMF8RzIAbnrj0oClhB/iSZdcPK0BFir1AsDqW5xdpklFt59rlKD3KXqT46J/XgostqDUqeZ05h757Kc+EnCc= X-Gm-Message-State: AOJu0YzIFB6Pv1SYBU7irI0xxr9CFJZWWyn/fCqpCr23MzByhWdmtfoF VS/9CdF79e6+F67Mh1Re2cECvlxNa3fF4vn/s/2ufLQNVVZfrSdm142PHdzk60o= X-Google-Smtp-Source: AGHT+IFzgtfdVJw2YmfGXvfYUxRq68O3860D/avVRnbR5lVSvLogif4/KElpAzV9WjmtAh8Hc2c+xw== X-Received: by 2002:a05:6a00:1ad1:b0:706:29e6:2ed2 with SMTP id d2e1a72fcca58-712670fa392mr2756945b3a.5.1723614129018; Tue, 13 Aug 2024 22:42:09 -0700 (PDT) Received: from dread.disaster.area (pa49-181-47-239.pa.nsw.optusnet.com.au. [49.181.47.239]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-710e5a4a609sm6567500b3a.119.2024.08.13.22.42.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 22:42:08 -0700 (PDT) Received: from dave by dread.disaster.area with local (Exim 4.96) (envelope-from ) id 1se6lp-00GSZP-2r; Wed, 14 Aug 2024 15:42:05 +1000 Date: Wed, 14 Aug 2024 15:42:05 +1000 From: Dave Chinner To: Yafang Shao Cc: akpm@linux-foundation.org, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Kent Overstreet Subject: Re: [PATCH 1/2] mm: Add memalloc_nowait_{save,restore} Message-ID: References: <20240812090525.80299-1-laoar.shao@gmail.com> <20240812090525.80299-2-laoar.shao@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Stat-Signature: uifmk6upyif1srabnchmn6p4x8yedrdq X-Rspam-User: X-Rspamd-Queue-Id: 9145A1C000C X-Rspamd-Server: rspam02 X-HE-Tag: 1723614130-291021 X-HE-Meta: U2FsdGVkX192nIiyHpFwcK9ECwDKDdcgImbc6/jR0gW8fl7Sq2WJE/2dNU+yi3HBMjrls9nRMnFUVK6yoatHZNAZvl2R1H63qO2lYQtrUY2ksjdDa53WwYbjBQyyYM4aIh579wdNPLcpgmfxIcsMxKlqMxC6QvOM5Cb0kArU+o9cAjYVZbxLdGFw32un0++tNOceZ3fw+VJqSVDxatWm1+qW3gnlhhxG06CZf88MSGO//fhW0E2aQs+GpZc7UO95Mm3dlwRiU009iJBmGOb9RsNPxZX5br5nOGicvXnl6qjcBTKSTflKCWCe3JSM8RNnhxebN32Tt0pD9smxB2fWo5UDYGThJuz/bMYH0n5GF6LAgoV6z50r3tbgb5TaY12pcYXUceL7bGT8rJCIY6AtI9kGP585vDMBKr4Mr1CwOWWfToe8atoupkA5xfGtFlZibzqbNzMUl8ZXDO326z3qVcfAvRBSelKETw/fAuVXyEFTHKSC10lAP0XfnMIDovKDVLQnAMqbh8uGGF0r07+7NXsmEfZgaeRS3L8pxAg0x3fwnXpdRwiJlwSeLSXNDV6ExygEfuCzLMXScX2Llzt2BQFXtjqBvkta8LPqu5BRYdKJYnXrZtlkjVjp7Ca+T0d6zjf0PogWZJXHZuLY8pav/zwGQm10Qf01mP593SIHzWR45PVAezNiZDdzIkhdy0kSF2Oif+hbx8V8alaepveYciNJVln1ukDm2eqker2DGwTB+reuFSGMKTmVkAeWWvFKc+Qxuz7ghPGv+b57fXK8NkZsWShOCgd+Y9k15dqzxTueY0Fk8Sq+EvJG6kyFwN9VIqLVem9/4YXwcRpmlA6bIuzi5RJAexsxP2LQqWE8UspAejdU66kT9BGoLBTPj6LKYOBPJx/ZqsoNq08naePe2Yn/ns2JJGUPZPqZPsq769p+BFgHzqX+zbf4iLhz9Ygp9AKBDq2muQYJhRcLKVv zpF/hZYz 85BuDmPs33U60SGr+4MSlJ0w6SuyT1zO0SkCuVnUnGuoidpTNM/Gj4QZqFJ0NPXy2cgjQ8lrOHU1BnIzgQsYR1Xr6iOpcHdjFaaxTEcXeJdQCZV9fdybRLxJKlJ6g6sskkqT9bMRcu5hlXYL9YzMdte8JuntcF+JoNEoETFLmjSamrVPYhPdDm7xo6ulzfJY6ZB0m0nnHvSTs/AUIB965o/AjzZlk5Mqcbk6FgwAiIk760tsTmkCLsgvxFpRHxz247LXYLSx+TkT5yxOPvjDCClCOLqRyizGn89qYzB8K2+j14VYxQzPTRVX2N413HVX2VnAm8SHiTCHrEHbK/sbafN4ZjRjW0Q4coFlQC7tg5ZBP0NVKEK0l6WrONVp2hVprW5Q0+Q/7EFM5eclEyap5E/xGLe9cL8BFVZPKQFTtBbsS/ddMDVW/aghJSMVq8XrYZClqSY8fiqsaO3T+nAhxRAkPZnVDiK+ICC2UFODq7esjImRGlsuFRHDw6kffyeTpWuzCTVy0GSF3udPzXZd5Y2vU2w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000157, 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 Wed, Aug 14, 2024 at 10:19:36AM +0800, Yafang Shao wrote: > On Wed, Aug 14, 2024 at 8:28 AM Dave Chinner wrote: > > > > On Mon, Aug 12, 2024 at 05:05:24PM +0800, Yafang Shao wrote: > > > The PF_MEMALLOC_NORECLAIM flag was introduced in commit eab0af905bfc > > > ("mm: introduce PF_MEMALLOC_NORECLAIM, PF_MEMALLOC_NOWARN"). To complement > > > this, let's add two helper functions, memalloc_nowait_{save,restore}, which > > > will be useful in scenarios where we want to avoid waiting for memory > > > reclamation. > > > > Readahead already uses this context: > > > > static inline gfp_t readahead_gfp_mask(struct address_space *x) > > { > > return mapping_gfp_mask(x) | __GFP_NORETRY | __GFP_NOWARN; > > } > > > > and __GFP_NORETRY means minimal direct reclaim should be performed. > > Most filesystems already have GFP_NOFS context from > > mapping_gfp_mask(), so how much difference does completely avoiding > > direct reclaim actually make under memory pressure? > > Besides the __GFP_NOFS , ~__GFP_DIRECT_RECLAIM also implies > __GPF_NOIO. If we don't set __GPF_NOIO, the readahead can wait for IO, > right? There's a *lot* more difference between __GFP_NORETRY and __GFP_NOWAIT than just __GFP_NOIO. I don't need you to try to describe to me what the differences are; What I'm asking you is this: > > i.e. doing some direct reclaim without blocking when under memory > > pressure might actually give better performance than skipping direct > > reclaim and aborting readahead altogether.... > > > > This really, really needs some numbers (both throughput and IO > > latency histograms) to go with it because we have no evidence either > > way to determine what is the best approach here. Put simply: does the existing readahead mechanism give better results than the proposed one, and if so, why wouldn't we just reenable readahead unconditionally instead of making it behave differently for this specific case? Cheers, Dave. -- Dave Chinner david@fromorbit.com