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 11065C3600C for ; Thu, 3 Apr 2025 07:22:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 20F1B280004; Thu, 3 Apr 2025 03:22:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1972F280001; Thu, 3 Apr 2025 03:22:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 00F34280004; Thu, 3 Apr 2025 03:22:48 -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 D3B0F280001 for ; Thu, 3 Apr 2025 03:22:48 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id D8336C19D6 for ; Thu, 3 Apr 2025 07:22:48 +0000 (UTC) X-FDA: 83291890416.18.4FFBD65 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by imf18.hostedemail.com (Postfix) with ESMTP id DCBE11C000D for ; Thu, 3 Apr 2025 07:22:46 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=ReinHFoE; spf=pass (imf18.hostedemail.com: domain of mhocko@suse.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743664967; 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=5qsvZgx94LpNiH7bsvaOm+wd6d767CLq7Qj7GevcR80=; b=f3dt1przBK4tJOzPf5ybDJ1vu8mZtFXQMNlkz1z7sKFVJxdWS6EnE+tFD/wV7uWggeQFAR NKZkmJGyQWQaj8ZyTNvCWBRa6p2MfdxWI9ihKupky92qYpVSsmvrPSv0VNZPGQSqbSxj2m 6FS/yOoirIr+Nq9qdm0jIL1FZY8wWKM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743664967; a=rsa-sha256; cv=none; b=MAxI12wMewJ/sXfwcUp51wVhtZjEQkO0ItPxnu1qT4sf1yxgJw7en51DKgqGYxLUubf+fd WZGXwxm5b33RmdzCNYtNZe9lUfBk4sT+AR5BJOE7VRz3VmyzSc57c4V9sGT5xcl+S8NzS8 fYlmE8wOq8CFMZKThg0YFNUqigX+B/0= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=ReinHFoE; spf=pass (imf18.hostedemail.com: domain of mhocko@suse.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-43cec5cd73bso2603635e9.3 for ; Thu, 03 Apr 2025 00:22:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1743664965; x=1744269765; 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=5qsvZgx94LpNiH7bsvaOm+wd6d767CLq7Qj7GevcR80=; b=ReinHFoErxP/AqNNyj8eIQh0uGGe0YJmPIQFG4hmv596DcA9UaesVv5EmSwadCyUwJ 5Yu6uGoz5Q3/6rhuGZnPlCEncIMDnc8EhXkwExgQb1EgwgYDM5yaQkOZuibgw39eQHwF skW4xf3KlZNhki12ASbtEOxC0cqHJBDEUnjtbBcpVhOEo0bk/7gCxvo/2WJC56wdCOeM m8St6UGk80R01ZkswFwR6kt9HdCIKOYdKdPAlHV1Vo2d6XsbD+Ikqa3ygl3ZSgH44/G5 2A+Xd+xeIRj6UfcwW1Kd4toeSlQEyzeJmFtczwYUkOshwl3sGEkykw3GtG70IfZHyA97 cbIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743664965; x=1744269765; 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=5qsvZgx94LpNiH7bsvaOm+wd6d767CLq7Qj7GevcR80=; b=EknOGz7pUxgrI1mkz7ia+kHNJhMkvTrchzdkb34ZYnptrZTUEZyT3PwYqt2UOiSIDG qWTQzVNwe0t+hmGdThXfm8deFStFKUnPDMHcxWTjB2dAFSrezwqABF+gUJawRAL9OvkM IPVbNRLRsKZx6yUB1ordZzvtZ1SSWCINDkYgRs5ujBAdIwMr/BDypnBDD0kYhuvFetay laFbgdRlvLQY0N9doWH38tUXsA4gB4ZJKKTljPfNShMsJJGkssWfIJL0TpFBgwxvhe/p U2br7un0mSnYtqgP9LfyZVcGHRWJozNRD5U9ckAYBcsIMaNZOn7F4n+GljkRazs25kTj qePA== X-Forwarded-Encrypted: i=1; AJvYcCWIo0f33m7Ot8KcCAJpHV3IIkRPV5vggtC/nUL2JkQVILZuVaxa5319gW8Ox4ZN/7gX++3Pkk2/Nw==@kvack.org X-Gm-Message-State: AOJu0YzcgUC+JG8Mu0DmRZDZU1FL9fz2smLaNbd0dlFw/9uQd3UhfOxJ djexHF+bBAMbLeUStQGNKbVJTQPauYOgAPRtfIvOB5AAG3Sjf+WnFq/Ldz5Rva8= X-Gm-Gg: ASbGncsMg+ewQluTpu4oU8/Sppg8lkNsEI6u3qr4jtRPQUekEWv7oxALo7zn1hc5cHV 1P2BDrExW60VWJNEXrx7os69c+roz7CKMJzC9gi2h5SZQWYP2NbUOSEn9Fcg2EqQvobotT8Zqda hBRenXf2OmauV+qugoSYABzXYv0lcEjTT3GbOelyQlbkALpNm1Z6uNpysuN6mub4DObQO+s2Q8g NN4TMTTMdqUnzfDq5vJSFoWCxTolYzYUAFoPfUwb6sQrYE+p3HGZlAIpfvIhgQqcHkkyQPFrL83 S8we6K6TmaGH8kApTOWe/A5WVcF3hW7rgQG7CDomV11eIJ7IxTG3w84= X-Google-Smtp-Source: AGHT+IFghQQVMJEwJv3TH5fwoOtmpQiB/vJEk3mApbx86ikuS8MDaGrsUMgmPS2nUiK//ZwBDckelQ== X-Received: by 2002:a05:600c:1e21:b0:43c:ec28:d301 with SMTP id 5b1f17b1804b1-43eb5c70cc3mr52822185e9.26.1743664965426; Thu, 03 Apr 2025 00:22:45 -0700 (PDT) Received: from localhost (109-81-82-69.rct.o2.cz. [109.81.82.69]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-43ec342babfsm9992235e9.1.2025.04.03.00.22.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 00:22:45 -0700 (PDT) Date: Thu, 3 Apr 2025 09:22:43 +0200 From: Michal Hocko To: Shakeel Butt 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-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: DCBE11C000D X-Stat-Signature: fqgdbnhqeupktsikpfckky5dqkry1ugi X-HE-Tag: 1743664966-791288 X-HE-Meta: U2FsdGVkX1/9xfFGcYM/3bYXQSasRT4DwxbyGXRYvgjjEBH6jmu6xp5uISvPtc3LSti0uMJAzqG8hDJevYA+evIvO0p49BqIDF/flu9lFEjomSqHOSSDOBkKLtXw9ookAaWWZZkMPUq/MvNqL3HMFWBJzVXJD6AIjtODZWEkZwz9OUjdzRhD68HjEgp2bsulkOLmU9oPSYQOJvbzaLZi1LDJNuf9bAPTYNlZi6OBt5r4m+7KHPte0kuVTO47RzhbSHPJemz5RnsGOrleZ12y/riAMFMj91pjFl41J3W6Z6q6N7Z2sh/xWd7gQnUdV9/gWmffD8kS2fRPlGROStOVE9t97G3sXmfxGOtbRKO8UaCNSOoOqtW0LUiwRbUWRG9UrDw8W7W35GVp3tAfybJ8diffvcvzul6bVejcnhQubWx0plBfeAvusgGf+jJ7rRFtV6QEdLlO1ysQhL8G5FYGQYlHgZoqVLhgktdlVS6WRK2Xlw9j34U+ynCESLovmDHfxFTYDqRzrp+r+VFFR+b5US6jaspb+JWsM84zsEpnGxHzEBHqwmVmcuy9L9UuhUxQfNUkiGdANHEuTNgs7JWRGSGxjoX4xku5vwtb/zQx1ccDGCb+MrOuZc4m27zlzHSHCCqBXLb8xckwwqyZZ17MmjDg5D1+QSkdSFCr1pl7tpNi8nuodQZKNMCZKryHFJFWUxKRb8//j68XxTZelNpHm/hJjlP1p9C0T/jdsEOWPAMAR3BjL3ePIGi2qUP5N8D9fReCU8oIQGNogUZraXiZXcewK8XLCiW+DFnTNIWsY0KJKxXsY+zK+DFZJaEVD/sBqgiMq8lBlNBLEXv6pVTYgWuJvaKec/ovf+A6uZHuwdYjrI71ZZFRqYgw6G4QdNlat1dBC5ZVko8cRyheYigSf3pHQCSqpP8Jw42f2I60uTKBkY7/WtYSumkLBmSpduSSlI0BeTZNDaxKgzJIcIk tFPnRR7Q 0hYmpMVhMWmXT/KwfN23YjDT7PUo5SKi4Kg42LKJNXKyHGvAaFfvrj9eB0Un0ZaZ2nqzwNbg5ZuFKZ8y/RSQObf0fVMayHb2tJ8Ri129O2u8aHVfwc2DOC0aPV+jCRXxQH7e/U+Sh0ApSPdtLoClOTYTzLRKalvAvSSf3JYMLUAxpibw0wJCyY7T9/jIGQv9NP6jGZ91tyTvStG+6rh5HL8Mrkhc702TITh90IN17OR/gyZnEBunXjho7tdaR58t9WPmpDORd/yORhSXLXPjB5DITD7VXtgkmWCGCf2RnDeSOnWzUWUNIMGya+ipqUPaorhiytG2ciOX7cCRBgq2ZIMcBm104jYdVKxOVQ37kS8UwuZt3+BRYvotS/0FiyyysLSYQ 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 02-04-25 21:37:40, Shakeel Butt wrote: > 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; You are absolutely right. Not sure what I was thinking... I will send a full patch with a changelog to wrap the situation up. -- Michal Hocko SUSE Labs