Received: by 2002:a05:7412:1e0b:b0:fc:a2b0:25d7 with SMTP id kr11csp644776rdb; Thu, 15 Feb 2024 10:42:14 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUe4TwCx+Kh8KrhCNuMI4g2/oTuhJVnq++f7xOMhjaxYXEjRnclGP9lKkhPzV2G3BmbVXcSlquEK73aP9sDGai//scO/KQ8iRMhKsbZhg== X-Google-Smtp-Source: AGHT+IGg6+koc585v8qs9k6v7cEoPYgdDz2dYGqpL8D/9G3romG7dPndtJTzY0Hd+C18bdu5Ty5T X-Received: by 2002:a17:906:288b:b0:a3c:7b82:187f with SMTP id o11-20020a170906288b00b00a3c7b82187fmr1712635ejd.20.1708022533915; Thu, 15 Feb 2024 10:42:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708022533; cv=pass; d=google.com; s=arc-20160816; b=XZG+r1xSa6MjHbJTb0B4x/lF1qs2iU57cE9IYqs4GMAq5/XWCRjjfaj0iUqF55Ud00 qfS2Tl2STjeHsD0md+xQ6/q21O7He0ukwEqWaW7RaxlwphoyzBzKOmrRP3nlyZR7Sn7H CbKYV34aintBt7r3Ge7QWdg+uyqzu+SbhSddiozz23ycGARq8G6xJybfWZSoA9wzt8B2 JSu2zSDHqholQoB+m7MPRWusoRhORAn4rGTuE4/2N3nEEIttrXuIusoJSJ5axPW4eJ2n YVqTet+wkGBcZT3oMBjskZF7v0kwg/6iFqdQu64iIKeJUGVVpNksWak+kPz5xvv4KR7E sq7w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:message-id:subject:cc:to:from:date:dkim-signature :dkim-signature; bh=6TTmhcKgvDK5cRi30z9TDoJsmkkknH993fB0Fcc6Lyc=; fh=+geQM+smpZX7MaYzt9zTpAeUcNjXUwmsbFgQ0lMtIHk=; b=RDrOXHuY0b77ygnI/TP3KbyjvnJ8OIT4AQQMA1nL2CSXy5UP87v2BYha7J2eI+hddz 7vOT8egLmqYeUWebgvPEs4Y+gLXO7g2Toto//Zze8hX4rIo/WpPvTUpOcjpn2CuItGaf wfxH+c3QJqWpPAVWltdegTxy6KYj56/3UDMKP3Kn8kQCXd84u3SQSMIma8PMF0+uDfPX tslRyKW0Fl4XnVmgIGiIYtSiykrBNaNdWp/qrWkUznDWangArllJHhaqaJvB9u02Z1If aJwF3RGDh3FyPHYwluZz0Utkc7P/JzXjzKbl8iG01L3KwM9kWiCbytdzhm/uKfTgZf27 OyyQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=K4vEFx6D; dkim=pass header.i=@suse.com header.s=susede1 header.b=K4vEFx6D; arc=pass (i=1 spf=pass spfdomain=suse.com dkim=pass dkdomain=suse.com dkim=pass dkdomain=suse.com dmarc=pass fromdomain=suse.com); spf=pass (google.com: domain of linux-kernel+bounces-67528-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-67528-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id hs31-20020a1709073e9f00b00a3d72668ae2si922668ejc.1023.2024.02.15.10.42.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Feb 2024 10:42:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-67528-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=K4vEFx6D; dkim=pass header.i=@suse.com header.s=susede1 header.b=K4vEFx6D; arc=pass (i=1 spf=pass spfdomain=suse.com dkim=pass dkdomain=suse.com dkim=pass dkdomain=suse.com dmarc=pass fromdomain=suse.com); spf=pass (google.com: domain of linux-kernel+bounces-67528-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-67528-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 7E8EF1F2145D for ; Thu, 15 Feb 2024 18:42:13 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B816B1386D4; Thu, 15 Feb 2024 18:41:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b="K4vEFx6D"; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b="K4vEFx6D" Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3B20136999; Thu, 15 Feb 2024 18:41:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708022517; cv=none; b=L16QMrypPP4g4UvQx8bGxiSnN1sAjN+2iAbZDPmLExAWwwwkxcibF0tat06nKOu0fyv7gpFRGNQRRsZL5o8866tS/EeOSbLj0L7zZXQQMq6kKhCwTNodVmN+dLOTSXbZU/4D/B/52oGEgUlxRnaif0llKTlhYIhwXfFAO6N+sto= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708022517; c=relaxed/simple; bh=pomqBIcxwTPEivygF75AsdRzKM39YTahrTPVM7en+EQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=HpCC508M5M6xsEJZZojthgpSS1zgGBNKtRGrfYuU004nssIVG0RX8QxLAwGSIhmcQM71o2m0w5dOj5u6FbbkZlOyN9pXbRWA0fr+XXvfgEzUhbVDFyVgg1AAxuKX2fjJutAxqqjJ/uOlJpDIp3YWaJ+ZcrTsoQhCGMaZCU0y8Mo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b=K4vEFx6D; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b=K4vEFx6D; arc=none smtp.client-ip=195.135.223.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 8AB671F8D9; Thu, 15 Feb 2024 18:41:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1708022513; h=from:from:reply-to: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; bh=6TTmhcKgvDK5cRi30z9TDoJsmkkknH993fB0Fcc6Lyc=; b=K4vEFx6DegEwMgozfuuotjV3BWYlDtstShVBSQGmIfKcXE02tD/wKBMZ3ZDWFnIkAYJUQb jMNeeSOW35Iptt8fAW8rBJyMBz9K0Ol4aamcu+JboL85GBZsVXn5uSXdOlHpDyOOnNkU1b P++yHnoeeU7CCnNzEjV+bXV9ubUO8cs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1708022513; h=from:from:reply-to: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; bh=6TTmhcKgvDK5cRi30z9TDoJsmkkknH993fB0Fcc6Lyc=; b=K4vEFx6DegEwMgozfuuotjV3BWYlDtstShVBSQGmIfKcXE02tD/wKBMZ3ZDWFnIkAYJUQb jMNeeSOW35Iptt8fAW8rBJyMBz9K0Ol4aamcu+JboL85GBZsVXn5uSXdOlHpDyOOnNkU1b P++yHnoeeU7CCnNzEjV+bXV9ubUO8cs= Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 1DA2813A53; Thu, 15 Feb 2024 18:41:53 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id CjnpBvFazmXdJAAAD6G6ig (envelope-from ); Thu, 15 Feb 2024 18:41:53 +0000 Date: Thu, 15 Feb 2024 19:41:52 +0100 From: Michal Hocko To: Kent Overstreet Cc: Suren Baghdasaryan , akpm@linux-foundation.org, vbabka@suse.cz, hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, corbet@lwn.net, void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de, tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com, x86@kernel.org, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, dennis@kernel.org, tj@kernel.org, muchun.song@linux.dev, rppt@kernel.org, paulmck@kernel.org, pasha.tatashin@soleen.com, yosryahmed@google.com, yuzhao@google.com, dhowells@redhat.com, hughd@google.com, andreyknvl@gmail.com, keescook@chromium.org, ndesaulniers@google.com, vvvvvv@google.com, gregkh@linuxfoundation.org, ebiggers@google.com, ytcoode@gmail.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, elver@google.com, dvyukov@google.com, shakeelb@google.com, songmuchun@bytedance.com, jbaron@akamai.com, rientjes@google.com, minchan@google.com, kaleshsingh@google.com, kernel-team@android.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux.dev, linux-arch@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, kasan-dev@googlegroups.com, cgroups@vger.kernel.org Subject: Re: [PATCH v3 31/35] lib: add memory allocations report in show_mem() Message-ID: References: <20240212213922.783301-1-surenb@google.com> <20240212213922.783301-32-surenb@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=K4vEFx6D X-Spamd-Result: default: False [-2.31 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; BAYES_HAM(-3.00)[100.00%]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DWL_DNSWL_LOW(-1.00)[suse.com:dkim]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; DKIM_TRACE(0.00)[suse.com:+]; MX_GOOD(-0.01)[]; RCPT_COUNT_GT_50(0.00)[73]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:email]; FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; MID_RHS_NOT_FQDN(0.50)[]; FREEMAIL_CC(0.00)[google.com,linux-foundation.org,suse.cz,cmpxchg.org,linux.dev,suse.de,stgolabs.net,infradead.org,oracle.com,lwn.net,manifault.com,redhat.com,arm.com,kernel.org,arndb.de,linutronix.de,linux.intel.com,kernel.dk,soleen.com,gmail.com,chromium.org,linuxfoundation.org,linaro.org,goodmis.org,linux.com,lge.com,bytedance.com,akamai.com,android.com,vger.kernel.org,lists.linux.dev,kvack.org,googlegroups.com]; RCVD_TLS_ALL(0.00)[]; SUSPICIOUS_RECIPS(1.50)[] X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Rspamd-Queue-Id: 8AB671F8D9 X-Spam-Level: X-Spam-Score: -2.31 X-Spam-Flag: NO On Thu 15-02-24 13:29:40, Kent Overstreet wrote: > On Thu, Feb 15, 2024 at 08:47:59AM -0800, Suren Baghdasaryan wrote: > > On Thu, Feb 15, 2024 at 8:45 AM Michal Hocko wrote: > > > > > > On Thu 15-02-24 06:58:42, Suren Baghdasaryan wrote: > > > > On Thu, Feb 15, 2024 at 1:22 AM Michal Hocko wrote: > > > > > > > > > > On Mon 12-02-24 13:39:17, Suren Baghdasaryan wrote: > > > > > [...] > > > > > > @@ -423,4 +424,18 @@ void __show_mem(unsigned int filter, nodemask_t *nodemask, int max_zone_idx) > > > > > > #ifdef CONFIG_MEMORY_FAILURE > > > > > > printk("%lu pages hwpoisoned\n", atomic_long_read(&num_poisoned_pages)); > > > > > > #endif > > > > > > +#ifdef CONFIG_MEM_ALLOC_PROFILING > > > > > > + { > > > > > > + struct seq_buf s; > > > > > > + char *buf = kmalloc(4096, GFP_ATOMIC); > > > > > > + > > > > > > + if (buf) { > > > > > > + printk("Memory allocations:\n"); > > > > > > + seq_buf_init(&s, buf, 4096); > > > > > > + alloc_tags_show_mem_report(&s); > > > > > > + printk("%s", buf); > > > > > > + kfree(buf); > > > > > > + } > > > > > > + } > > > > > > +#endif > > > > > > > > > > I am pretty sure I have already objected to this. Memory allocations in > > > > > the oom path are simply no go unless there is absolutely no other way > > > > > around that. In this case the buffer could be preallocated. > > > > > > > > Good point. We will change this to a smaller buffer allocated on the > > > > stack and will print records one-by-one. Thanks! > > > > > > __show_mem could be called with a very deep call chains. A single > > > pre-allocated buffer should just do ok. > > > > Ack. Will do. > > No, we're not going to permanently burn 4k here. > > It's completely fine if the allocation fails, there's nothing "unsafe" > about doing a GFP_ATOMIC allocation here. Nobody is talking about safety. This is just a wrong thing to do when you are likely under OOM situation. This is a situation when you GFP_ATOMIC allocation is _likely_ to fail. Yes, yes you will get some additional memory reservers head room, but you shouldn't rely on that because that will make the output unreliable. Not something you want in situation when you really want to know that information. More over you do not need to preallocate a full page. -- Michal Hocko SUSE Labs