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 DB1C2C4332F for ; Tue, 7 Nov 2023 18:05:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 640228D004E; Tue, 7 Nov 2023 13:05:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5EF888D0001; Tue, 7 Nov 2023 13:05:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4DFBA8D004E; Tue, 7 Nov 2023 13:05:44 -0500 (EST) 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 405308D0001 for ; Tue, 7 Nov 2023 13:05:44 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 1622EA0314 for ; Tue, 7 Nov 2023 18:05:44 +0000 (UTC) X-FDA: 81431936208.27.0D295F2 Received: from out-187.mta0.migadu.com (out-187.mta0.migadu.com [91.218.175.187]) by imf26.hostedemail.com (Postfix) with ESMTP id 2573B14001C for ; Tue, 7 Nov 2023 18:05:40 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="h/HPTYxf"; spf=pass (imf26.hostedemail.com: domain of roman.gushchin@linux.dev designates 91.218.175.187 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699380341; a=rsa-sha256; cv=none; b=dk2GNi07nXZEInEg6xkFGxt56KX8Gy3prGpU9DPFtyZKlhFAbn8xBtL2kQULE3z/CQJzDw baaSYCnXUTvgK1LLFG90NBEJ/DPqpC5DE+RCft5EWLP25T4rCqsN5sy4idRueVocwryJhf ACiqjAH1hZONrwY5NdcyVPz9DMNWTS0= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="h/HPTYxf"; spf=pass (imf26.hostedemail.com: domain of roman.gushchin@linux.dev designates 91.218.175.187 as permitted sender) smtp.mailfrom=roman.gushchin@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=1699380341; 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=gg2dDs2iW2RW+Tsbluyj1ewN4uduradP7BMNhxCG0vc=; b=AsOmg3YrUoFTLBG0nSaJRLktXaaemW1Imi9FZIHZsLQp2MlUd23PDOKQEJvlRY9LoxGmi9 BGTpVoD7UD/EGmkBeU9E84KuVCMA6r96j/C+cXzZa/iJ3Ot45VtOfMm+9oiNTLQIH1XGrw u5qGESYqyU7QCaeFng6Woby4t+4MSws= Date: Tue, 7 Nov 2023 10:05:24 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1699380338; 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=gg2dDs2iW2RW+Tsbluyj1ewN4uduradP7BMNhxCG0vc=; b=h/HPTYxfRVbNaQUBJ8Oqd2I588Wuu83I1NrTDOLrqcIXxtKP5QP4vUUOH3yf6mu5zJeTxF nGFavNOx5+A47qwrHgrAYJSBoP4hPWB5mTH142AJvLBkNV2yjiAAfniIf5OzSDMVJE4yWR 9rnoSuFUpGkrUMTRaCYeexKjfwgeZ1I= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Roman Gushchin To: Christoph Lameter Cc: Matthew Wilcox , linux-mm@kvack.org, cgroups@vger.kernel.org, Shakeel Butt , Michal Hocko Subject: Re: cgroups: warning for metadata allocation with GFP_NOFAIL (was Re: folio_alloc_buffers() doing allocations > order 1 with GFP_NOFAIL) Message-ID: References: <6b42243e-f197-600a-5d22-56bd728a5ad8@gentwo.org> <8f6d3d89-3632-01a8-80b8-6a788a4ba7a8@linux.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8f6d3d89-3632-01a8-80b8-6a788a4ba7a8@linux.com> X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 2573B14001C X-Stat-Signature: eau6ds5f3cjc7fxu9dpopwuif4i941c9 X-Rspam-User: X-HE-Tag: 1699380340-644225 X-HE-Meta: U2FsdGVkX19i+4zXbUrJGxYcRRcgvYlQX5TVjkKYc1aJ07EyqC9L6q30d1SiI7jZCq5dEUNaGtxVTwNLfj2DzkmyGZZGWGvGK3//Uye2GvJe+kwk1C/TlldLKTfkc9R6QGZO8N+cKQzHpPwudmvHwg9f+omspzvCdmCTrWsXcUOZ8aq+l1vfmiJElePm+AN7EyXZ59tDTV4510EUjqv+DdQlZVx1eMYOLfqw88o+3eiFE1lZXUQPHMYJz3JR8dTnVHxNCdEeyWcJO3wMkLcgm9HpCZOyYBDdFW8IallpEGUVDWqS/qHCFx23iUkXAn/z66N1bfhg840tU6L++6T0pLGdW+2qjsIsSjNEAm9ot8sMHNj54C1OXrl3ZvPP5aRPRkrnMiKkAT43bkcHvrXiEezJmatCCxqZXuAI+WstdL/OOflIPA4X6bmsqmP5Aiu3J/0z7jLsJdpe3eUlDoKmSJYhPeDfY+F+4vvPVJuB9GoceWovvnn4sN56UZBYousppxUwv/7JJkCxAf0BXl28a/BFvQMyNIeVHA0oYKYTrfk+pH70/2pdzqi9aT+oeB8o/rPyw9EtG4PProwobtScCbxiTqcz57T7KYCuLKNnq9x2xX2tgS2v9hNGXkcjnYFyhp1z5F+h/TB6ah3IZsyys6MSJ2dmmszsufwnp8i2K9FaRPzpYW0s5XDbAKvxNUKQEiGuXANR0ai7404GUUenHU0xmMi3ec/LziFr01dQrL5VejsMXWh2tOrYijgyWA/6iuPRwW1nor1CZ6zJ2695poQ3ck7nwv1Cbp5adkGvmZVsUIqUJzgZmdSsz8uqERnYxK2LISS09Y5SD++t0bnRStuokKwOxKeDsNRiA91fL5AJR/Iw9aE5fNHL+ik2Wu5Pd2oZzOmoSHS68U1t05SZbbLaUxdw1KBS1EYHCp3eMg8iJtGXu3Taup/arn7Uz9QnJchnQSeLNCkGpCtErTn jF6I1qSN jW08CvDDpPVyMR3FcQA0ambVzL6rT7nbH81ip74L2BHGXoSPy00T4rhW+9GtBH//XaB/VIBCkqvdqfVYRf+XUL6EkM0kO5ksyjkkgMTXJ4SLuS0H9i++Azuce4cJBtyuKQJ79M3wuW7q0wovvBEGFOrIZxgPiXMEDMI9mX3gA+yxo3jSMXFOqIcusUZXBaoeR8FPrixMBh2HKwxTFINfNupZdhYOlQcnPetb2wdMyGmEBuCHh+GAHBvzDg78vwRrpBdgH1uNGMr2d1bsgPTngXejs14Y5GriwWm+tXmSGo50AC9gkFk6mJ8Cyfw== 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 Mon, Nov 06, 2023 at 06:57:05PM -0800, Christoph Lameter wrote: > Right.. Well lets add the cgoup folks to this. Hello! I think it's the best thing we can do now. Thoughts? >From 5ed3e88f4f052b6ce8dbec0545dfc80eb7534a1a Mon Sep 17 00:00:00 2001 From: Roman Gushchin Date: Tue, 7 Nov 2023 09:18:02 -0800 Subject: [PATCH] mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors Objcg vectors attached to slab pages to store slab object ownership information are allocated using gfp flags for the original slab allocation. Depending on slab page order and the size of slab objects, objcg vector can take several pages. If the original allocation was done with the __GFP_NOFAIL flag, it triggered a warning in the page allocation code. Indeed, order > 1 pages should not been allocated with the __GFP_NOFAIL flag. Fix this by simple dropping the __GFP_NOFAIL flag when allocating the objcg vector. It effectively allows to skip the accounting of a single slab object under a heavy memory pressure. An alternative would be to implement the mechanism to fallback to order-0 allocations for accounting metadata, which is also not perfect because it will increase performance penalty and memory footprint of the kernel memory accounting under memory pressure. Reported-by: Christoph Lameter Signed-off-by: Roman Gushchin Cc: Matthew Wilcox --- mm/memcontrol.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 774bd6e21e27..1c1061df9cd1 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2936,7 +2936,8 @@ void mem_cgroup_commit_charge(struct folio *folio, struct mem_cgroup *memcg) * Moreover, it should not come from DMA buffer and is not readily * reclaimable. So those GFP bits should be masked off. */ -#define OBJCGS_CLEAR_MASK (__GFP_DMA | __GFP_RECLAIMABLE | __GFP_ACCOUNT) +#define OBJCGS_CLEAR_MASK (__GFP_DMA | __GFP_RECLAIMABLE | \ + __GFP_ACCOUNT | __GFP_NOFAIL) /* * mod_objcg_mlstate() may be called with irq enabled, so -- 2.42.0