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 C3E77C4829E for ; Thu, 15 Feb 2024 18:34:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 588CF8D0019; Thu, 15 Feb 2024 13:34:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 539088D0006; Thu, 15 Feb 2024 13:34:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4010D8D0019; Thu, 15 Feb 2024 13:34:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 313318D0006 for ; Thu, 15 Feb 2024 13:34:10 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id CF67D810F9 for ; Thu, 15 Feb 2024 18:34:09 +0000 (UTC) X-FDA: 81794887818.10.DCC2758 Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com [209.85.219.177]) by imf01.hostedemail.com (Postfix) with ESMTP id 1167840018 for ; Thu, 15 Feb 2024 18:34:07 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="fH9/4Ssw"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf01.hostedemail.com: domain of surenb@google.com designates 209.85.219.177 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708022048; 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=c/zbyo2KXw6JhtuTeO6vuT3ARKuU8XObNaLi3n/GNPQ=; b=IVH2SRNFK+kuAtfjVZixjp/2lJdshH+TxizAKhvx4SfFzI5XEW/ftjbmprc2YOkPb8pw4K 9sOmS+DAdngbPCbIu3X72+SmSs02CG2UifI+2AnzNopYzCISXr/Jc0B83dFzW3WaZYhmqz 8o8CalaqwHlalVT1QsTauV19OuPIwj0= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="fH9/4Ssw"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf01.hostedemail.com: domain of surenb@google.com designates 209.85.219.177 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708022048; a=rsa-sha256; cv=none; b=e4+bOiUo8jMJBF3QPSlK29Yy909j3LHRXZY6U6DnsIwrwrysMYdxzuSdv89W7TmU09TjOa TWySbNJw5B5ec7XzZFvcsQExZ417EeKMAZ5DFGieIlcA8ZZMrs8v/wClyiQLpPBRW9Ri3A l4uNQiqkgjKWA/UblcxFQa2HvYcqcoE= Received: by mail-yb1-f177.google.com with SMTP id 3f1490d57ef6-dcc80d6006aso1282728276.0 for ; Thu, 15 Feb 2024 10:34:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1708022047; x=1708626847; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=c/zbyo2KXw6JhtuTeO6vuT3ARKuU8XObNaLi3n/GNPQ=; b=fH9/4Ssw+/43Fzjdwlr1o4y+OMfLPUpK/OYNiJv2u76QZGXJNc0Z3kNd6Yv36PwN6n 94D124GgMFeyPsb0sAZsMmexCUOLPf7QMbj1LOzB0PLEQe6e9igOf9mGQgbqH7SeWzyr TAfRXRvc/0YsA7x4XNrFAD8uI3IhWuOwduj75uhHgqUuQTxexH3Lrn0yVM86pNaDP1NZ n45C5HyYG4rBy7VwF0QCsMd+s47kygtJ+Cry8/3uyZjiEvrJwy9Mhd2JSQQolmkIOv2A w22kVHBj0UajGxtCGcDwtNwYiFmsY1UBEhDkBWm2wgrxNekDX2kHiWoxx9WopbUV2Jz0 6UGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708022047; x=1708626847; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c/zbyo2KXw6JhtuTeO6vuT3ARKuU8XObNaLi3n/GNPQ=; b=q3PgZ9TqoNdDZkw0aE3JTO5xNYFtJ6NDpjJko1BCsFkwC/seAhPiXYbit4BSjS5p5g 2vFqPAWCpASJvcmOtBPvXVOa2g80UmX2LM1Dni3iqNdo8hJRP9Heo277aCjSDd/JylvN KHewjXSIZTuerSfUNN0fvTGdkZisHprQFz/mKhWpSxbpbbiuiuqh+Bk2NoZ36QOQOTHa 16ScpvPtxZ6GTfGm2PqvLyi5gQty9cLwZnPPPRYJadZ5KiioUHInErtPRJNG/KaxP7hz LDd+uL2cTTmMPd/nW/2zi4g9bdSgfHI43vuaF1AHuJvsS/6xUxG2xMP6U7AHd6/SVniR lGUw== X-Forwarded-Encrypted: i=1; AJvYcCVhp3/22P1D2vYSgaa6cCRlMYw0c2qdJa6CNX0AZHHLbGjjfHV0fzHqPBvlcAiiymSoWot5g0Mwat/odZIlI1rWPNQ= X-Gm-Message-State: AOJu0YwuAVnu7HyXl0sizcM5QVSW/ZWlIXKPm8CF6qkpcunWZmuUotDR IsFneJa1/iRsMzt2TliZYDH+p/H1I2kpNlEVS42kQ4mFPxDSWNbbqjV79uhEZA4Stl6GisMR5Ck dRJMKS0I7N8dorfkiM4i45IGeNXsdlOoFuBVm X-Google-Smtp-Source: AGHT+IEt7T1ebO4wrqtMW0nsnctPBGiEDzeC44EjMTKbens2LRTQqSvb2ncntkrHv+IFqf/aB+CXdxd6L9MiMSXl2r0= X-Received: by 2002:a25:bac5:0:b0:dc6:a223:bb3b with SMTP id a5-20020a25bac5000000b00dc6a223bb3bmr2333936ybk.46.1708022046848; Thu, 15 Feb 2024 10:34:06 -0800 (PST) MIME-Version: 1.0 References: <20240212213922.783301-1-surenb@google.com> <20240212213922.783301-32-surenb@google.com> In-Reply-To: From: Suren Baghdasaryan Date: Thu, 15 Feb 2024 10:33:53 -0800 Message-ID: Subject: Re: [PATCH v3 31/35] lib: add memory allocations report in show_mem() To: Kent Overstreet Cc: Michal Hocko , 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 1167840018 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: aubtdsu5f7nq5w9pbiu8oaag47ot4ecy X-HE-Tag: 1708022047-24649 X-HE-Meta: U2FsdGVkX19d/AhclO6KI13y1EEYcFhR0sHuhiLgNh/0XliRFARYu7VARIubRHIXJNKfG+uTOewqA2ubPEYy3ZiSO7cTA/h1JVorsliffQl5yZRGT5yuHwkSKQ8vJO8vfku9gNpZsV9xPi2aHk6w6LceOr/PXy0yriy8TeT9wk2cyXFjT/UlZk1YBlUDfl5sdk3J16DJiE479qJcO8OGJiaj+ShM5Nl384a5wBU+Z+Y4r4dZExITImZKsomWUK1RvJtVgHEFcltU41gych1UEpTLOuepl3fEt0iQ5yBF2GIztYG57lMgbUlZwBQh3p+CqNqbZ7J0orS5gNcM4FPWI/3mr99zavbvlfmnBjP5QxyIeiwgPZGvGdhUImBQz/DXyuVLyKPM6y409jZK9ZtKe4PjVONnoi8k5kijNd4m7zaLlQmofYwqpEOKkm4eMlp64/ko1b++ZAdvieJLsvmMGbQnA3lJtbi6KpK6wJL3v6Iv02dMQ8/LdzwiGimsWeTWG5MbWdUvOiHG2Rpi1agfszjpceE3w3x2LqFTcH0Gqyln4VVU3r9d3TwFW5KCBwwuxiv5ae6tGajvfWqk5leh0mJFh7EP29lawXWX1iWPmqVjcDUaUlulWRxFx+A8XjKHO6uJVZ6v0LfcRPt40t/BcaUWdysbeQVPXZaHG0L2xsVcpMZ++DvQ2964v2OyW8Brr1MODXF5KVfxZhPMtiz/Xd4K9R19ks32sh22m9AX43tbbr73EzdOd+Ewu1QMY8rWq+X83RX3eozsdQNyvzUJ8I+n97bXPJ01vPt9y1HYNA5sD9i4SN4Ln6UXLzlJGkXEzT2R+N71QZOUPWmqzKzIIppUEK1LdS0bNTKtEHXoEs15b108DqWVzpJnB/QBCE4YL0DROxjfwD8zBITezybq0/HXYYA/64w9diBxLkwGgTUqgakLZw2vhByp1EcZ9tagq5MNzygua9K+qkt67Ta miTjfd8Y zIaBPVwgFRPOipsSNo0iJ93j2I0e6OeVnvLXFtJ3lFs8KDiiY2DSsCQAX+tEQ0AI2iKg0LcwRDVkiHK1uF3O6qyyNagT9VGm7GBKnPAiIVTqxpLaYj4J0Jyoyi664m0BbO0RdlCNLXJvzKdD/UdotIpd3tTWxeJGMkXO7ezooAgDH/day4IER1HIuDEtZ52QS14xOItbZ+e4WvMuyd/hBJmRHLlLQrZQQPGNGikK2tUAQDGKYHP3i5RpucWfDH2vU52qF1zAPMeZ6yeHnXUVLoKp8nCoOXZCT8EW0TH2CtN7ia3VnUZJmwqfP8AZJ2Gx9zSdRag7tDYQxJ7UF8AzHhgCtWlWhFVHZa9Is6VkODfUhieeAONlbtkF66RkQQprEyVF/aX23lU9LJS3OBtCzjxGsWw== 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 Thu, Feb 15, 2024 at 10:29=E2=80=AFAM Kent Overstreet wrote: > > On Thu, Feb 15, 2024 at 08:47:59AM -0800, Suren Baghdasaryan wrote: > > On Thu, Feb 15, 2024 at 8:45=E2=80=AFAM Michal Hocko = wrote: > > > > > > On Thu 15-02-24 06:58:42, Suren Baghdasaryan wrote: > > > > On Thu, Feb 15, 2024 at 1:22=E2=80=AFAM Michal Hocko wrote: > > > > > > > > > > On Mon 12-02-24 13:39:17, Suren Baghdasaryan wrote: > > > > > [...] > > > > > > @@ -423,4 +424,18 @@ void __show_mem(unsigned int filter, nodem= ask_t *nodemask, int max_zone_idx) > > > > > > #ifdef CONFIG_MEMORY_FAILURE > > > > > > printk("%lu pages hwpoisoned\n", atomic_long_read(&num_po= isoned_pages)); > > > > > > #endif > > > > > > +#ifdef CONFIG_MEM_ALLOC_PROFILING > > > > > > + { > > > > > > + struct seq_buf s; > > > > > > + char *buf =3D 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 allocati= ons 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 th= e > > > > 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. We don't need 4K here. Just enough to store one line and then print these 10 highest allocations one line at a time. This way we can also change that 10 to any higher number we like without any side effects. > > It's completely fine if the allocation fails, there's nothing "unsafe" > about doing a GFP_ATOMIC allocation here.