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 3DBB1C3600C for ; Thu, 3 Apr 2025 04:37:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 96BEA280003; Thu, 3 Apr 2025 00:37:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 91A30280001; Thu, 3 Apr 2025 00:37:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 80A5E280003; Thu, 3 Apr 2025 00:37:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 64D28280001 for ; Thu, 3 Apr 2025 00:37:49 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1B97ABA15D for ; Thu, 3 Apr 2025 04:37:50 +0000 (UTC) X-FDA: 83291474700.08.C945DFD Received: from out-185.mta0.migadu.com (out-185.mta0.migadu.com [91.218.175.185]) by imf14.hostedemail.com (Postfix) with ESMTP id 1B355100002 for ; Thu, 3 Apr 2025 04:37:47 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=FHn1TOTU; spf=pass (imf14.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.185 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743655068; 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=EqjBm8UI34Pk1sLBpujvX1ZrayvDU7fkd+T64DGWC1I=; b=31G/z3KDBWcAJXLU9cYsxkaGj+CZlWs242LslNxqOhWWqqshRcVQJAZ9HQGTiH2+8X8pAw SmaCK3zbE3m/9u9Ew6Rca7tAt7r30Ih1drJq4AN2AYiAjKpr5ZlZFENcVFN/eaIM9r8qrF 5sAdJ0q/4uVT8A57i9JY2ZQM5yBHvhk= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=FHn1TOTU; spf=pass (imf14.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.185 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743655068; a=rsa-sha256; cv=none; b=24I8mvYi2bop/oJcnUzynVfSwesDJRJ7JGyN7DlV/osVFP+aWm5BUxfXIXFJVzygrocomI It9C6pg5g+NgAntfqsDHcfgyxzOigpRFXcoglxqgNtd2tQUGhg9ZY2EYsYwaeAvWf2yeiq DQwFEeGps/mIpeRcwt88E+4SEXtUTZQ= Date: Wed, 2 Apr 2025 21:37:40 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1743655065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=EqjBm8UI34Pk1sLBpujvX1ZrayvDU7fkd+T64DGWC1I=; b=FHn1TOTUCWFWHcHkaAxmhzZeDrzOFzWqsKhKW3fEVlc/hkwtVMRbCYPazPt96dZRLud7YI LwUaB+9kS65MHR1Pd526w0qNgsicQWtNt176kBUlBDT8rzbn2ZrG0SsaCmEJlvTI8v9qDg x3SMNAhi+5Ko2pNLx+8BA6yjygsN56Q= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Michal Hocko Cc: Dave Chinner , Yafang Shao , Harry Yoo , Kees Cook , joel.granados@kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Josef Bacik , linux-mm@kvack.org, Vlastimil Babka Subject: Re: [PATCH] proc: Avoid costly high-order page allocations when reading proc files Message-ID: References: <20250401073046.51121-1-laoar.shao@gmail.com> <3315D21B-0772-4312-BCFB-402F408B0EF6@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 1B355100002 X-Stat-Signature: kgpmsyp1h78wgkj9u9gwy5jz18br9ujp X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1743655067-835709 X-HE-Meta: U2FsdGVkX18kqpLMk/+We7Sx4OYQ/3OT3HVXuCLH2CAFSieG+mqbx8XDWQHgawKsNM2qZZNbcfxe/E8OCks++qv7JcG9hUB7wO5IHbSZwIbmqPoEc1022glgqekL7ZRbA5jkl/A6mm9r6mX6k1Gzom12A9PBBbnMaH59yj5kxYWR1zDRgwVfGFrHp05ahsZ+j17NrwoqfQ+Bg6cZwIrHPfwlk8W5J8UD0I3TROsJ7jNJ8HXOsGFoQeHEHsscm5HGLxB7bCUJcPVYlrwt7v4GHLaFaBQfWQSA2+9D+KHQ0voQ72Gf2mia8HaZAY6XnrtMQFO8YSwheWUARlQnf8NKSGdThdTzZiqLCuNFtDFQDwiT4bET6nErpuW4C2OHUAWHLk1eDlyXLbOiiCSlm5ZBwolkKGM/YfBeITEzngGCkjN26zcVvAsHpMICILFmAdoZgqc5dGTzygRd27FWqIo2Ui+ZPpR03+yjIRnBKAwR+9eDdFc+dpmDuE+30LO0/kinYJgouOpjMKeE4CEdBOwPuBOaRIRfWvfc8NWm+M6ziwIkiPoSqgmv/G/rPcZs7GdoaSnYBMOupCS+9D25YOWLsFPPbkQpFgSkwiQDI3Amf2D6+V6TAyFqB+mfq1Cw8+u4pZBy1/itq6mVfbb9SdDvwpdoetgLGjtndtnRoOsE4QXN+RKRH/GRk75IfvCaKllcE7OTEjwsWTKw+ygAQWuPE7F2SO4f58SCCayhGJwyW3cCKRlz/ULgvhwZTl5uUiwFpT0tj0YtAof2ngvSCwEZUaxAa0BEFRg82y9VQ/CT2RrfkA00TXyMBfMacE8FkAcC57Jva3Bq+7I3CzvqM2iL9BQzqxJirK5TW9f0i1sqg7yNYxdbZWMhLXQspy7lvGGgcX34rsncB2LUF/6tSYPWdKX14AGXdneh51U0BITlH5peJwr1GKofgxCf/93wzIYnUJ6WIARLK/xwCQlcnGc mgXgq8SQ iu5Q53yNrz0jRUCKkyOxZj7+5qY9vOQ/XOwKNK2477JjURT3k2jVQIFrcjsyswWQqKlsFSp4fKf+Y1H3y4ZtUUMFVYXkZ2PANsSIZ7ntyg6BkkCqLo0tsF+D75Nd7oo+i6w0176T1nIWwqTQy8/gVL4Zfs7m9baboVeAxJx6A9Lieohzn+edKMIveTUMZDlmUXk2+Vazy/cQD3+SnEDIx0OAD534en7MnPtSvWQ+llQ3nP//kCDM43WsBAhk5+c5hT2hw 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: On Wed, Apr 02, 2025 at 02:24:45PM +0200, Michal Hocko wrote: > diff --git a/mm/util.c b/mm/util.c > index 60aa40f612b8..8386f6976d7d 100644 > --- a/mm/util.c > +++ b/mm/util.c > @@ -601,14 +601,18 @@ static gfp_t kmalloc_gfp_adjust(gfp_t flags, size_t size) > * We want to attempt a large physically contiguous block first because > * it is less likely to fragment multiple larger blocks and therefore > * contribute to a long term fragmentation less than vmalloc fallback. > - * However make sure that larger requests are not too disruptive - no > - * OOM killer and no allocation failure warnings as we have a fallback. > + * However make sure that larger requests are not too disruptive - i.e. > + * do not direct reclaim unless physically continuous memory is preferred > + * (__GFP_RETRY_MAYFAIL mode). We still kick in kswapd/kcompactd to start > + * working in the background but the allocation itself. > */ > if (size > PAGE_SIZE) { > flags |= __GFP_NOWARN; > > if (!(flags & __GFP_RETRY_MAYFAIL)) > flags |= __GFP_NORETRY; > + else > + flags &= ~__GFP_DIRECT_RECLAIM; I think you wanted the following instead: if (!(flags & __GFP_RETRY_MAYFAIL)) flags &= ~__GFP_DIRECT_RECLAIM; This is what Dave is asking as well for kmalloc() case of kvmalloc(). > > /* nofail semantic is implemented by the vmalloc fallback */ > flags &= ~__GFP_NOFAIL; > -- > Michal Hocko > SUSE Labs