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 2E121C48BC3 for ; Wed, 21 Feb 2024 16:03:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9C2026B0081; Wed, 21 Feb 2024 11:03:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 972156B0087; Wed, 21 Feb 2024 11:03:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 839DA6B0088; Wed, 21 Feb 2024 11:03:35 -0500 (EST) 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 7410A6B0081 for ; Wed, 21 Feb 2024 11:03:35 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id F286DC0B2C for ; Wed, 21 Feb 2024 16:03:34 +0000 (UTC) X-FDA: 81816281148.12.6D0EC9F Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) by imf24.hostedemail.com (Postfix) with ESMTP id E5B65180164 for ; Wed, 21 Feb 2024 16:02:40 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=aiTYj+T2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of mcassell411@gmail.com designates 209.85.219.54 as permitted sender) smtp.mailfrom=mcassell411@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708531361; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=bAuU+EdMCZqWdqfPENA6Ha7cgOpM7XDiB8KgwfnnOOE=; b=HHLRpFtCKhdzxDGKKSCwl7/ORlTa+GQXW/+N2ygkRxZLHQnKGxqluscPOMPBfFfA7LlnTV 9GMQa9NMVAIJxbJCXib1ovzrswNjMtrlgm9hVdqrvj9w3ikStu3S9DzEgHMFvY7qD5ZR2C 4jG5lxH4NqwuAH9ou+ZltUNj3qJFcsQ= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=aiTYj+T2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of mcassell411@gmail.com designates 209.85.219.54 as permitted sender) smtp.mailfrom=mcassell411@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708531361; a=rsa-sha256; cv=none; b=Y6oHUVOnYX11XfUqc3TvdHgboQDj3R5l9IOhqZHYULy6X26ru735XFRDiGAvwLw5xlIw39 8Mi8nWkVSMIKMtVS5L8aYBi4F2gr9HWwllK5xBGQjp0GQv6Et/oiIrBu3+GSYn0BqAXQET LUOewvttNqLEvIy39Ofw4Q7tjKS+Pf4= Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-68f41af71ebso46918696d6.1 for ; Wed, 21 Feb 2024 08:02:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708531360; x=1709136160; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=bAuU+EdMCZqWdqfPENA6Ha7cgOpM7XDiB8KgwfnnOOE=; b=aiTYj+T2li5yeAFdDRIQKQe1oKu38NqPQeN8DA9kEnPJpvlMhKWe39HK/xqqw8ssQr 1x5cJ2Ec5GMjTvkeT55fflpTomvdTrE4j5kqrexR5fEUcZJqgT8/KzBnicXUrg8rnNOC q3SC3npJS6xPo8BILFUbOJziah6UhCymKakHyRLgQ4XttTFhaGU5CIjQodV50IxAgOap cD/DOI0B9qBnpYDZ9fy1K++4L1rd1Y7KBDiJlyCJUrQLIb2w2YhaqXEr+3bO0DusuIMt rlRQCRHeLyNAPDYMElpTMYtPf/I4kJ0k60FwOpou/njT0Q4oIc9uWLe7mgNAGwA3fJUM QjWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708531360; x=1709136160; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=bAuU+EdMCZqWdqfPENA6Ha7cgOpM7XDiB8KgwfnnOOE=; b=XHDT81qzgA6VXw3LNSwwuLRw1DoJETxf2nEGOWEVSJ90rUvKMVqtdg/QXXT+kgQEvM OLFkOKI4vH++ULl4uFg7uJu8UBJlTyKY3D6I8ep9aQZQEUsnKXp8dsm6hMYmaRrpYo2m 7+VePT+We/IS7icH6e8Md47fC6SgDlvUO4mNPDULLIHQNezp728MkjrRb3OweBKZ6Q9o Qp/Itw5ZcAjUKXT09mBCr8zxBt51mRZ7q7iUJSrbjmiHnH4tO1mGpmMmslS1T6ZGwBql URhLsA29e3YQc9qHHrn3UeYkqv9p1B+TIB3uiMueNeUtCd+rycxi8teBOBv6j1F+q1H0 mYHA== X-Gm-Message-State: AOJu0Yyk+UB2JFtsvW2O5tB2Q9jvonoh2fz1eh2lOTxBOrHWApQE5oYO YhJcZ9YnzPxmypFlEwHf3VkiO58244R+GvgTPDz+mji8qhe2PRBL X-Google-Smtp-Source: AGHT+IHvqIYB4biKtYzJbhHN+Ma/1oviTGRg9JC1eXPc0zNSgNincvvoFuI3kFaT58xPiJ1t8QDiaQ== X-Received: by 2002:a0c:ab13:0:b0:68f:ac2c:883c with SMTP id h19-20020a0cab13000000b0068fac2c883cmr1140954qvb.52.1708531359798; Wed, 21 Feb 2024 08:02:39 -0800 (PST) Received: from localhost.localdomain (024-171-058-032.res.spectrum.com. [24.171.58.32]) by smtp.gmail.com with ESMTPSA id pj4-20020a0562144b0400b0068f79a4ce67sm3060611qvb.22.2024.02.21.08.02.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 08:02:39 -0800 (PST) From: Matthew Cassell To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, mcassell411@gmail.com Subject: [PATCH] mm/util.c: Added page count to __vm_enough_memory failure warning Date: Wed, 21 Feb 2024 16:02:35 +0000 Message-Id: <20240221160235.1771-1-mcassell411@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: E5B65180164 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: kbgwuqhja8wubsc4mzqc6t6ujwqpg4z7 X-HE-Tag: 1708531360-110547 X-HE-Meta: U2FsdGVkX19G8pUsgHDCu1gA6y3QpYQOjo6tq1zMej1evCdEKTAXAepOFqXZ9ylQ2LG/k98s/bL/5rlR0YlwHlGdb9E+HECGcNnFqx1KW2eMKCdFvPaXfrHbREI7Tub+EvdPziY5R+AlMYEIVrYU8mJxjfuTHCUljvkdva7M2IXB8AAF1EV5XevdvPlZdTVkgIbKLtPiDMWolYceal0/Nh49k7PmUJvCGDKxbJ7DLdWgwCFJJZjVFUqVpbYs/2vYTcsowfDheSq1WgR+opkZBrkAX6OhTv19cVwHu+8/8VfP/3KiZN8gD7Dfd+rIi+/x2n8XwatEO5R5uVRUD41ZZ/nOXeF84Y6W0X44E2XJl/8HCemYqg5lYW6izYzt4n2WbTPxn6+u+NYoBwjqT5gFAbCrjVPC7U9h7A3knaTX+SlIpvsEwXLyWpEAH5DafxY3oQxd+++RfDpmZ415oOsZnnzZ090Olq5ELlwLskHvroih+1RYXmPyemwsuYahmX4ZH6BSvr143kwLtFiDS69tK1m0nIz8xTMfyaE9UxXXcp/B5NefU5GAwB0OdRIilZpsauv2gV3Vpm8iZGIQvMKCjeFJoU7x05vTi32+Xr3y48uycyPQMSFZJ4ACyhWjAKks8vKRjkeaPGdtXGKmR2Yns2WzxIldXh+f0gK6RodOcQfoCGV1tmMgBTUeNlrFQ9h/0aSX9kNVtrlEih0+FwaU7MlSdXZ5vWkAKaemGSgpLu/zf90q10HTJlxBthW55iVV41tlhySGwnzYaF2WETrSOpTIqH9GTI2LMq5WZ78slVxV13yHzpt/4aEiYnN1MVPmzcwj+96mkRsA7b2jXSGIMWGKNCKuX8HpV7eCza7FQTlPdmt9NzLKhJLlV/hHBTudJXUVWbg+3p5DwdHyjFa7bnlNn02suX6wR6YJyvJ2TXDlbBrFAsxOc7nirGSvLtYXuZCT/ussZAXU+FqRGBM dHCoz6i8 oW5ijF05G79W7VbGR8COXluur5fitWDYoNa1utJvDijxKU4ohOVf3qiTa9b9TPJgvr3msS0nT9yuQnOKSIVnhpsBXy7Ozi+6jv1e91IlQOpPwwbLB2vRMMMIAUBWhTItNDFk0OlCn1ZW5A+dIvfyHc8aIyIyjEayphM0lmr0ipW39idrec9kHcQIEeUOv5Wu9sMbVcYwAhmD4tSG563bC4S6y6tFg/vUMFltL7kmq/aTeXKIiXebS9yn7f8nzhOtY/JBgCllOoohp4p+7OMPQ5GWJsK1VJLK/i7tquR1uZ6FkA4ux4K4vGayEvyPrO6Du93xIEfqGgraPxq3eZ6fkCS1ln45gWDBpokQZPovCVDYvwrtsD57GD/Ltg1t6FFAYxaRHzwkXtOC+Qv3v8VRBZlsbiZbjZ1XAjH9ME1nFB3TGV2hjq3A0COGlOvnfaS6zxYV4cdTeDw5rVeXuNcChktOmDSzo66qNVxzVlrLgN7eSWBM= 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: Commit 44b414c8715c5dcf53288 ("mm/util.c: add warning if __vm_enough_memory fails") adds debug information which gives the process id and executable name should __vm_enough_memory() fail. Adding the number of pages to the failure message would benefit application developers and system administrators in debugging overambitious memory requests by providing a point of reference to the amount of memory causing __vm_enough_memory() to fail. 1. Set appropriate kernel tunable to reach code path for failure message: # echo 2 > /proc/sys/vm/overcommit_memory 2. Test program to generate failure - requests 1 gibibyte per iteration: #include #include int main(int argc, char **argv) { for(;;) { if(malloc(1<<30) == NULL) break; printf("allocated 1 GiB\n"); } return 0; } 3. Output: Before: __vm_enough_memory: pid: 1218, comm: a.out, not enough memory for the allocation After: __vm_enough_memory: pid: 1141, comm: a.out, pages: 262145, not enough memory for the allocation Signed-off-by: Matthew Cassell --- mm/util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/util.c b/mm/util.c index 5a6a9802583b..c0afb56f16ea 100644 --- a/mm/util.c +++ b/mm/util.c @@ -976,8 +976,8 @@ int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin) if (percpu_counter_read_positive(&vm_committed_as) < allowed) return 0; error: - pr_warn_ratelimited("%s: pid: %d, comm: %s, not enough memory for the allocation\n", - __func__, current->pid, current->comm); + pr_warn_ratelimited("%s: pid: %d, comm: %s, pages: %ld, not enough memory for the allocation\n", + __func__, current->pid, current->comm, pages); vm_unacct_memory(pages); return -ENOMEM; -- 2.43.2