From patchwork Sun Nov 19 16:56:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandru Elisei X-Patchwork-Id: 13460534 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 7C4D3C072A2 for ; Sun, 19 Nov 2023 16:57:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 08DD96B02E4; Sun, 19 Nov 2023 11:57:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 03D976B02F5; Sun, 19 Nov 2023 11:57:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E47B66B033E; Sun, 19 Nov 2023 11:57:57 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D49746B02E4 for ; Sun, 19 Nov 2023 11:57:57 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AB47C16043C for ; Sun, 19 Nov 2023 16:57:57 +0000 (UTC) X-FDA: 81475310994.28.56B7BF6 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf05.hostedemail.com (Postfix) with ESMTP id 27E2E100011 for ; Sun, 19 Nov 2023 16:57:55 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf05.hostedemail.com: domain of alexandru.elisei@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=alexandru.elisei@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700413076; a=rsa-sha256; cv=none; b=HeTkRMTSZUDNHIxHgwUyITIx7zZUSgdAmnZsY0tk0neJWICtfGsdc7JFD+lzO+gFHLI6tq iCB5gJAmGNpjzs0W55Smzf60b/S6t630Bd5wdpa5OBpRMbmBtVnSxv/t3k70IpfCZKk6I6 bdHuhiE2Sp75LvaWMIlVZ8cvfg3pV3I= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf05.hostedemail.com: domain of alexandru.elisei@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=alexandru.elisei@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700413076; 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:in-reply-to:references:references; bh=Nu1C9ygwwMvVsyLo5ztWMy+fuX9RO6F4Z4TBbVvZd0o=; b=Y29GBWQ40wXO/nJkang0vCCXQTq8iglXrH7cfEiDinDsLJNbLzeJ7xTWw/wSPkUpx9Y62O aKr3y35wXr4PudTtidZdXdNamgIbpzLSnU/oX/+eFrloOGuUX6wNHdSg6GIQPS4sY9pAE4 bfMe9HdgYxVCLEycJlXwVfAKRwjDGuc= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 936051476; Sun, 19 Nov 2023 08:58:41 -0800 (PST) Received: from e121798.cable.virginm.net (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 64E5A3F6C4; Sun, 19 Nov 2023 08:57:50 -0800 (PST) From: Alexandru Elisei To: catalin.marinas@arm.com, will@kernel.org, oliver.upton@linux.dev, maz@kernel.org, james.morse@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, arnd@arndb.de, akpm@linux-foundation.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, mhiramat@kernel.org, rppt@kernel.org, hughd@google.com Cc: pcc@google.com, steven.price@arm.com, anshuman.khandual@arm.com, vincenzo.frascino@arm.com, david@redhat.com, eugenis@google.com, kcc@google.com, hyesoo.yu@samsung.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org Subject: [PATCH RFC v2 03/27] mm: cma: Make CMA_ALLOC_SUCCESS/FAIL count the number of pages Date: Sun, 19 Nov 2023 16:56:57 +0000 Message-Id: <20231119165721.9849-4-alexandru.elisei@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231119165721.9849-1-alexandru.elisei@arm.com> References: <20231119165721.9849-1-alexandru.elisei@arm.com> MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 27E2E100011 X-Stat-Signature: edpnkgmr4dru7xyjfw3weeyywmfsnyfk X-Rspam-User: X-HE-Tag: 1700413075-767186 X-HE-Meta: U2FsdGVkX1+pQXlG+WltWqGNLCiQCdPisBPDrrjkfA3c0UQtf9WRni38g5co17FLDZbxFx0f13UaJHswgNH6fAp8Hr7C4mzLVGcjhzYhTs/CspFNwCA/TaRf4ZvW+iraMH44ZFlK341lLYYfj7YYoDuvrs+6saeSeq1g2SihhfzqhYq0Yq0hZj90iIkNk6i/1LRPxzyE9NkhSKHaXQ6gZax9ebWxiE7Pu6rskWIbqw+XDDgxOPs7pnY82mOxtIqqjOewIe6v6ZKFwbZn1Ylxcvf4sLwbYZx8SvKh0ENLS3jeT2v9sC/jeoUWcz56VGHv0wuhfrQd2F7TrFAJHivsS8iqbe3/TbQvPETZvLvuu6EqnXVeHk4aMbop97pOCFd+0J41VxwAPMgc32GOFS6A1Z9DyqvQVS6E9YOkUBV9pt5HT3qQCQ57C5C9NYTY3vxkN3g5ctJS7K972NFBhWhGQ2Rfz18NXkNNddtbi/O0TVxGOcP3mfwJvkBvqtzZf5RKkbw0f+/sLKti9dgBrUHBHQ9J2pIFTYd37bMNQBPBG2sQfIAKXjdx5vhzGNsLnmovxAxz+AA0fz913s+J8NyS3+qEHIT10mcbnjDKOI0AnFDLVG1LJAL8yn76hu8k6KKQGyiO4UJOXfC+/pcEULcd39ULCMUm1zP52znJzcbxVGjpMIbkqTX2OHtoPslTfW9O7SrOGLy9MYeWusS46i8bTbt+aoA42Fl4LrbHbmzf0DgMaNGEBuyg6skPrYsrHzjNSSBDeXMerG1Puv9E7HtlU4Cnoob7GGAWSqJZAJrl72PHIPcDspzfn7Onh03K8+RpnUQJeYPCJgioKqvDX+xiW4Keahnnk6dj/YxEkTZHhG/F+V55YkbFIEZOt1rFeIrQn8Sewy8yqOlMOlhswOiuV5NwmsHVpC0F5MiLxiLpv+ff4huhkLFwakJLlGMyQDxQshMZjbBpe8zOg0Y7ZxF 1VUkHi2+ NVF4v6QeN+W3mlccXBNm76pEvMd/uvJ7I4us6xlL7m2f7dZvnpWETeWofJlbTWiObToe6RSD2jEl93WV5miHXsZrrIC35rpQTopjCdth1G/2wmnNu28UH5o+KU0tnnu6AmW99SKPu0cw46NQa/AFuI2huoXoj7HUffVz9pl7hCLU2etAbsHZ0tsfgykRJ3zyUbi3EdeqGognwk6E= 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: The CMA_ALLOC_SUCCESS, respectively CMA_ALLOC_FAIL, are increased by one after each cma_alloc() function call. This is done even though cma_alloc() can allocate an arbitrary number of CMA pages. When looking at /proc/vmstat, the number of successful (or failed) cma_alloc() calls doesn't tell much with regards to how many CMA pages were allocated via cma_alloc() versus via the page allocator (regular allocation request or PCP lists refill). This can also be rather confusing to a user who isn't familiar with the code, since the unit of measurement for nr_free_cma is the number of pages, but cma_alloc_success and cma_alloc_fail count the number of cma_alloc() function calls. Let's make this consistent, and arguably more useful, by having CMA_ALLOC_SUCCESS count the number of successfully allocated CMA pages, and CMA_ALLOC_FAIL count the number of pages cma_alloc() failed to allocate. For users that wish to track the number of cma_alloc() calls, there are tracepoints for that already implemented. Signed-off-by: Alexandru Elisei --- mm/cma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/cma.c b/mm/cma.c index 2b2494fd6b59..2b74db5116d5 100644 --- a/mm/cma.c +++ b/mm/cma.c @@ -517,10 +517,10 @@ struct page *cma_alloc(struct cma *cma, unsigned long count, pr_debug("%s(): returned %p\n", __func__, page); out: if (page) { - count_vm_event(CMA_ALLOC_SUCCESS); + count_vm_events(CMA_ALLOC_SUCCESS, count); cma_sysfs_account_success_pages(cma, count); } else { - count_vm_event(CMA_ALLOC_FAIL); + count_vm_events(CMA_ALLOC_FAIL, count); if (cma) cma_sysfs_account_fail_pages(cma, count); }