From patchwork Thu Dec 12 15:52:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Yunxiang Li X-Patchwork-Id: 13905440 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 567B0E77182 for ; Thu, 12 Dec 2024 15:52:34 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A123C10ED52; Thu, 12 Dec 2024 15:52:30 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="REfu8VIg"; dkim-atps=neutral Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2056.outbound.protection.outlook.com [40.107.92.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id B88AB10EC31; Thu, 12 Dec 2024 15:52:28 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=P3nIslyE+dfh46K42nYw8JEdrcrE21aK53ZgncpF6hVvKNnL4DEqFuZqB6OIVhGy7/Gw/Qz3a/UzKhpv7WSnUq5y3bbnveOYAll7XyWnM4K4KRVq1zZqCyso7CPZhaXHREDqqrVZK2eld0Flsayrpy7X9yLavDyyECf9qrSUYICDny8CqcfOzSZi3rWIWDDckkc5qamAolFLFu2paVt7A5jI0RcDTZO1XxtXNTN3XsCI8+hDLudlmOWN0nfvPwGZOtNe6Z7MS5P6iqWrWFBpHQzsZuDbu8x04fKi/43TCZiAkp+IUaERx2Vjo0sJ7bW1NciMU/krDYieLvAJSE6OmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SRUqXZM9KB5RNFX+tgA9pUwngXa3Qpk9wwq+lmYirjE=; b=gNmmxQC4UkODGX0NvQsaQV7Q+FoMmeNWphXHz3IZYq125voHitputxcIl+R8R2EVExlO4up+bJO4oSmK7E56hI2eSQ1lK/1PFlI/jPf9lN/Sw4Y3tL9uBbqhTGb7Fu5b5/4Rl7KE7NNNf1QIQqru1LgBlfB78FQgF4ToUVPy9+QSHvMX5ufZcXh3YBhZuEZiy5M2whi8DShH2QXdzBUKeyRoBd+3su+H4nt4ZIKIybe+BpCeAp51n7GHeANkJEKrtRB9K2HE92odaMqRl/d2QAphrLIYuXtNz9mq46h1E/vr7MOb3yWSmF2dJ8xyuoFVCrXRUoOBkSTbYO2GCMV8CQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SRUqXZM9KB5RNFX+tgA9pUwngXa3Qpk9wwq+lmYirjE=; b=REfu8VIgrNpTjRHUBgFLF41w08ztn3Ii5sXsbglVOI4A1kNcTiA5pAGGVGqJjWnK348eozQ0hMi5mr0AF3koDAjvmqEMRra3UbFibcYfIxh0foBNjZswFG0pIAh6a8ilapRePPTCs94Mf4MHnG5SfP7WO/SoCaq0AswCdkgl4Cw= Received: from CH2PR10CA0012.namprd10.prod.outlook.com (2603:10b6:610:4c::22) by SJ2PR12MB7896.namprd12.prod.outlook.com (2603:10b6:a03:4c6::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8251.16; Thu, 12 Dec 2024 15:52:22 +0000 Received: from CH3PEPF00000012.namprd21.prod.outlook.com (2603:10b6:610:4c:cafe::e2) by CH2PR10CA0012.outlook.office365.com (2603:10b6:610:4c::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8251.16 via Frontend Transport; Thu, 12 Dec 2024 15:52:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CH3PEPF00000012.mail.protection.outlook.com (10.167.244.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8272.0 via Frontend Transport; Thu, 12 Dec 2024 15:52:22 +0000 Received: from MKM-L10-YUNXIA9.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 12 Dec 2024 09:52:21 -0600 From: Yunxiang Li To: , , CC: , Yunxiang Li , Subject: [PATCH v11 1/5] drm: add drm_memory_stats_is_zero Date: Thu, 12 Dec 2024 10:52:02 -0500 Message-ID: <20241212155206.5030-2-Yunxiang.Li@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241212155206.5030-1-Yunxiang.Li@amd.com> References: <20241212155206.5030-1-Yunxiang.Li@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000012:EE_|SJ2PR12MB7896:EE_ X-MS-Office365-Filtering-Correlation-Id: 4999fd35-6986-4875-39aa-08dd1ac4f794 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?zZ1Lcb2cF5/CJr0B/Sfqr/K93fhz+Z4?= =?utf-8?q?nHRgVc05lhJ674pszQFCWSJS4HOgL1+O7GQmyuA24VM+btpPVcAa2M9iEBeVuJfWF?= =?utf-8?q?sKv5dNkfmyZrZ+z/WYKQxCfQ3NdBF6zIYAqfbmvp4Tk0qDA6rYyuQcIE5nmvUHBuk?= =?utf-8?q?sJwPIXT5D8DL7l8E30faluSG8YudG1QGLqCNXNTOPye9fA6lXdnsHFUNtrrso7Rml?= =?utf-8?q?2DQ9N0TROQAAjEE07bB9QTU9qt9T671E0FO+HLuAhEh+ACqVohNXTCLNIFPABpBmM?= =?utf-8?q?nFjtObrQtb5cBd1tOTcL2c+laStPfZoULCY0DMWs0j3E3AvGwJPovuCc4mbyzAy6P?= =?utf-8?q?MxBCVyUVvyTvljtvSyHy273JGQgj2s/3zJ//+s85/M68jXpt2YvG2aCD1XIgvDOg2?= =?utf-8?q?WpCkOlIgTtw+U62CrEak0ycBZC6a2Jb7QiUL6MzTHTxO1Dfwh6gkCiS8O/e6IjbL+?= =?utf-8?q?lHyAO8uqzC/vX9KBx50RRdJsmwIe4H30FnUybsSThy3K5QPtHnJarg2i/6ohNrpZ8?= =?utf-8?q?zSjymrDAYaAsCbjuc89DZZS5FH5O5NcfEDeID5Rphei77SmyB+66Ks02O9OteF/dW?= =?utf-8?q?apQJuTKPHj8UF/ip4HD4NyaNka8v0YGI913rJuYc65xdluhSxvYSN02rTvPJeOkPx?= =?utf-8?q?Nh092ScQMkWM7OoXbM6AQ0o9J5decEwHvlvK0wKauOOPvCVBkIV5PHHUQLWmESVZi?= =?utf-8?q?0sLtvKSagq6TVUVZLEOyYs6A9C8Yfs2lmBTyerVvtdtIEfyHohQU8UVv5h4IDOqy2?= =?utf-8?q?Hn73p8NGIqDbYHU6+RpA73BI7gSesckMzCg/4HYQt1wlb5nbcfy9ucNvvEPtDEJfU?= =?utf-8?q?LecCKPtmbkJavwHNAijCVhCjTW4mXmT90F+BK1A8Vfto6T8DjQeR0jlhLr6ChtxtJ?= =?utf-8?q?QZB37WIIQr61oGzySn8YShHDsW4QdMQiMd+WeosdTY3wJxYa7TQ511VttfqVDk8bd?= =?utf-8?q?zmwD5c0PYjy4PYhfM941taIjDLhfhba8TDb73+wXeO8hjv+m05z+lMTCxsKc/BBJr?= =?utf-8?q?HvaM/pa9wOHArvgSIF1RmtE8K67ShQ2cCc23KGh2MElRIU1R3H08iFSH1hKX+FYMk?= =?utf-8?q?WaHzFVMpIGSVAGsqP7Qv7EvUkrxiKPJe2yLYl99XY5Q8ZlrQpLiXElZ0+L4YwaZOP?= =?utf-8?q?ZzFTVdBB8EDzgLNmIAbQapLelnMSESia3VtZGmVmBpmr1Ncyl1nsQpks5VrBbe8Y1?= =?utf-8?q?7Lj19/gAFEnSdXhjssZEK3pLKTDryOdu4FwD4YVQgelnV9x19HnvwuGGmVMgLJDl+?= =?utf-8?q?vGy9eCPgG9WUmQYg8P3qs6FfCGJPYGMVpsNf1vkEr7Gc4MSUWjK3D/VefoVrjN71E?= =?utf-8?q?orI136x/FnW8kNpUZV2JVvqDBcs2fhEa85H6Y/acoORLRe9P6VWus4Y8h7jpQDe17?= =?utf-8?q?u/bcG4Az7eg?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2024 15:52:22.5295 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4999fd35-6986-4875-39aa-08dd1ac4f794 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF00000012.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7896 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add a helper to check if the memory stats is zero, this will be used to check for memory accounting errors. Signed-off-by: Yunxiang Li Reviewed-by: Christian König CC: dri-devel@lists.freedesktop.org --- drivers/gpu/drm/drm_file.c | 10 ++++++++++ include/drm/drm_file.h | 1 + 2 files changed, 11 insertions(+) diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c index 714e42b051080..e285fcc28c59c 100644 --- a/drivers/gpu/drm/drm_file.c +++ b/drivers/gpu/drm/drm_file.c @@ -859,6 +859,16 @@ static void print_size(struct drm_printer *p, const char *stat, drm_printf(p, "drm-%s-%s:\t%llu%s\n", stat, region, sz, units[u]); } +int drm_memory_stats_is_zero(const struct drm_memory_stats *stats) +{ + return (stats->shared == 0 && + stats->private == 0 && + stats->resident == 0 && + stats->purgeable == 0 && + stats->active == 0); +} +EXPORT_SYMBOL(drm_memory_stats_is_zero); + /** * drm_print_memory_stats - A helper to print memory stats * @p: The printer to print output to diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h index ab230d3af138d..7f91e35d027d9 100644 --- a/include/drm/drm_file.h +++ b/include/drm/drm_file.h @@ -477,6 +477,7 @@ struct drm_memory_stats { enum drm_gem_object_status; +int drm_memory_stats_is_zero(const struct drm_memory_stats *stats); void drm_print_memory_stats(struct drm_printer *p, const struct drm_memory_stats *stats, enum drm_gem_object_status supported_status,