From patchwork Sun Apr 20 02:26:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Rientjes X-Patchwork-Id: 14058066 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 7BE07C369CB for ; Sun, 20 Apr 2025 02:26:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9B2E96B00A9; Sat, 19 Apr 2025 22:26:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 960636B00AA; Sat, 19 Apr 2025 22:26:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 84ECF6B00AB; Sat, 19 Apr 2025 22:26:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 5E3DA6B00A9 for ; Sat, 19 Apr 2025 22:26:16 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B2CAEC0275 for ; Sun, 20 Apr 2025 02:26:16 +0000 (UTC) X-FDA: 83352832752.13.FF12DE5 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by imf21.hostedemail.com (Postfix) with ESMTP id ED9F61C0007 for ; Sun, 20 Apr 2025 02:26:14 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=srrWPSfB; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of rientjes@google.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=rientjes@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745115975; 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: references:dkim-signature; bh=PwmHDGV+N70/f3UyaxNCX6reyKyfr9ddRKfVtg5RWn0=; b=JPtW05zNZBmRXxrpS9BlhdKh4YLhAK1PYv8/z+HPdgpMfUEHPAL+k/+DEmu3v040tKy0n2 eBFkx6Btv8eDyScOYXMUgA9F4jO9XV/1PDRQ5znPKnlhpusv88+6t0v83DTTjzyW7bRoBQ hFFlt20KSZ59AfrIMrFjYTXDN1YlcxA= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=srrWPSfB; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of rientjes@google.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=rientjes@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745115975; a=rsa-sha256; cv=none; b=KdcYydrVt/vA0Sryp5Bn+D2oiDxTP2iPus6/l3NOwGqp1WNaBEPWe1skKhPw4b39AuT1qh om6h92BLUxr1ttWviyNuK6yQ8RSIwTWCaBdqnTQUbLisnEtZfejyHVjctu84sMipxqmHkw oeyvfifE0LW6pQfVo47ct4xiqkZ8LqU= Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2263428c8baso400005ad.1 for ; Sat, 19 Apr 2025 19:26:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1745115974; x=1745720774; darn=kvack.org; h=mime-version:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to; bh=PwmHDGV+N70/f3UyaxNCX6reyKyfr9ddRKfVtg5RWn0=; b=srrWPSfB8IFKUOJS0m0efYHrIEmpOmrvjUIMiQ54jGCYVL1Q5IFLQ8EFgfKINGlyR6 hmwNOw9AYZTbBwsZUa7G2ug79MY5ZaSfk9aBxf1cK5l+kDxLd4/LXyHF6UoQsiMh1b+j uqLNwvjX5I89DZVJfWZM60sD1kX64R9GS5uFYJmCekRniNVhQYML6Jb5A/pPE9BsIPc4 cYjI9yPH2RZUNLlkVFM/oKB/7aT0mHsFAs9ph9jZYPZQyqAPdQqxI4bFkYAaB/G4Busb Tv2NL/l1ubvPnwis1bFsO6gptsw28uPPx18yAvSRCBu1Gf2prJRkin6pnUkI4aAk92Ch o2rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745115974; x=1745720774; h=mime-version:message-id:subject:cc:to:from:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=PwmHDGV+N70/f3UyaxNCX6reyKyfr9ddRKfVtg5RWn0=; b=j6d5xlUO+5JwX1TVQMBf2/NqNbJaEu5iaNS11+HpV7Sbf6moQPMF/NVsVFh58S9wGn VfcozXSQ5w6ALMFJGog4cBQaWBWAyBTovn8NoD7GBy7tP8kVt1UN7woUu6+LlI601oBp wlvi0EQ9uAGX8QYyZyN/+GDFigCrwrTep5c96ESbM/skflPLBB/kYpkrapxVlUi3rYYI kahLZ5jUWbjY4LztsvssWHLuZueRWeJMUMB22x1A34CHF7S6+L131xc03ZRjWIROY2R4 QkvArf9UdmbJoVYbO9K4yoSLNz7nldfjyMLcmb+Dg0X64nxSehFXYqmXoyQc2xDtuqVa /I8A== X-Forwarded-Encrypted: i=1; AJvYcCV4lXBSiSPi3lSk7ykn5RajGj4wf1b3GiXeA7KT0yK1hkq1mhcq6Tl3vXZvxZMxjywji1fZ9/2Suw==@kvack.org X-Gm-Message-State: AOJu0Yy9TL5XIzLKif4HS5ij60BkOx0p2FYOyP9xmtp7Z6SggaTVSxDb mRk9uEgFiQY6+uS2Gs9qPXWDKwXSa6LopyuGU3YNKxDBbccalS1FeALv5SJmhw== X-Gm-Gg: ASbGnctd4Ay1/DqajqdgtIi9p9VfcjHVKwZ/+Q9CEkv61h0A/AZIKsvE7JSPV5QGEq8 wA2S0Kym70by5tlXSu3vfZDeipFRsTuvl3mypfGbXpeYiqs/NOJ9ep82fvHdldnhkBN7vycc5Vd jbXxhXLuwmT11KgghOEhXhGoAa75SsH3HGoL9lFB8NHDNK1i4J4SnencFisbbjP9KvsPYga5D/g 28M4zhsnY7ipuS7H/aYS7WCcWD8c6h7BA1YG/wlyRLQaPDmZwkAy17BPpo7RciRM4jes3Mq4bJJ YwvZ0/88x7GnmA9mXVY0b5HgKD1BBFIkWrutUSsPWohnEsEfM0WAZDFcYHBwJPTYuoQFOo0ezz/ KALowgxWIfe940VFP2IlSujRWBbHkYaV9gU8= X-Google-Smtp-Source: AGHT+IGnLUYbDggjdUQLI5hza7vToJkfmKyNR75xrDRYJIxY+Hnlxo9WBkXTYtO4CsdL2gGRVNS7tw== X-Received: by 2002:a17:903:8c6:b0:220:c905:689f with SMTP id d9443c01a7336-22c54680d66mr4584665ad.25.1745115973210; Sat, 19 Apr 2025 19:26:13 -0700 (PDT) Received: from [2a00:79e0:2eb0:8:3e8e:d566:514d:339b] ([2a00:79e0:2eb0:8:3e8e:d566:514d:339b]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-73dbf8c04afsm3964752b3a.23.2025.04.19.19.26.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Apr 2025 19:26:12 -0700 (PDT) Date: Sat, 19 Apr 2025 19:26:11 -0700 (PDT) From: David Rientjes To: Christoph Lameter , Andrew Morton , Vlastimil Babka cc: Roman Gushchin , Harry Yoo , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [patch] mm, slab: show total unreclaimable slab footprint on oom Message-ID: <93c5936a-fbcf-20a5-af1d-bee840e18d39@google.com> MIME-Version: 1.0 X-Stat-Signature: bb6ngmgo356hpfqx33kn6448ha4pjgeh X-Rspamd-Queue-Id: ED9F61C0007 X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1745115974-927790 X-HE-Meta: U2FsdGVkX1+DycYLE9sQOizngOFE694BmdlTVCxALkyvZ00+hdS8YK6SFCgk9hAtGHazuOq30YdbZDzwMjBO0qL0Yr8SlfTO3hBq6IUVt+7Fvc+XHVhUYgTrlqu/OPuMQy1JMJFDPtKAlxPamwBIm04rLd9SYkYMk1ukJTkMIVPMhXSY2VXxU6E3hWD4PVsN6zp9sL1RS69nAKvWKFBguxDx3CCUo6Vcy+XBqq5XQG705dbTKd8vBnL3DNIyXBjpSL8I+FOVFQwEMcNGxNBPtesNuytuu0nK14+PqlYIDwjCURavh5oD6AnzmzxThuADYGB/w2C0LiPERTn7JaYgS8LM5Zz4tSrIPKbT4Gqj8W8MD+PbCADSipPDRAsgB4ctJ+CUFDXSxUth2Btj1D9dk0m8zNILheeLUBXrwHk9KYkjogfmjvsa9xQGtlm16C2CjLMhzZD/gy4uv/SVmxcVKppzXr6TbtTP42QpYqyLocNrSIhA9vjWhjZ0l2XBoC/lUa34JZxSb1GkWG9f97hfDpHjq22tUovMv4ej8IHCWKvolJr/eAZXvIUFj50z6WPoTh7/TJtxfIyVFvjusj1baTopXXngbb9by7Td3cIAwff/H2whJfSEKjrmof4VD5ZRY5HyrVor/x6Wf07//Y3a4QLuUJC9S3slbIv7/E6BPNnPyOQjRq76c6KTx8U2aQ4YSZTp07quq6sBNJ3cSW1cy2HvYUq28TSHRlSMgklL7GKLSSTGRxmH3uFjL/huGf83/szWq/A6NLALbVs8i3laucB641VAnga7ocAx4HRkT2JjHZSRveJFHyHEqR7CPqH2UFxD4QI1lZWX4EmF2dCCkS/ktVUNEWV53JIX5YY9GvzyJKAnjuf/ndENUqA8vEJYTJFI44GZCctFAu2EgXgha/iIb5Jsxg7nVuLAX1OIdsi3Wc+F5fRq3Zy8sQouL1dw/WH1CqKeu6YLPQ1c7Pr L5cyucsx V4T2EfECpiYvwzn1JSfTX59TCLhLPh9ElAxmoNUmU+4pLEXxwYt19mhYORMMw5KUPius3Cw9c7hG3w1wM34h1owzDM7kKTB7RD4OpUca2/Zhx1yDWkZcxdFciX/HjH6HMj5F+seryrxqs+aN0spBr+6s5ij53lwSKAKhJ1znlf5yLiqFVI5D8f7TtM24JDXmp15kG2Ypcm9lpR7dB8h9o3bF9BxQfXlbrKrRQI4taWcofLjy7Z2VDCtrs37HAy/wn4A/dL2GDN9t7BX1hXAEe+C0oLRWcB+A6RKhptFJgWyqc4lDIOm6OAYSR8oL+axCB14iRjb+zmviS2+5vk6rYE11xMc6Qk1CaNEdV 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: When there is a large amount of unreclaimable slab memory in use at the time of oom kill, what really matters is the memory footprint that it consumes rather than only the number of active and total objects. Include the memory footprint in the kernel log for debugging. This may overestimate the amount of memory since slab pages may not be all of the same order, but it gives a useful upper bound for understanding where all the memory is going similar to slabinfo. At the same time, align the fields for some lengthy slab cache names such as fsnotify_mark_connector. Signed-off-by: David Rientjes --- mm/slab_common.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mm/slab_common.c b/mm/slab_common.c --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -1145,7 +1145,7 @@ void dump_unreclaimable_slab(void) } pr_info("Unreclaimable slab info:\n"); - pr_info("Name Used Total\n"); + pr_info("Name Active_objs Total_objs Memory\n"); list_for_each_entry(s, &slab_caches, list) { if (s->flags & SLAB_RECLAIM_ACCOUNT) @@ -1154,9 +1154,10 @@ void dump_unreclaimable_slab(void) get_slabinfo(s, &sinfo); if (sinfo.num_objs > 0) - pr_info("%-17s %10luKB %10luKB\n", s->name, - (sinfo.active_objs * s->size) / 1024, - (sinfo.num_objs * s->size) / 1024); + pr_info("%-30s %10luKB %10luKB %10luKB\n", s->name, + (sinfo.active_objs * s->size) >> 10, + (sinfo.num_objs * s->size) >> 10, + sinfo.num_slabs << (sinfo.cache_order + PAGE_SHIFT - 10)); } mutex_unlock(&slab_mutex); }