From patchwork Thu Mar 20 18:51:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027279 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 E631CC3601B for ; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 058ED10E35E; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hVOhZntI"; dkim-atps=neutral Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id 712B610E689; Thu, 20 Mar 2025 18:52:58 +0000 (UTC) Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85da5a3667bso37807839f.1; Thu, 20 Mar 2025 11:52:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496778; x=1743101578; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GcpeXIgBKTB5NFbofa9/asJwSsA0oVZhqq9QNH8OPg4=; b=hVOhZntIJPSFqfu6KaVPLNvCIjrHpLWyrTEhZE2ou1nYBdAm0S0Ms0fEjE8l3NlvOC lwSEzTxUzza6zLVLVg+QCnukS3bhYLfGG8ofTn81u2lEHf2sV2LV52uurIHdHjYRWgtc 9GZeBTGVuP0XBVRUQyD1bABaxY9Aaoo3pM4cEzuDRa1pUzY+IBSdxlpU8//igEOK5Aln n67cRckb/KdUATDpgKsC8fsMAIv1sv0rIx320aLQAbVTz0lpPGCFNh+v8CoyRLeD+wQv 7s14XCoHL+98WY0ioLv8EndIbcK4B/CNgiFYk3w5oYjSLKpJvJiIPs8IeiPxPrfjumv4 yvpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496778; x=1743101578; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GcpeXIgBKTB5NFbofa9/asJwSsA0oVZhqq9QNH8OPg4=; b=FDRE6xtBvyBaLm2Y0AGgSA3hlUi7/WsD+iMDyFAjDA5t50pKFG4RCCGOHKV1+It1oz j6QB/6pjwtuuz74x5y8QNuuqQ2y7z69+CUTh2sC8rAkfkLka6H3Tu9pgxoki+kkjIGv2 dZBwLfSlXg9QNcOqoFVLY4kIkvZYZCqKj8s8gAlyjtCuST2R5WjcUyNEcaOqX2jd+8Nr prONfgYkSkQl4/UFOa+QrDMFUoWr8u6D9u6s6vEQOqfd6EZltMQ2mGP/yku4CKH1gGFb Z9Z7H1J6XMnzbTQpg8H/lmb3jBPMNjoPLrUMU1fv5uNJwC6gcrGwUPFTTFIkSENtNsw0 9ONA== X-Forwarded-Encrypted: i=1; AJvYcCUMunA0rhw9RbY8/gZAYsRm6uMRQz5bH3dCS2XnLaLt1eUhHIwrxk53N8B4v0eR5uxMhSqcTV+v@lists.freedesktop.org, AJvYcCVYKMX4m4kFeJK7CNNVGUJnTpttveSXnUflewZ2UF/8k7SlFBv5CBAHCcyNYvqT1/LRB5FVc4uwC+C+@lists.freedesktop.org, AJvYcCVac93PH38IUncBAMOebPi5ZC+vRy+fvm8ayJMsLUd3axgUSfaX5gKgcS1GQpMCX3riIjoeQRjNP2Ik3BMUOw==@lists.freedesktop.org, AJvYcCWfa8Qge1rJAs1vapJofo2EGA1xKjM4Pfhx1V6ar8HAvWS3Gv1UXfi0dWpZAl1+aYf0kKUN40MDAgOIk2sReVfPNw==@lists.freedesktop.org, AJvYcCWru1KlDjwvuv5nPMP922NwhE5LP5Q53yYIe1M6gYVXB3FB0qsRSwvGa42lQ72BtvbuwqdiC2HDMsVj@lists.freedesktop.org X-Gm-Message-State: AOJu0Yy0k2CXz9LfEwv+cMJYZcTTH3MPnMQkF+e+Tq2WnNN0lGYhjx5v xIHzJaVig/VowhugMzOPSOsBzFFZ/o3kz2LrFK6OSXP+lJ1c+oAh X-Gm-Gg: ASbGncvPW5e2uLvzVWJX9braKWm6ck8TuRs2B10Xb4MRaTgwfpQOXOJgPcICGiCF6Si Ag3swkjyKRID+ozuhjptIjsL3iGOp0f0zDhzmbrJABN+8GaD0tMOfXzj9cjdq+rIiBkXb8soE/9 QvwoxjSvJ1bmIS+cA/YYyfgYTYAX+tY/oGbQJMfKMGMYp6g1g0/KNNAQv7mOKsFmdMdUpBdS5af /ASvNPsAFqTNBg9prBzybzd7wwkhd1K7viU1TwyRlp4hEZ0lPsrr77r3dBsDudZwAiSq0Cfteqd 7gAWmQ6i+ME9UIxBsUUApC/5IPeQfuSTyUfKGkLIM3aZDW1/avfoO0KuoRsX5eYCOecBJgGC7nd 3cQ== X-Google-Smtp-Source: AGHT+IG/WcgSDWYGaIGUJzJjoUwRAkD/zIPJ1dWq3GZRtzQHb9p2LQ4+giHWWoVJtCcIbGbNZ3Q//A== X-Received: by 2002:a05:6602:3719:b0:85b:3791:b2ed with SMTP id ca18e2360f4ac-85e2caaa5c7mr41988539f.8.1742496777818; Thu, 20 Mar 2025 11:52:57 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.52.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:52:57 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 01/59] vmlinux.lds.h: fixup HEADERED_SECTION{,_BY} macros Date: Thu, 20 Mar 2025 12:51:39 -0600 Message-ID: <20250320185238.447458-2-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" commit 1d926e259d8f ("vmlinux.lds.h: add HEADERED_SECTION_* macros") I flubbed the defn of the outer 2 macros; they missed the extra arg needed: _front/_hdr. Fix it now, before anyone notices. Signed-off-by: Jim Cromie --- include/asm-generic/vmlinux.lds.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 0d5b186abee8..c9c66089ea2f 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -219,10 +219,11 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG) KEEP(*(.gnu.linkonce.##_sec_)) \ BOUNDED_SECTION_POST_LABEL(_sec_, _label_, _BEGIN_, _END_) -#define HEADERED_SECTION_BY(_sec_, _label_) \ - HEADERED_SECTION_PRE_LABEL(_sec_, _label_, __start, __stop) +#define HEADERED_SECTION_BY(_sec_, _label_, _front) \ + HEADERED_SECTION_PRE_LABEL(_sec_, _label_, __start, __stop, _front) -#define HEADERED_SECTION(_sec) HEADERED_SECTION_BY(_sec, _sec) +#define HEADERED_SECTION(_sec, _front) \ + HEADERED_SECTION_BY(_sec, _sec, _front) #ifdef CONFIG_TRACE_BRANCH_PROFILING #define LIKELY_PROFILE() \ From patchwork Thu Mar 20 18:51:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027285 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 9DB89C36014 for ; Mon, 24 Mar 2025 13:24:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F101410E3AB; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZF50n6IB"; dkim-atps=neutral Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id 289D510E690; Thu, 20 Mar 2025 18:53:04 +0000 (UTC) Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85dac9729c3so88933539f.2; Thu, 20 Mar 2025 11:53:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496783; x=1743101583; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=d8krvmT3hXiuiccuxDpOYGdDtTsrrIwxKLxWjX0uKEg=; b=ZF50n6IBXdju1+Eh7PS0HfbB0keI+2uNmavmXqFgTzqeKbGTrkw30ZBqE2Ff7WjvgL ECn60tBCOwMQvW805FZ+STYoqJecUlw6spAzuIDDCWOC0Y3yCo3KAF68hF986m6Ax68L UxnnXyyCqGhVS13yAuR0LAo3omNFfH3jYiC9NYHNHNk78UUV3hNOwwDk8lVv65JVnHTR YPynC+6BO64P3WvMAXdPLUjHDtaVZrumM68VuH5GehOHT6PafMfSlWPyBWii6j/t3Yhr csOXrHr0n2IEH8IsAghqbrFIJVxTRjwXW6HXf35g+jRCgDrWBvlJXPy5foG+4rGNAyzG Km5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496783; x=1743101583; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=d8krvmT3hXiuiccuxDpOYGdDtTsrrIwxKLxWjX0uKEg=; b=GQpbQO7/UJw8oDelzjdan1wonV86kaLDCpKJKFIdaKvrinV/sK9wFzUhyUZ7bzQIuk 2oZVBRofost0y24HRGG+3BXiv/5zBAp7fDFZa50cvrtB0c21y0k+hTTSSI/tZnZUZXP4 7UDmlI+aVkUODlR0zUlRDRDQYVSUHpajaiYaV7xkgHZfSOh3zRAlxrmQlmuKZFrBxR3t jPy0OAJPc5rsOfcwHmfAU4tYd/pCV0TSERIZ67RkWv6Yttdqux/bTTRUHo/RN+CFBHgQ X7Pfp23qgW0M6SMS5CbU02UuwFyVajNb8UuGJ96lQ1XXZBsSrdzbGzYfivEnFpKGv6cN 2wyA== X-Forwarded-Encrypted: i=1; AJvYcCUA9vTu5yuC9SV7QBeU5CuAzDtJWKpIMeHzTkH/JDDsGIsZFYu5NfO1CU9bdEpuVKvH5XyPleq+TZ6E@lists.freedesktop.org, AJvYcCVDAzvJjU4sThGlt64tHVOwK2/7wM2BfpJtPyDwijIjvREeDjjMayBjV0zaBLpAFab6SqKuN4o47MmkUdfQgA==@lists.freedesktop.org, AJvYcCVZyr6vQqFMwM8RgW8uSEe1/Tx7X0wvQOX8Qhty0to6kUGgCqYwA9EK5log/P5nGPskmPDONWkO@lists.freedesktop.org, AJvYcCWKsgUjKQus9PiQ4/wD68tQiULwaqeIyaF90aqjomv6rp8IiSafXvNNg/K+OPRPPxzr31poeLqmtd0VAdMjXW19Sw==@lists.freedesktop.org, AJvYcCWLtIptqPCWYDz9csD/H+gK9WL2e3O/dOUzAm8smGJSuv+VtejCGBHBhd8Jt//CGsDo11FPh8WCeqBl@lists.freedesktop.org X-Gm-Message-State: AOJu0YzTijhTRjPpACugSG4kW3jXmXL/I7flLMiMocnzns/GP+HC0+US PhQW75f3d99jPU9NVBibQWNlhQp6IZXTjN2I3gAkYL+QNajCftOR X-Gm-Gg: ASbGnctw/7nWp4pCXzey1rC4n4hW7TMWRfz+H4l1paAvIOtDRT7aGFX8Lh1tifBLEcs GgYc0Bwigeb5aJ6/d49plMCIrLudZOWOAGfj9iY95Y/VZZr6kgWS0LyNNKCQg0mqhYe7s+XBj2c 0TXn3mMRjF0GNWgjk1cWHAnCjrH56YHBNxTy2LbONQcd2ynXrthXMf6yJ4/VRNpFIoV1YWwDKZI Nnd5jMpAgx9sywasnEvfGoo1cE1F91VBEDI/iZSpOAkac92a/Vn2w6k9WSSS+2mhERZ6b6iUREE pM5FRosyoqpybyrCP2Y7l5U+Tic4V5oaZsjHpZS3bBS7ywCDOhFxeS5HcEC91KTu8ZM/0UUDSOc v9g== X-Google-Smtp-Source: AGHT+IGLFUNT7vu4Ze4s5l3PwVkHNFHoLLOgOZkw1v5IbQQj6bj520ZJNqB0G+YoLRgvlprY8LGZcA== X-Received: by 2002:a05:6602:3785:b0:85b:427c:de6d with SMTP id ca18e2360f4ac-85e2ca2d11bmr47845339f.1.1742496783217; Thu, 20 Mar 2025 11:53:03 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:02 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 02/59] docs/dyndbg: update examples \012 to \n Date: Thu, 20 Mar 2025 12:51:40 -0600 Message-ID: <20250320185238.447458-3-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" commit 47ea6f99d06e ("dyndbg: use ESCAPE_SPACE for cat control") changed the control-file to display format strings with "\n" rather than "\012". Update the docs to match the new reality. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet Tested-by: Louis Chauvet --- -v2 fix missed \012's --- .../admin-guide/dynamic-debug-howto.rst | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Documentation/admin-guide/dynamic-debug-howto.rst b/Documentation/admin-guide/dynamic-debug-howto.rst index 7c036590cd07..4ac18c0a1d95 100644 --- a/Documentation/admin-guide/dynamic-debug-howto.rst +++ b/Documentation/admin-guide/dynamic-debug-howto.rst @@ -38,12 +38,12 @@ You can view the currently configured behaviour in the *prdbg* catalog:: :#> head -n7 /proc/dynamic_debug/control # filename:lineno [module]function flags format - init/main.c:1179 [main]initcall_blacklist =_ "blacklisting initcall %s\012 - init/main.c:1218 [main]initcall_blacklisted =_ "initcall %s blacklisted\012" - init/main.c:1424 [main]run_init_process =_ " with arguments:\012" - init/main.c:1426 [main]run_init_process =_ " %s\012" - init/main.c:1427 [main]run_init_process =_ " with environment:\012" - init/main.c:1429 [main]run_init_process =_ " %s\012" + init/main.c:1179 [main]initcall_blacklist =_ "blacklisting initcall %s\n" + init/main.c:1218 [main]initcall_blacklisted =_ "initcall %s blacklisted\n" + init/main.c:1424 [main]run_init_process =_ " with arguments:\n" + init/main.c:1426 [main]run_init_process =_ " %s\n" + init/main.c:1427 [main]run_init_process =_ " with environment:\n" + init/main.c:1429 [main]run_init_process =_ " %s\n" The 3rd space-delimited column shows the current flags, preceded by a ``=`` for easy use with grep/cut. ``=p`` shows enabled callsites. @@ -59,10 +59,10 @@ query/commands to the control file. Example:: :#> ddcmd '-p; module main func run* +p' :#> grep =p /proc/dynamic_debug/control - init/main.c:1424 [main]run_init_process =p " with arguments:\012" - init/main.c:1426 [main]run_init_process =p " %s\012" - init/main.c:1427 [main]run_init_process =p " with environment:\012" - init/main.c:1429 [main]run_init_process =p " %s\012" + init/main.c:1424 [main]run_init_process =p " with arguments:\n" + init/main.c:1426 [main]run_init_process =p " %s\n" + init/main.c:1427 [main]run_init_process =p " with environment:\n" + init/main.c:1429 [main]run_init_process =p " %s\n" Error messages go to console/syslog:: From patchwork Thu Mar 20 18:51:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027281 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 1FAC1C36010 for ; Mon, 24 Mar 2025 13:24:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8976510E36D; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="cNHVDKIZ"; dkim-atps=neutral Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2C08610E692; Thu, 20 Mar 2025 18:53:05 +0000 (UTC) Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85ad83ba141so144309239f.2; Thu, 20 Mar 2025 11:53:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496784; x=1743101584; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zri7fWbQ6hYMke6+GekcmDcZwwxzqxWIAq8zKNxMydw=; b=cNHVDKIZQd3H5SRBDWu5OBRLxN8ic3YpWF2isBpmZ2SDLMyYX+aGeK25IdhERZ7tIt vsR5ZjlNJ25nDP9L2pP4WiCHrK35GceFkyTyEMwJsGeQbT09BgWeB7bMc+FgoT170Mg7 HvbxviVNgSJdFx3tJ+vmcCzEvcN/2x/Z2ChCZzRNHF4n6qUF78F8Fx5HFDAGTzUnudr7 RBb17N2pbeBYU69lEF/rRKk40yBmEFMQQ683OqOSbBveoyKbnkGPHHm6bCpXq+zXYkMx QODGiP1VR0aEef7H34/wdgrrA7r2plCenjGO711TjSfkwO8A3G6pFtkwZew6tmsKTL+0 2KMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496784; x=1743101584; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zri7fWbQ6hYMke6+GekcmDcZwwxzqxWIAq8zKNxMydw=; b=W6vwNFU8wqJiGTy+Snfu2GYGkB1toCuzaH6kJsb55TuzdfSjEDVJORVfoIHHkMkpTc +v7qoh0lW4HoH1P/IAPJJRo585wcpk2m8wUv8gd+Mwc1CVwNKML8JeUEPeE3X3EOlL51 qmB+6o6+ygl9Fq8wmN4jL0LEBtsdEAb8GHER6cgTougzh8Atgzk2GBb4GqOSUSichxfO IlaVwtXR89sQw/HSCfeS8UyfXHBesqyvs/ZZWe7BAyeOJhv8z5uerRVSp3W73144pwH9 gjOmrbyvHm4aSHcKBcI6dMFSwi4dWGUjMtAVabusnh+EIyGTgmyFlw3o88HNqxlNIud/ R4fw== X-Forwarded-Encrypted: i=1; AJvYcCUe3JT9EvIpbK3dUZPpqCqnxqj3tITac5mxRGPqMh5BIj1phckDfKNgXfy05KlnS9i1DKiaDTgz@lists.freedesktop.org, AJvYcCUonLom1CnFiMLVVWYeJHasxsSpG0ehzs0ocr6/o+8GzKi6MK5w0KmYzxwLshmiKI0KSv9g5jJI1HXejUgUBA==@lists.freedesktop.org, AJvYcCUts5+XRpq9Aa60vsY27uouFeh6pn6WU+7YtZtmWDPEMNBxLNqfbhnH+Oq+KNtODXekOAFZaTgT/DKw@lists.freedesktop.org, AJvYcCVIAGkLsNaHnGVPDapgwb6vWdjJKLUCBxN0eETtGZO8ARsK3kTXzlUiTdGKzqBkRb6GfR9dZmiXS5zQondwvFx1ew==@lists.freedesktop.org, AJvYcCWlBRwlGqEifXqVIe8fwz1PvDiIqAz6hUka3J6IHjQIW5dg/MOfuqvm/rlL7V5b/4XTkqKwm323k9ev@lists.freedesktop.org X-Gm-Message-State: AOJu0Yxv58UH5z+My1WsP7sNBGrfrtno5Oh1ZNhkzZqJqqEL5LAaMsR4 AP0bcsVoLP4Iqh6HH2PPsLr0ih4ucq3va8ePi0N0V74q4fzby0V/ X-Gm-Gg: ASbGnct3W7oAFujkML1CrHdDUZJ8XiH+6bv7zIOvsPvf8q109aAYKJPnuWuPuamyczT LLLcbeX0H5CwKjTDBZnG2bwHQjgt0ce29aJYgKZy6H6qXmTKHqYJWIs0cI5hCEXNQt5D4tfnIL8 qWbfvWyf47utwR8UXbeHHSI+aVpuJzqWDAhUo40EcQPE4/hhii+pHfFLd+7yKJubK1zadb/KgVx 7vNUxrkk8UMrc0IYbqnqM0aVfL4qEtqReUPHR4EGqqplpgTyb0bNoJ42O/idjrBX58VoTsFS5Yg Wa1C1KujNSmB4YMYnualM3qeNtIV/mYpKgBIZ8GZ+QHCrgb71dSk6Mh7TqmtomrZG7KIulZOlot G+Q== X-Google-Smtp-Source: AGHT+IH1P/jk1OIslkAUGgFRZQR/oxbnvI28Bj54hNazA+wkeOw9UlyQ7Q8GNNj4dKRg9NNNZoJpTw== X-Received: by 2002:a05:6602:3a0e:b0:85b:4362:3403 with SMTP id ca18e2360f4ac-85e2ca8a796mr50382139f.7.1742496784432; Thu, 20 Mar 2025 11:53:04 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:03 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 03/59] test-dyndbg: fixup CLASSMAP usage error Date: Thu, 20 Mar 2025 12:51:41 -0600 Message-ID: <20250320185238.447458-4-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" commit 6ea3bf466ac6 ("dyndbg: test DECLARE_DYNDBG_CLASSMAP, sysfs nodes") A closer look at test_dynamic_debug.ko logging output reveals reveals a macro usage error: lib/test_dynamic_debug.c:105 [test_dynamic_debug]do_cats =p "LOW msg\n" class:MID lib/test_dynamic_debug.c:106 [test_dynamic_debug]do_cats =p "MID msg\n" class:HI lib/test_dynamic_debug.c:107 [test_dynamic_debug]do_cats =_ "HI msg\n" class unknown, _id:13 107 says: HI is unknown, and 105,106 have a LOW/MID and MID/HI skew. DECLARE_DYNDBG_CLASSMAP() _base arg must equal the enum's 1st value, in this case it was _base + 1. This leaves HI class un-selectable. NB: the macro could better validate its arguments. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet Tested-by: Louis Chauvet --- lib/test_dynamic_debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/test_dynamic_debug.c b/lib/test_dynamic_debug.c index 77c2a669b6af..396144cf351b 100644 --- a/lib/test_dynamic_debug.c +++ b/lib/test_dynamic_debug.c @@ -75,7 +75,7 @@ DD_SYS_WRAP(disjoint_bits, p); DD_SYS_WRAP(disjoint_bits, T); /* symbolic input, independent bits */ -enum cat_disjoint_names { LOW = 11, MID, HI }; +enum cat_disjoint_names { LOW = 10, MID, HI }; DECLARE_DYNDBG_CLASSMAP(map_disjoint_names, DD_CLASS_TYPE_DISJOINT_NAMES, 10, "LOW", "MID", "HI"); DD_SYS_WRAP(disjoint_names, p); From patchwork Thu Mar 20 18:51:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027290 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 8A62BC3600D for ; Mon, 24 Mar 2025 13:24:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 055FB10E378; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="C6BJm6LI"; dkim-atps=neutral Received: from mail-il1-f173.google.com (mail-il1-f173.google.com [209.85.166.173]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7978C10E69B; Thu, 20 Mar 2025 18:53:06 +0000 (UTC) Received: by mail-il1-f173.google.com with SMTP id e9e14a558f8ab-3cda56e1dffso7891615ab.1; Thu, 20 Mar 2025 11:53:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496786; x=1743101586; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MlpyI1Cbu0G4E1iYQnKaYcyXlhpWchDiOL6/URF3toQ=; b=C6BJm6LIkLdeKfDiWRO6jclRW1RvXiSKnBy4zEEFlH0iyauQhNovzRgZ7mmQatIFE+ yIn76mEGeTR6xV1sdrGOlDKC9KfnFTNVwtdjLYuJydINfD5s1k0Ldqnqc385qihMAAI6 VcXWPbuzAI3RVYsEzpWBALW2M3TlE949IUB8NOszqww6Itn6jFUXJbBYCeyFsJBgdI6Q /mnE4Ap6+cYlJp1Hz+KOii/NiR0btFZdx+U1rb/RqJ8wLZDvETKsTdN0Oyy95GwvZEMw DxbdqwAIyMEDghoWnbsOTcFa+kwjjJKzPP7DmWdrzXIxqgtsC1kVtLoI76ZBK4RZlpQf xO7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496786; x=1743101586; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MlpyI1Cbu0G4E1iYQnKaYcyXlhpWchDiOL6/URF3toQ=; b=RVMwidu3e6YfjY+Nk/4Y9SdkUAd+f1pAZKy2qbHLSQo2OSG4bS0p4YmqNbXYjwTNrs CZz7I0teUgQNgjCYqqsA0vSdlmmJzNktvQEQ42K4I/3u3gE7rig7MkbgIfn3Q66Tbghw T+MfCg0UIVy7RkQkeD8ogJeF3GUA+m7b0/JYomm6OlPiGQSfqZxugXQwT9AekPot++1O Xuq+gubsenGlZzu8FfdBvxEjJGTo5hGSmUWXfDq8n5gxXaiEvZgds2IrPF6q1p8NV3+V RHyVG/pIGn+fyFznrPsjhGehd28NsrUcJ26El26XXD6XIgpCgF6FXoJdUq5+1mMW7Nuj dzFA== X-Forwarded-Encrypted: i=1; AJvYcCUGa6vXA9/uOChKzfQN2bi7qIWs7YQ0jTbc3UeGNXhitpTNXEE6G6QuwgQhRF0qMjPSZ6CoEB20@lists.freedesktop.org, AJvYcCVz9soxXFXKzEv5sVjvkp3cQp+l5OHOk8Yef1tJQ2YonIy62HsuY0xuazsI4bRMwZ3yFgriYz8/bZck@lists.freedesktop.org, AJvYcCWmvcE89H7+IeJkWVUhVsXmZbfOV1V86AMQTr4/hY0pk3di1w62HQlc1TjGh7jAkkBItFu9p8EDUUU+oZGIHKCUlg==@lists.freedesktop.org, AJvYcCWuIRXR6uRXofca7WOtlIzNSElFRoqcxeVKJj0xvS3kRBd52dOaA5hCNBe0r3F24YdgC7MFOyv6ulJR@lists.freedesktop.org, AJvYcCXIcs9Ka0o0G7sn6ca+EdyqOUOM5wDHg1Xh6TMKCv8lJiShePomct8BB3s803rGTDIYeCG3CmkQerGe2JEdMA==@lists.freedesktop.org X-Gm-Message-State: AOJu0YxVgUfzBKLJZtQCrXio3TYPGT+97bsHMKa05EXncEiNGVS6zQWt /fIM6AX80BwxtEcm0RutcfY8e0oqYHiEuMdEz9OaJLbhxV0BgaHC X-Gm-Gg: ASbGncuVkRo9PoZyQTO62w2tDmwRizj+oQW6/LTmyRBTN4h8yVjrBX6NtMJoCrSrMou xQ/AJNReM5U5izPGysU7YIWt88oYwM+2vGWEmDvxY8WLvwAvOcgbiprAbbtPk2/kU0WSRx5Ydsl NjSlFFjf6wwIY489pUmaTe9xSMMiPRb+9BI2HMicZHLsVKaNEQ/uySYTp5lGUO2gDbK+iSudosw eWnwfL5KQ/bj0/ZYeFHW+cA/X2Buw6ajf5NpCfFz/s/77bBHffivVq49nZWVdw7IOLY+q3zyPg7 PvrMelPMbOMa0eM6fG1CY4zAYO7n1FLGaZUD5CAQGWJp0Q/hsulvLZF9fy1rpaTGF3s6GZGNVwe xqw== X-Google-Smtp-Source: AGHT+IHZGJevvkMs4YxEUV0pCQu6gVQ//x6whWye34wVeeLCxKLW2X7NtRjdgFS2bgshHHbVSK2SGA== X-Received: by 2002:a05:6602:c8b:b0:85b:4ad2:16ef with SMTP id ca18e2360f4ac-85e2cb0e8d8mr38905139f.9.1742496785621; Thu, 20 Mar 2025 11:53:05 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:05 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 04/59] dyndbg: reword "class unknown, " to "class:_UNKNOWN_" Date: Thu, 20 Mar 2025 12:51:42 -0600 Message-ID: <20250320185238.447458-5-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" When a dyndbg classname is unknown to a kernel module (as before previous patch), the callsite is un-addressable via >control queries. The control-file displays this condition as "class unknown," currently. That spelling is sub-optimal/too-generic, so change it to "class:_UNKNOWN_" to loudly announce the erroneous situation, and to make it uniquely greppable. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- lib/dynamic_debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 5a007952f7f2..147540c57154 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -1154,7 +1154,7 @@ static int ddebug_proc_show(struct seq_file *m, void *p) if (class) seq_printf(m, " class:%s", class); else - seq_printf(m, " class unknown, _id:%d", dp->class_id); + seq_printf(m, " class:_UNKNOWN_ _id:%d", dp->class_id); } seq_putc(m, '\n'); From patchwork Thu Mar 20 18:51:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027282 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 05251C3600E for ; Mon, 24 Mar 2025 13:24:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6CAF410E366; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="TloQ0gdr"; dkim-atps=neutral Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7D27710E69B; Thu, 20 Mar 2025 18:53:07 +0000 (UTC) Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-854a682d2b6so76707739f.0; Thu, 20 Mar 2025 11:53:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496787; x=1743101587; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=F1MDFYF/EJ2a7UGqvWTU6dzs01F9Q8UeZTgbtP6X+58=; b=TloQ0gdravRCWZAJ8EWWTlANZaI+vv3K2ZAaarmAvMxvzHp5XxObFG5fjI0bUL894F TVkMr9pjcjvafcpxFChM2x4ZXDy0aD8yoPwe1l9HLNU1I53EHtaWrhQbqTDMGIuZNLWc VKw+ZSl8fTRsm5u+3OAPjeMNQodEDspebuSrYxp0vOFJVQeEE+2i2Hr2MP+HDXvObwlh 7mvwx6IZGEOfJAssleMFlvCwm7rt/ukduT2cqsR1gu5EdyUqZ0QTwfyKmjyytWiVCEbW H5TwCodiLfMr6bX5VdLkKHvplfeIXm5nXVi1+EKmJeO/zUZDsExK94vxAmtioMN+l0JR QW4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496787; x=1743101587; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=F1MDFYF/EJ2a7UGqvWTU6dzs01F9Q8UeZTgbtP6X+58=; b=Bg4rk+FcP9ZccSoS1il4pIpnbona5vG67oymg+GGOMyymkkYr/1aTKC9uyls01dJEr dzoN0yKki10OYC7/+gq1+fFB9W13ZmyqekUofMQNy/tByst6rLdnceWkChWR7h0JwmB0 QrO9u0vcwUtefMvWw2EZPLEajW/edesNGSSFtv3BejKt2AUsFQHdJ6q2haSHHguum6Kq NADxKySWgOsuyM9x0YVUW9RM+ttH8/CR0llnLB+c9lVCwvLflaChy1l+UsRJwj625FtY QgT9Y7siKThBw+nDP6cw3Vzn+BG8K8GFM63B8R/pINopTBEjLUV5JZU765azItVPMuDZ KzCQ== X-Forwarded-Encrypted: i=1; AJvYcCVFGhFmlgef7JPmxxID6Mlrjs9+VGTWa2GJO411DlVWyeyDCkLilh9NcnZHtXd9RzxK3A2i5/36Og+RSmr8UXY3zg==@lists.freedesktop.org, AJvYcCVjVlq/UpX65bnuHDsD0kv3SlmEqSGE0FsGjogVhAc4kNPVXY1CuyBFOxBymvlpTIFRuoQkW9GnnM0FjT4OCw==@lists.freedesktop.org, AJvYcCX8pTWEHELhA/DAUoay0bcn6cYMR3BZiuSoPQXuvtWei2AfZUuR0YIrhujV32GgaXUhyiEdB/1cjPeB@lists.freedesktop.org, AJvYcCXZHRG5ziUFDEVegUoJsfm7Lxl0x+NvF7mm2v0LEJto3yiBTnA0uTWpyBS0sUohsHngJ4Jmcj3r@lists.freedesktop.org, AJvYcCXuvNaJgi4Bh1uhEYDs7kNGW1A0uShFVGFC5BS3omhfSujUDtewo95kwAvQIFuGnJ2u974DQZRMEVPj@lists.freedesktop.org X-Gm-Message-State: AOJu0YxbTGbT9BzcnShxMB+ab+XgGgKnZ97fRaVYhFUs7ToaJi/yNk81 tQx6ZB0oIBhDun+HR2iSzmWq0Ywklb2B6niX6cSY9I0mImM0l72p X-Gm-Gg: ASbGncv/cdte29A+OIpZGiqOmQ4MTGf/kwAbKA0U0eTtAPv/Am1RKY0++8vJYFv7lt7 mKR6eLM0+ls34wI7lK2koUf1NhQ8O3X1jifFnzAubEcqU+buNQPJafjcHoAADprZFYsvfn+MA2x 6WwrkrJCtsIEX6P6L9kPNZB8bQtR2OM0nD5vmyuJpLLhiBA8P5uo8Sh+AG9yDgLKAuvbdhMkMY/ O2coDRzlzobhSF1LubZRvS6oP0ZjBKL3gEqYFSRJLeuowRMFmFoJhQ8qtW6M9SdGHJv3rnsN1ln I4eTmDOXVDgfDvvVlijZs7WmGW3AT3ROQpPxa7dPA+hE2s1dY3gNLM5QnkBMFFe16kQrZPY1pnE LNA== X-Google-Smtp-Source: AGHT+IH6p6JbwuEedC2NHEExWYxKZwpUK/wnyzikTQHE9duUTCvqa379yLREiYl5a1vshzn3H//0+w== X-Received: by 2002:a05:6602:750f:b0:85a:efae:2f15 with SMTP id ca18e2360f4ac-85e2ca305e5mr45152739f.1.1742496786850; Thu, 20 Mar 2025 11:53:06 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:06 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 05/59] dyndbg: make ddebug_class_param union members same size Date: Thu, 20 Mar 2025 12:51:43 -0600 Message-ID: <20250320185238.447458-6-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" struct ddebug_class_param keeps a ref to the state-storage of the param; make both class-types use the same unsigned long storage type. ISTM this is simpler and safer; it avoids an irrelevant difference, and if 2 users somehow get class-type mixed up (or refer to the wrong union member), at least they will both see the same value. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- include/linux/dynamic_debug.h | 2 +- lib/dynamic_debug.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index ff44ec346162..b9afc7731b7c 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -124,7 +124,7 @@ struct _ddebug_info { struct ddebug_class_param { union { unsigned long *bits; - unsigned int *lvl; + unsigned long *lvl; }; char flags[8]; const struct ddebug_class_map *map; diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 147540c57154..55df35df093b 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -799,7 +799,7 @@ int param_get_dyndbg_classes(char *buffer, const struct kernel_param *kp) case DD_CLASS_TYPE_LEVEL_NAMES: case DD_CLASS_TYPE_LEVEL_NUM: - return scnprintf(buffer, PAGE_SIZE, "%d\n", *dcp->lvl); + return scnprintf(buffer, PAGE_SIZE, "%ld\n", *dcp->lvl); default: return -1; } From patchwork Thu Mar 20 18:51:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027261 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 9403BC36010 for ; Mon, 24 Mar 2025 13:24:28 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E708010E345; Mon, 24 Mar 2025 13:24:22 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UI0/+tUR"; dkim-atps=neutral Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id CC72610E69B; Thu, 20 Mar 2025 18:53:08 +0000 (UTC) Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-85da5a3667bso37814639f.1; Thu, 20 Mar 2025 11:53:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496788; x=1743101588; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+AN9v4KQ0PiEc7jM3vE8QrHxAiVUi2zmd1sx7ARoRMg=; b=UI0/+tURpazc/iG1R3WN5nLc+UMPPhEwGxtjlWfKil9DFumkUeFidX7JytyocPnyq0 WGyPUqDZbWxfOOXkV2vgpD7WCeyCe9oWgrYjELZ0NGow5MK9YS6PS5gZ5VUsXeO8Adiw iF20GrSj9TwT8n6+05EgWiMsQg3NjPUF6/dszkW5G0af2YNVROklI6I1m9kwEtfSiJWk 9nhN+ruXuBkShS9Lm7KJuUm0PfCMl33vH8oUdU/FXtuAFcNt6PDO55ikn9hvOh7p3DKf sLYib//n0mEUYUfrmvrn9oyx7eC6oybom0KYW8LOirr3XQ+fE6iZiiuzh2SwFrjr3wEd 59kA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496788; x=1743101588; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+AN9v4KQ0PiEc7jM3vE8QrHxAiVUi2zmd1sx7ARoRMg=; b=c+Dn5uIPtLALjc4IszNzdurOyI7NABOzub1+YHmsVry9sBC5pIJ66BIW6zNcfNnx7v 7URSkcMt8fvyS+9NR/Oa8eoabnd4TIohxDrn78eq7i6mt4Pr1p9c7DdmlctP6+50YnZl SBKG5or7dq59b1xYXq7gCRQGtRJUKF1wdUq9zLN9Li282FgqVQpNraR4GEvz0/TNGQ/e iLTxx5GNQs3HIroZNRyBVINhSPuQnZWD4d5eZ5HrndfdC/744razzbnZOigj8yozw2pi SfPi5MktQkK54NmNfEvBAbw7fmnvwcNyg0+KXWt+6tjvKi56jiXF4zFjuhLMpvOW3kBi KJcw== X-Forwarded-Encrypted: i=1; AJvYcCUUgc0aciCmEPryYB0Uxj0xa+TnhaEUFWMiHvK7JCaqiTvwPymCukshNpIwj/5oR3/DuiY+mfBw2Cdi@lists.freedesktop.org, AJvYcCUmlZeRNuHPmrnNmBZfoYv4Y4qRC891SpH3fVRVJ7gonUd70+ouiORYEZcOhOmla921s9itlUrqUhhNtVr38/6NbQ==@lists.freedesktop.org, AJvYcCW2YwVmjcmRoyhbzLb+hdyF3GFuwGBHVUNkjRzeq8pBRiRtWVC1/HSlGjiRG5CaGpLf+r6T7E+/@lists.freedesktop.org, AJvYcCW5H6dE3OLiMm+aauK0pWsuQcGlAkd/ZTOCEroMKkNPkwQQZ5zvZiDVEcVfgodwkCaklk4tijALACjE@lists.freedesktop.org, AJvYcCX4/R8Y6bbrQw77FsDDw6neH8+okup9edYZbLw9kaJjFZRyg7/hmjPbCMT/etnz6nGd6DsnA3Bzbbm7LT9Q6w==@lists.freedesktop.org X-Gm-Message-State: AOJu0Yzh2bbUltElv+OspMxlZJ/Wk0WEshK1UxX+KPbp5W5hnmQqxZeC basBEBparicmApGVv5D3/UHEkXezL91UBsWui1fs+s96RWrd4oLE X-Gm-Gg: ASbGncuspUCzdQx/ziiWbWkQfLOVshpTkUd3IzajZZUhPoz88kNETRxTjCzTHXtOAwb PijW2wMjB78QXebej7ZDoQS/KjdXlHjoLWn4SfJAmfdB1Q/mNkMy3goJdNA8yamMVoPOiGEXpAm QatdKs/V5DopD4buivnjtn8GeKtGn6DtJ/q45i0E7M6QFfxjlHrYO+Dea2dI+DvU4k9M5bXtzat TSm8ZvmaoNeShob8J4PIt9ymhumXw5vDYCuYpv4vm9APDeQZudZmjzf9ys/LTHmUpjUIQgW4bAq N1PoqKPFryW0yUjUtrQR9mhrQef3T8dad4gihOJAlWy1u+MPBMtMwsLqGeTo1ew2nB8cl2anFFM MtQ== X-Google-Smtp-Source: AGHT+IFbrrpvBNEPH58XZa57qwfTNPaqQ6djTba1ednjlTTFGKunOgWQUFpBMAPJ96poTWt2fyLc8w== X-Received: by 2002:a05:6602:298a:b0:85c:c7f9:9a0a with SMTP id ca18e2360f4ac-85e2ca6f4e4mr41062239f.4.1742496787996; Thu, 20 Mar 2025 11:53:07 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:07 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 06/59] dyndbg: drop NUM_TYPE_ARRAY Date: Thu, 20 Mar 2025 12:51:44 -0600 Message-ID: <20250320185238.447458-7-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" ARRAY_SIZE works here, since array decl is complete. no functional change Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- include/linux/dynamic_debug.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index b9afc7731b7c..ac199293d203 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -107,11 +107,9 @@ struct ddebug_class_map { .mod_name = KBUILD_MODNAME, \ .base = _base, \ .map_type = _maptype, \ - .length = NUM_TYPE_ARGS(char*, __VA_ARGS__), \ + .length = ARRAY_SIZE(_var##_classnames), \ .class_names = _var##_classnames, \ } -#define NUM_TYPE_ARGS(eltype, ...) \ - (sizeof((eltype[]){__VA_ARGS__}) / sizeof(eltype)) /* encapsulate linker provided built-in (or module) dyndbg data */ struct _ddebug_info { From patchwork Thu Mar 20 18:51:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027264 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 163E8C3600D for ; Mon, 24 Mar 2025 13:24:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 13AB010E347; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dioI6pKF"; dkim-atps=neutral Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id 38D8F10E6A2; Thu, 20 Mar 2025 18:53:10 +0000 (UTC) Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-85e1b1f08a5so33924439f.2; Thu, 20 Mar 2025 11:53:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496789; x=1743101589; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0gFevukveSt7PbWkbUevQGA0uvSXu+LT7vaKBaZctmY=; b=dioI6pKF3ytNAjvQtFUqAVJcp82MFVLutTR8lMwT3pmcczpd5M+IDhrMjS3o+Fduru maop7CVyRuZRkghc6NszMYiHAeyKVzRSn8R3YRdkZzYzZ85h04MRPoOdWNUO3jDRUgGX 26Kox6h3/53SFZ48RR71is2UN1QqcMYzGfHbY1+IKVFFYwty1qPnYzkAwjLIqr2Qs9LI mTKrjZUNE+UOsh6a1Layr2qUYoLBk9K3/g3y2hLdEMoW9vR/ELrLeAFB/mMLsGIZw4rx Shx3b8kz1fbXD/jXnhpdodhTdYSBHvL7avpim+EUOUkFZd8bSSsR1YSAtxVMtHC38zyY Cq9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496789; x=1743101589; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0gFevukveSt7PbWkbUevQGA0uvSXu+LT7vaKBaZctmY=; b=Fe1y3yxlNiHobMbX1XyICjqfr+nyXOwBkXWx3gpSOPYuaarYY6Z+McR167+8BquXV0 8aeSo9ACBchirlLMySeqH2yitg/Oe4E4XYXN/tI8eaT3tpZkD/M8JkksxVtwcGSfs5gu BBtvHZRP4uc7oLhdQm1XRvOCY0EQn910yoAXSRZeEZHv/S6KIijUTqsufELrtBZIxcUO WNbmgfxj7s90u0FxS0eoEnSsXNn19v57LWK5w5DXNfG+Ey8ta6e0GuUYBDRWr6bIBoay d5wGezDHCTQSf5c5Muq2EGXKNjt1K4jxEaa9gadzpPSto21/+N3Z2vwzB7ObflbWYd5T PWBA== X-Forwarded-Encrypted: i=1; AJvYcCVfIDkNbKU/FNHYNL2OjY9YIo734SrhkoJIFQBY/io5F//vxsnG5dRMrHKKrhANdZQ2blY27nAaCgSL+oI6O4ZmIQ==@lists.freedesktop.org, AJvYcCWM+ojWVVvPqLU8+JXqhWn9tZSVtgXoozbl75zw2hXd832WUibmJ95poFPpWgjJBygPlHF7c2fw@lists.freedesktop.org, AJvYcCXTSMyPnZe/KF0dnD1hlpXnGxqg9y3NIeFmWziqxHQdXr3PEpcrmlJ2SpZ2EQzQsgtjmmo8zHYYBKVV@lists.freedesktop.org, AJvYcCXeZKuj34BnKOFOmfL26OEmYtokyIRbtmykVwvI1TWJ9PdGKcK5ROoL29XCuyfNL2Z/V4xu1cwFPZdFIpnaBg==@lists.freedesktop.org, AJvYcCXwH56X0iSg7zgPgo0wM+JR9xPXsGznxsjmCmploe1+89XNTSCyzXrQIFyYwWkQzE0QxVybKbZV5z3I@lists.freedesktop.org X-Gm-Message-State: AOJu0YyMkxgBy4JAsXxcAYZp34xLRfZNhrMQYiIwBQv/G9uttbSnvbsr UuMs1oTgEqUt+Ja63ae02wlr/opFcs8At/WaQzPNiU+rAqkin9E4 X-Gm-Gg: ASbGncsd1EFh1GIj/Z/iDxG6aiQ5h+C7PohJACMv7cdVA/sIiuJw8IoCN/uvG3pD+QF XNtcDDcAC+/Pb2tH6mCvP6iI82+hGAL/TCxyH9hOXNV+tpdajflWMUaQyIiahn384YPf/+rPwDj 4hH+jNLsOdayK1VAlJgzIBEXeeYe3K6UiKDIXD9y64CPjrqNV8PP9XCp1J6j9T46LO2gRylWcnK A+tWFWGph4JmpgeN4z8oKB21aD2VGyBFZ/McTwekxmCnBF9jaZELdeEa/CcSlB1sTCTb4tmtJot D9gOi8uoQiU8skbwXo6a3qlAsuttHyoLYRphYscBquJWe205jO0ZkHnnouTY6sTdE2znc4GaRkn qeA== X-Google-Smtp-Source: AGHT+IEl5TzbnKxAjaqmsC8k+Jv8OPkwqppFAxXArvgR0WfDE036J6MPxh1ZsMPTCMeE31lygTHh/Q== X-Received: by 2002:a05:6602:3787:b0:85e:180d:7c97 with SMTP id ca18e2360f4ac-85e2c8f0cb8mr51954339f.0.1742496789264; Thu, 20 Mar 2025 11:53:09 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:08 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 07/59] dyndbg: reduce verbose/debug clutter Date: Thu, 20 Mar 2025 12:51:45 -0600 Message-ID: <20250320185238.447458-8-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" currently, for verbose=3, these are logged (blank lines for clarity): dyndbg: query 0: "class DRM_UT_CORE +p" mod:* dyndbg: split into words: "class" "DRM_UT_CORE" "+p" dyndbg: op='+' dyndbg: flags=0x1 dyndbg: *flagsp=0x1 *maskp=0xffffffff dyndbg: parsed: func="" file="" module="" format="" lineno=0-0 class=... dyndbg: no matches for query dyndbg: no-match: func="" file="" module="" format="" lineno=0-0 class=... dyndbg: processed 1 queries, with 0 matches, 0 errs That is excessive, so this patch: - shrinks 3 lines of 2nd stanza to single line - drops 1st 2 lines of 3rd stanza 3rd line is like 1st, with result, not procedure. 2nd line is just status, retold in 4th, with more info. New output: dyndbg: query 0: "class DRM_UT_CORE +p" mod:* dyndbg: split into words: "class" "DRM_UT_CORE" "+p" dyndbg: op='+' flags=0x1 *flagsp=0x1 *maskp=0xffffffff dyndbg: no-match: func="" file="" module="" format="" lineno=0-0 class=... dyndbg: processed 1 queries, with 0 matches, 0 errs Also reduce verbose=3 messages in ddebug_add_module When modprobing a module, dyndbg currently logs/says "add-module", and then "skipping" if the module has no prdbgs. Instead just check 1st and return quietly. no functional change Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- -v2 squash several verbose cleanups together --- lib/dynamic_debug.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 55df35df093b..c609ff873224 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -264,9 +264,6 @@ static int ddebug_change(const struct ddebug_query *query, } mutex_unlock(&ddebug_lock); - if (!nfound && verbose) - pr_info("no matches for query\n"); - return nfound; } @@ -499,7 +496,6 @@ static int ddebug_parse_flags(const char *str, struct flag_settings *modifiers) pr_err("bad flag-op %c, at start of %s\n", *str, str); return -EINVAL; } - v3pr_info("op='%c'\n", op); for (; *str ; ++str) { for (i = ARRAY_SIZE(opt_array) - 1; i >= 0; i--) { @@ -513,7 +509,6 @@ static int ddebug_parse_flags(const char *str, struct flag_settings *modifiers) return -EINVAL; } } - v3pr_info("flags=0x%x\n", modifiers->flags); /* calculate final flags, mask based upon op */ switch (op) { @@ -529,7 +524,7 @@ static int ddebug_parse_flags(const char *str, struct flag_settings *modifiers) modifiers->flags = 0; break; } - v3pr_info("*flagsp=0x%x *maskp=0x%x\n", modifiers->flags, modifiers->mask); + v3pr_info("op='%c' flags=0x%x maskp=0x%x\n", op, modifiers->flags, modifiers->mask); return 0; } @@ -539,7 +534,7 @@ static int ddebug_exec_query(char *query_string, const char *modname) struct flag_settings modifiers = {}; struct ddebug_query query = {}; #define MAXWORDS 9 - int nwords, nfound; + int nwords; char *words[MAXWORDS]; nwords = ddebug_tokenize(query_string, words, MAXWORDS); @@ -557,10 +552,7 @@ static int ddebug_exec_query(char *query_string, const char *modname) return -EINVAL; } /* actually go and implement the change */ - nfound = ddebug_change(&query, &modifiers); - vpr_info_dq(&query, nfound ? "applied" : "no-match"); - - return nfound; + return ddebug_change(&query, &modifiers); } /* handle multiple queries in query string, continue on error, return @@ -1234,11 +1226,10 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) { struct ddebug_table *dt; - v3pr_info("add-module: %s.%d sites\n", modname, di->num_descs); - if (!di->num_descs) { - v3pr_info(" skip %s\n", modname); + if (!di->num_descs) return 0; - } + + v3pr_info("add-module: %s %d sites\n", modname, di->num_descs); dt = kzalloc(sizeof(*dt), GFP_KERNEL); if (dt == NULL) { From patchwork Thu Mar 20 18:51:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027315 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 E9E2DC3600D for ; Mon, 24 Mar 2025 13:25:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4BB9C10E3E3; Mon, 24 Mar 2025 13:25:47 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="kxcUhE4K"; dkim-atps=neutral Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 43DDD10E697; Thu, 20 Mar 2025 18:53:11 +0000 (UTC) Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-85b5e49615aso98786939f.1; Thu, 20 Mar 2025 11:53:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496790; x=1743101590; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=u2HtmGhNDb2dhJFTvWNt0DX2Cb95hP6h9cGXGSWFAjo=; b=kxcUhE4KFQIfS3LabCZQTIRDUcL8x6GvpybDynDS4HJ2nOmjm2DMrVDnIx1Jxqb7Nr y+n//FTqQGtvx6vTTirrfoZTCBaDMCXIjqMxmr2jAhyP/YDja1jdz9fEH6OC/dzanU+q 2pWU3U4uqqfz1Iu2WnbpxcEddn/+PkPaOLa0uEC0R3BaNEsuWBvrRFAzXaLd5rDs0Ckp d75wmIMkonIjaaFdaqQi5LK72GT3bs0FZhUK0qZp/tZMfKJjCysbcHX3TeYw44JpCFz4 KGzrpN5J+MRNbss6cQKen79jAzVTa6WxqenzGahkxXscQPzOWef9qtq7xoY6YLTlisBW ZnRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496790; x=1743101590; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=u2HtmGhNDb2dhJFTvWNt0DX2Cb95hP6h9cGXGSWFAjo=; b=FAo877/yN6kzlY2peJ/FTL6lF5VYh27F2ka5/SK2a1CXiWx1A4Q59HH4PYsJt/Fi5b KppRp0wc2W2/10BdFRAv9yDW7myfL4Ij2LwATC7OlI4wdR1+ydtOWrCX/CZMDwCbmD5z oEGi+l79E6+qhXWqM6fDG8HUDE66cv92bbdRH2nqfgKTjGD25xRgXGCKowcl1rfhaM4Q RQsYF6FkrmXBY9O4xYeJ15fotoMSOY5rdr7C7xkeniOqS634IHYK7Wobkj10wZdWgqKx yNIvrNHpfKl/JT6PuK2dFx/ZGFonrALFa8oCsaR6jEadi0cy7LDRbWvjE2vEG8dz8ghl DPcg== X-Forwarded-Encrypted: i=1; AJvYcCUA2/EZrzP6zN0QjAILsaSTX82kyReIxX/JkmsdaYy1AT7WFpfLyf6OhJMtPbM3wjXEFcNPNEt81LkN@lists.freedesktop.org, AJvYcCVeDXU+rGuDBayGw8KuHx6DFODHOo699FcAf25+U9IQcrizV9FmWTnv9ashvX2exxJ1V0SBIyirNnSU@lists.freedesktop.org, AJvYcCVxRNYMdlpxvWXTUAc2i1GbyYN/CawD8JFK7s7SQ0ngZDU0gwkoMtjxUFD54Sj0rYb65+3hgw07ZxocUgYWsQ==@lists.freedesktop.org, AJvYcCW2sgfDc9GDc43sYbmfs+NxeKCpWOLy6QzpjG7p8bUDC8cAUqOqzMgaqspTn6/TbdUdaoe62iZvGXQPJtT/yzOaqw==@lists.freedesktop.org, AJvYcCXynmhxGX9xgRjn2OLpd4Ia06nfDnJwZ3Hr1b/yj0HFyEB9kczeh3rfhUC3WbtnJ4a2wnDaJyvB@lists.freedesktop.org X-Gm-Message-State: AOJu0Yy/WaJm6T2G+Jw7bBDXL2KHd4X/HwKD8kMjbi8PiKNJhKsqWnwV qws1V0bcPPSt3sXjVXDEtzfeGzufqsbboc0K4rUc+xSDITcUYlJL X-Gm-Gg: ASbGncuRKzwV3+bkM9BG7Oa4S9Gz0uZw5fMCdJ104EZN/l9Nv/12IBOVOKUXlBH+Cra v+C/VYQldxILKScJ2rKWArwLo1rF86uX+Wf5ISdx+AGk5uPSmKHpmap09RDNkxEZTOq84wcGOBa q/YZ7QOSHf4efbnYvsHuz/5E6lUQLaTZHrgPOXSrhYNIriIOiLVVyBSrcYCq9v/O/H2HhNQHyvZ Npe+he97Dd/fc8q4umFlm4RHWoTGwNbrgWqhseIgKV9bFZTbz7qM4SJ/ktC2p+4gLuvXGo4NNM6 bX2ZwLJTdZJeVTTPQXJI/ZYXJOXr5OPqzqkHYDNGkXHe48qsXJxQAM7pXR9R0wm8RTn5MLYWuWv ehQ== X-Google-Smtp-Source: AGHT+IHFmzaE8OjiXBilCCpn8tJrXh3VWK7hgJl2zF7aDNWxvGFoPJOxkzRXw9OGMWWU4yVFOqB6iQ== X-Received: by 2002:a05:6602:3786:b0:85b:5869:b5b with SMTP id ca18e2360f4ac-85e2ca899f5mr52484239f.6.1742496790456; Thu, 20 Mar 2025 11:53:10 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:10 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 08/59] dyndbg: refactor param_set_dyndbg_classes and below Date: Thu, 20 Mar 2025 12:51:46 -0600 Message-ID: <20250320185238.447458-9-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Refactor callchain below param_set_dyndbg_classes(1) to allow mod-name specific settings. Split (1) into upper/lower fns, adding modname param to lower, and passing NULL in from upper. Below that, add the same param to ddebug_apply_class_bitmap(), and pass it thru to _ddebug_queries(), replacing NULL with the param. This allows the callchain to update the classmap in just one module, vs just all as currently done. While the sysfs param is unlikely to ever update just one module, the callchain will be used for modprobe handling, which should update only that just-probed module. In ddebug_apply_class_bitmap(), also check for actual changes to the bits before announcing them, to declutter logs. No functional change. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- --- lib/dynamic_debug.c | 65 ++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index c609ff873224..4b001309bb6a 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -593,9 +593,10 @@ static int ddebug_exec_queries(char *query, const char *modname) return nfound; } -/* apply a new bitmap to the sys-knob's current bit-state */ +/* apply a new class-param setting */ static int ddebug_apply_class_bitmap(const struct ddebug_class_param *dcp, - unsigned long *new_bits, unsigned long *old_bits) + unsigned long *new_bits, unsigned long *old_bits, + const char *query_modname) { #define QUERY_SIZE 128 char query[QUERY_SIZE]; @@ -603,7 +604,9 @@ static int ddebug_apply_class_bitmap(const struct ddebug_class_param *dcp, int matches = 0; int bi, ct; - v2pr_info("apply: 0x%lx to: 0x%lx\n", *new_bits, *old_bits); + if (*new_bits != *old_bits) + v2pr_info("apply bitmap: 0x%lx to: 0x%lx for %s\n", *new_bits, + *old_bits, query_modname ?: "'*'"); for (bi = 0; bi < map->length; bi++) { if (test_bit(bi, new_bits) == test_bit(bi, old_bits)) @@ -612,12 +615,16 @@ static int ddebug_apply_class_bitmap(const struct ddebug_class_param *dcp, snprintf(query, QUERY_SIZE, "class %s %c%s", map->class_names[bi], test_bit(bi, new_bits) ? '+' : '-', dcp->flags); - ct = ddebug_exec_queries(query, NULL); + ct = ddebug_exec_queries(query, query_modname); matches += ct; v2pr_info("bit_%d: %d matches on class: %s -> 0x%lx\n", bi, ct, map->class_names[bi], *new_bits); } + if (*new_bits != *old_bits) + v2pr_info("applied bitmap: 0x%lx to: 0x%lx for %s\n", *new_bits, + *old_bits, query_modname ?: "'*'"); + return matches; } @@ -672,7 +679,7 @@ static int param_set_dyndbg_classnames(const char *instr, const struct kernel_pa continue; } curr_bits ^= BIT(cls_id); - totct += ddebug_apply_class_bitmap(dcp, &curr_bits, dcp->bits); + totct += ddebug_apply_class_bitmap(dcp, &curr_bits, dcp->bits, NULL); *dcp->bits = curr_bits; v2pr_info("%s: changed bit %d:%s\n", KP_NAME(kp), cls_id, map->class_names[cls_id]); @@ -682,7 +689,7 @@ static int param_set_dyndbg_classnames(const char *instr, const struct kernel_pa old_bits = CLASSMAP_BITMASK(*dcp->lvl); curr_bits = CLASSMAP_BITMASK(cls_id + (wanted ? 1 : 0 )); - totct += ddebug_apply_class_bitmap(dcp, &curr_bits, &old_bits); + totct += ddebug_apply_class_bitmap(dcp, &curr_bits, &old_bits, NULL); *dcp->lvl = (cls_id + (wanted ? 1 : 0)); v2pr_info("%s: changed bit-%d: \"%s\" %lx->%lx\n", KP_NAME(kp), cls_id, map->class_names[cls_id], old_bits, curr_bits); @@ -696,18 +703,9 @@ static int param_set_dyndbg_classnames(const char *instr, const struct kernel_pa return 0; } -/** - * param_set_dyndbg_classes - class FOO >control - * @instr: string echo>d to sysfs, input depends on map_type - * @kp: kp->arg has state: bits/lvl, map, map_type - * - * Enable/disable prdbgs by their class, as given in the arguments to - * DECLARE_DYNDBG_CLASSMAP. For LEVEL map-types, enforce relative - * levels by bitpos. - * - * Returns: 0 or <0 if error. - */ -int param_set_dyndbg_classes(const char *instr, const struct kernel_param *kp) +static int param_set_dyndbg_module_classes(const char *instr, + const struct kernel_param *kp, + const char *modnm) { const struct ddebug_class_param *dcp = kp->arg; const struct ddebug_class_map *map = dcp->map; @@ -744,8 +742,8 @@ int param_set_dyndbg_classes(const char *instr, const struct kernel_param *kp) KP_NAME(kp), inrep, CLASSMAP_BITMASK(map->length)); inrep &= CLASSMAP_BITMASK(map->length); } - v2pr_info("bits:%lx > %s\n", inrep, KP_NAME(kp)); - totct += ddebug_apply_class_bitmap(dcp, &inrep, dcp->bits); + v2pr_info("bits:0x%lx > %s.%s\n", inrep, modnm ?: "*", KP_NAME(kp)); + totct += ddebug_apply_class_bitmap(dcp, &inrep, dcp->bits, modnm); *dcp->bits = inrep; break; case DD_CLASS_TYPE_LEVEL_NUM: @@ -758,7 +756,7 @@ int param_set_dyndbg_classes(const char *instr, const struct kernel_param *kp) old_bits = CLASSMAP_BITMASK(*dcp->lvl); new_bits = CLASSMAP_BITMASK(inrep); v2pr_info("lvl:%ld bits:0x%lx > %s\n", inrep, new_bits, KP_NAME(kp)); - totct += ddebug_apply_class_bitmap(dcp, &new_bits, &old_bits); + totct += ddebug_apply_class_bitmap(dcp, &new_bits, &old_bits, modnm); *dcp->lvl = inrep; break; default: @@ -767,16 +765,33 @@ int param_set_dyndbg_classes(const char *instr, const struct kernel_param *kp) vpr_info("%s: total matches: %d\n", KP_NAME(kp), totct); return 0; } + +/** + * param_set_dyndbg_classes - classmap kparam setter + * @instr: string echo>d to sysfs, input depends on map_type + * @kp: kp->arg has state: bits/lvl, map, map_type + * + * enable/disable all class'd pr_debugs in the classmap. For LEVEL + * map-types, enforce * relative levels by bitpos. + * + * Returns: 0 or <0 if error. + */ +int param_set_dyndbg_classes(const char *instr, const struct kernel_param *kp) +{ + return param_set_dyndbg_module_classes(instr, kp, NULL); +} EXPORT_SYMBOL(param_set_dyndbg_classes); /** - * param_get_dyndbg_classes - classes reader + * param_get_dyndbg_classes - classmap kparam getter * @buffer: string description of controlled bits -> classes * @kp: kp->arg has state: bits, map * - * Reads last written state, underlying prdbg state may have been - * altered by direct >control. Displays 0x for DISJOINT, 0-N for - * LEVEL Returns: #chars written or <0 on error + * Reads last written state, underlying pr_debug states may have been + * altered by direct >control. Displays 0x for DISJOINT classmap + * types, 0-N for LEVEL types. + * + * Returns: ct of chars written or <0 on error */ int param_get_dyndbg_classes(char *buffer, const struct kernel_param *kp) { From patchwork Thu Mar 20 18:51:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027294 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 EDF63C3601A for ; Mon, 24 Mar 2025 13:24:41 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B16B510E3A9; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FW4+qqHP"; dkim-atps=neutral Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 88FFD10E698; Thu, 20 Mar 2025 18:53:12 +0000 (UTC) Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85b43b60b6bso41386639f.0; Thu, 20 Mar 2025 11:53:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496792; x=1743101592; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hTvJV6QS5TSCdXLFqdRdaWDLgeOVU3a+oqnRdZ34+Qg=; b=FW4+qqHPRW2ggQcQ57ukRpLXzAmEgx560MjpoMTR7hl+beivKZDCsU+Z1g4hJSLVlq 1GJA6GdakbdkCOhaEmGq/XzavnHCAiL9KmgJDenKaCNcMNyB/MU8zV50A+wk6WqQ0qEi dum0zLqhLqVGbEaES+XOGf2gfDhOEeSSVBmN+BPCGKDPR3llC7osH0tnR022PlS4kgy5 oO+rFK9n86jQkIhCMZRWAnlVr7lAYcs0MttBHPaWAM1cBGa4WabZToFCbdoNz/f82teV jvPiYDlyv1kZ9dAwE/EkJeOPpZMvlIbwAM1zuuvfiQ9BVaDYHu8v+ofjiK+SkQkhpNbl g46Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496792; x=1743101592; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hTvJV6QS5TSCdXLFqdRdaWDLgeOVU3a+oqnRdZ34+Qg=; b=BanBhRP6gwox/3U5Kn0lK5NwpYAvpRQvA51kHC/wDYF0492x/gDjaFrRlmEk4opov3 izyUh+Nrp4cEOaWB16GCWM0LmKCTsbyjQ+6NrwAWMvGmF/FmPG83n6xFDnOuKI5VEbpP OE+cqb0ktz43TLRTFLXelpYXzrCY6gJPi4mTYJLQ2M3gstPih03QGkQbfNN7KcpIAUOX 6Z3y1bU4faNVE+nlbDA/8QXJfOXPiSifA06OCOrtu5Vuk75Shp3ALhizHwDO9EJm/Cqa DDUP0Imi2YX2prTPAnUacPvHpra1PG2NT1/dayu0cDovCnZ2BFqCJqgJOA6hFjxxQRCD L6nw== X-Forwarded-Encrypted: i=1; AJvYcCUJsOCzjSBVd9l0Z4C3QCgOVIdQyv0x22iPPJfGNpSBIQcw0bNWhIf6PlytS43KdERwugmHNN0m@lists.freedesktop.org, AJvYcCWBolmzwO4iLGfpQBjTE2cjF4n3n3SRi2jUCQDd/5QkkRoWLO0D1EEoRBIMBsbv63UT2LTmXnEdz9gU@lists.freedesktop.org, AJvYcCWSLB4X/dy4XJ9YMyXBqW0hS09zQL2KP74unSXT6dnyyHtkgLJ3ZoQvP30DLZRwoo9GVecps0RtEH1pGNqdeQ==@lists.freedesktop.org, AJvYcCXXvOUq2U6eTkTuQfjqQ6V5KfrRFbS9wFS9Kdr4cAnMh8lRaNsTkUap15xIqgB/jrO8mt7YNzIQA2Kf@lists.freedesktop.org, AJvYcCXhEtPcuv2/sFOTgD7ZPynl86z77CkL1K8tsLGkeuUfw86ftjJBvlli8280faYIWpdVxuZH+o6d1L1PWHB2dyJIgA==@lists.freedesktop.org X-Gm-Message-State: AOJu0YwJ4rHQsP6AI8il1lRXZSXN9Gt4qM7NCjErgdD1BJThPhqVxqUK Lhtm/6odo8297b7xZca8+RRViLUdV2rNkKdrfYriaajrbg/A8fWn X-Gm-Gg: ASbGncvNuDN8j0gT5hOSWXxUUQzpJkw2u1XG52BEWMhxoWqnw04P/tW/Ubzc4xSmUom S6WRdL9Onz9E7OcWCYV5MvF+nEb4glbgRc/K+WIYBMxywC3JInuioIBqfs5Eh48bq19EVX8zoYJ IpV8P4Y3GyYxTSvkFkvyphU7N0CkDX7k7z/lZy0nOzl2Q8SQGjB2JvP1+NifpqIl/2T6g/REtaU rvsyKHaIPyAgZGZbTfgw7oHgxyO5pnSrD8CQ1L89cildee9cLEvShzTvc3uVYPqa0CKEI91XskS nUw7IJqKoZu4F/tNV3eCbfKmj8HMac7oUsGloOf2TPvODqa4sOkqgNiInlgxu6mKATm/eEYhQBT NuQ== X-Google-Smtp-Source: AGHT+IFTm9Zlgpvi08G4P5p/+bcibqVl4sDZN0j3q0oWcNr2hmLwfea3pde9nvTR9c8Y2yKOoouONg== X-Received: by 2002:a05:6602:3a13:b0:85b:4d78:cfe7 with SMTP id ca18e2360f4ac-85e2bec5c71mr92422239f.4.1742496791700; Thu, 20 Mar 2025 11:53:11 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:11 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 09/59] dyndbg: tighten fn-sig of ddebug_apply_class_bitmap Date: Thu, 20 Mar 2025 12:51:47 -0600 Message-ID: <20250320185238.447458-10-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" old_bits arg is currently a pointer to the input bits, but this could allow inadvertent changes to the input by the fn. Disallow this. And constify new_bits while here. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- lib/dynamic_debug.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 4b001309bb6a..dd7320b9616d 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -595,7 +595,8 @@ static int ddebug_exec_queries(char *query, const char *modname) /* apply a new class-param setting */ static int ddebug_apply_class_bitmap(const struct ddebug_class_param *dcp, - unsigned long *new_bits, unsigned long *old_bits, + const unsigned long *new_bits, + const unsigned long old_bits, const char *query_modname) { #define QUERY_SIZE 128 @@ -604,12 +605,12 @@ static int ddebug_apply_class_bitmap(const struct ddebug_class_param *dcp, int matches = 0; int bi, ct; - if (*new_bits != *old_bits) + if (*new_bits != old_bits) v2pr_info("apply bitmap: 0x%lx to: 0x%lx for %s\n", *new_bits, - *old_bits, query_modname ?: "'*'"); + old_bits, query_modname ?: "'*'"); for (bi = 0; bi < map->length; bi++) { - if (test_bit(bi, new_bits) == test_bit(bi, old_bits)) + if (test_bit(bi, new_bits) == test_bit(bi, &old_bits)) continue; snprintf(query, QUERY_SIZE, "class %s %c%s", map->class_names[bi], @@ -621,9 +622,9 @@ static int ddebug_apply_class_bitmap(const struct ddebug_class_param *dcp, v2pr_info("bit_%d: %d matches on class: %s -> 0x%lx\n", bi, ct, map->class_names[bi], *new_bits); } - if (*new_bits != *old_bits) + if (*new_bits != old_bits) v2pr_info("applied bitmap: 0x%lx to: 0x%lx for %s\n", *new_bits, - *old_bits, query_modname ?: "'*'"); + old_bits, query_modname ?: "'*'"); return matches; } @@ -679,7 +680,7 @@ static int param_set_dyndbg_classnames(const char *instr, const struct kernel_pa continue; } curr_bits ^= BIT(cls_id); - totct += ddebug_apply_class_bitmap(dcp, &curr_bits, dcp->bits, NULL); + totct += ddebug_apply_class_bitmap(dcp, &curr_bits, *dcp->bits, NULL); *dcp->bits = curr_bits; v2pr_info("%s: changed bit %d:%s\n", KP_NAME(kp), cls_id, map->class_names[cls_id]); @@ -689,7 +690,7 @@ static int param_set_dyndbg_classnames(const char *instr, const struct kernel_pa old_bits = CLASSMAP_BITMASK(*dcp->lvl); curr_bits = CLASSMAP_BITMASK(cls_id + (wanted ? 1 : 0 )); - totct += ddebug_apply_class_bitmap(dcp, &curr_bits, &old_bits, NULL); + totct += ddebug_apply_class_bitmap(dcp, &curr_bits, old_bits, NULL); *dcp->lvl = (cls_id + (wanted ? 1 : 0)); v2pr_info("%s: changed bit-%d: \"%s\" %lx->%lx\n", KP_NAME(kp), cls_id, map->class_names[cls_id], old_bits, curr_bits); @@ -743,7 +744,7 @@ static int param_set_dyndbg_module_classes(const char *instr, inrep &= CLASSMAP_BITMASK(map->length); } v2pr_info("bits:0x%lx > %s.%s\n", inrep, modnm ?: "*", KP_NAME(kp)); - totct += ddebug_apply_class_bitmap(dcp, &inrep, dcp->bits, modnm); + totct += ddebug_apply_class_bitmap(dcp, &inrep, *dcp->bits, modnm); *dcp->bits = inrep; break; case DD_CLASS_TYPE_LEVEL_NUM: @@ -756,7 +757,7 @@ static int param_set_dyndbg_module_classes(const char *instr, old_bits = CLASSMAP_BITMASK(*dcp->lvl); new_bits = CLASSMAP_BITMASK(inrep); v2pr_info("lvl:%ld bits:0x%lx > %s\n", inrep, new_bits, KP_NAME(kp)); - totct += ddebug_apply_class_bitmap(dcp, &new_bits, &old_bits, modnm); + totct += ddebug_apply_class_bitmap(dcp, &new_bits, old_bits, modnm); *dcp->lvl = inrep; break; default: From patchwork Thu Mar 20 18:51:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027299 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 B04CEC3601C for ; Mon, 24 Mar 2025 13:24:44 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B106510E3CC; Mon, 24 Mar 2025 13:24:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="iRE2N8+/"; dkim-atps=neutral Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B9D310E6A9; Thu, 20 Mar 2025 18:53:14 +0000 (UTC) Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85b4277d0fbso49340939f.0; Thu, 20 Mar 2025 11:53:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496793; x=1743101593; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=w+F+GnadhvpI9NV2I8vagHLeGPOa3WWFte+bwa7InHw=; b=iRE2N8+/pFoDysmMnBsXQE495PzZR9fyvRINvNEMAbqrsKBdjrdeBhllAy3t4Ik6yf 1JbSI22ZJxEiJMS47i/rayrQq0dNGJhjBYUHw9ETXS0YNYBAE3qxtaOU9Hmg1UzgMkDS eJCqxemM7nf3YVkCf5RA3h6LV3WUzQXVNkj06d9OwE46X8RbeRTQ7kTB0qbCobOvhM+1 Ig21294g6w/NZVKvwojI7kdAYVwKe5vHSGSWXnwJxtkgZzOzQBZURLHVx/SsPlJh8pOR NZgcybuX3VmRIDjGENb+Pf/xrQ6Ozmg+ZdrE7c182RaZETvP+z191/wjNGONucdKWPoF ncDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496793; x=1743101593; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=w+F+GnadhvpI9NV2I8vagHLeGPOa3WWFte+bwa7InHw=; b=rRVLVT0G5khBCfMnErbAL2XB5YlNKTRCTzEeTdsKaYbPuOReD/hFIcwFlX4UZMOzc6 XSs+Pi/jsykV4ZwWmji9l2bymTkNH9PD7lr1IVeDxb30VaQIuTr8Xaxy46SeeKumCnvr 4CtSjsMq5U2A/JLLcV6nO4nXFVdjJL9hPRqzQx0bMFOs8EzYCJ01zvIwtL4MJNYPE4dg mCXsWRzE+Uzanvb9/xajQln+lFk17ZMUU7SfFWYPQ9To3Vj5mWQuXUuEtE0bXE4b93vY EEXMnnYA1Wr637AYNROXOBi3JFLVFnkOrF8/nAdV+PFPh8274xim0GehEGZxnrhyL6yW zXSQ== X-Forwarded-Encrypted: i=1; AJvYcCU3+asQsGXrzZ8PcWq0qW6UmAezgNc8IXi1zSESQW1qal3y86ZawA1LEUzFOSEm8AurXr+ZWh3TelCBl8soOq5NIw==@lists.freedesktop.org, AJvYcCUaovmo7oqdIg4cXiIP4Mwpbn4hmx+sEfxwqrW66GYwIVl9ZW2PlsrBG3oMy5tM2H2WtUL3W4YF@lists.freedesktop.org, AJvYcCW4IHTmRqY8BVnm8C+FD1GECqYMsbxQ4eQM3bwQsNoJFLJE1KLrrS072ABjEXe1C4PN+4Kh5ueRHss9zsfquw==@lists.freedesktop.org, AJvYcCWYTH7ciz2KH+DgziIrB983BFJIMPwmVMf3vyHPFf6hF5vfPcETkpBJnqwMAgi5Apm6WRpAppTt4qoQ@lists.freedesktop.org, AJvYcCXmDbc9DrmX7VoiJrcsA/fq7Q3tK7cYVm7DzrTkCPX4e6t1bTjM08GxS4b8UGWRWb9k8N7XPArMVtuy@lists.freedesktop.org X-Gm-Message-State: AOJu0YwyFii0wiUXw+CJ+nt6lSb54pRmID2mhL5xGDMUCRROP9+uFxvI BVmwCWHAFLq+T4O1Tm1tLgYArRj6sZHmJcU0U6lyoVttLmVfsSlt X-Gm-Gg: ASbGncsJ362oEN/jS3nPnM6Rn43ZFRboSQzLhbFHXqgU24Ofuqw0/cptSv+QfzldvSx Hi5Z/fPerSTjMCj63YLr/dEhsRdXsZbO8rgWSwakpV8zrLdTOS36fVsBPhNO0uFGp/ZVEU+EPyw fp5hZcmEDJy4fZxitaqsjULFc0fsr6NJgQOS40LLIXxb65bekgN+KRnoAC/O/woWPNvQ89PgCtf kVqdTSTM2N4y847Wq7hPr1aFrlGcxjmcNQuTNetyoGAIpubrkNK/WFWlmoCU07yVDnCmIm7+9Dz tNYDEE+GrF2mWIbBkynycgbBejDJrFv3OZYvCqB+2vPD3orFkNuiTA5dDC+LL0G3uFYqqNeSL+H VBA== X-Google-Smtp-Source: AGHT+IGnG99MvFBv0aeAcenkC/9JJPmAdrK6Gv1t2I88hEhHRTs25Tm6iR+r0LaSw7twnnyVIIXtkg== X-Received: by 2002:a05:6602:6cc6:b0:85e:21bd:8a00 with SMTP id ca18e2360f4ac-85e2ca8065dmr45249339f.8.1742496793240; Thu, 20 Mar 2025 11:53:13 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:12 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 10/59] dyndbg: replace classmap list with a vector Date: Thu, 20 Mar 2025 12:51:48 -0600 Message-ID: <20250320185238.447458-11-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Classmaps are stored in an elf section/array, but currently are individually list-linked onto dyndbg's per-module ddebug_table for operation. This is unnecessary. Just like dyndbg's descriptors, classes are packed in compile order; so even with many builtin modules employing multiple classmaps, each modules' maps are packed contiguously, and can be treated as a array-start-address & array-length. So this drops the whole list building operation done in ddebug_attach_module_classes(), and removes the list-head members. The "select-by-modname" condition is reused to find the start,end of the subrange. NOTE: This "filter-by-modname" on classmaps should really be done in ddebug_add_module(1); ie at least one step closer to ddebug_init(2), which already splits up pr-debug descriptors into subranges by modname, then calls (1) on each. (2) knows nothing of classmaps currently, and doesn't need to. For now, just add comment. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- include/linux/dynamic_debug.h | 1 - lib/dynamic_debug.c | 61 ++++++++++++++++++----------------- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index ac199293d203..e458d4b838ac 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -83,7 +83,6 @@ enum class_map_type { }; struct ddebug_class_map { - struct list_head link; struct module *mod; const char *mod_name; /* needed for builtins */ const char **class_names; diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index dd7320b9616d..d5572712ce55 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -45,10 +45,11 @@ extern struct ddebug_class_map __start___dyndbg_classes[]; extern struct ddebug_class_map __stop___dyndbg_classes[]; struct ddebug_table { - struct list_head link, maps; + struct list_head link; const char *mod_name; - unsigned int num_ddebugs; struct _ddebug *ddebugs; + struct ddebug_class_map *classes; + unsigned int num_ddebugs, num_classes; }; struct ddebug_query { @@ -147,13 +148,15 @@ static void vpr_info_dq(const struct ddebug_query *query, const char *msg) query->first_lineno, query->last_lineno, query->class_string); } +#define __outvar /* filled by callee */ static struct ddebug_class_map *ddebug_find_valid_class(struct ddebug_table const *dt, - const char *class_string, int *class_id) + const char *class_string, + __outvar int *class_id) { struct ddebug_class_map *map; - int idx; + int i, idx; - list_for_each_entry(map, &dt->maps, link) { + for (map = dt->classes, i = 0; i < dt->num_classes; i++, map++) { idx = match_string(map->class_names, map->length, class_string); if (idx >= 0) { *class_id = idx + map->base; @@ -164,7 +167,6 @@ static struct ddebug_class_map *ddebug_find_valid_class(struct ddebug_table cons return NULL; } -#define __outvar /* filled by callee */ /* * Search the tables for _ddebug's which match the given `query' and * apply the `flags' and `mask' to them. Returns number of matching @@ -1122,9 +1124,10 @@ static void *ddebug_proc_next(struct seq_file *m, void *p, loff_t *pos) static const char *ddebug_class_name(struct ddebug_iter *iter, struct _ddebug *dp) { - struct ddebug_class_map *map; + struct ddebug_class_map *map = iter->table->classes; + int i, nc = iter->table->num_classes; - list_for_each_entry(map, &iter->table->maps, link) + for (i = 0; i < nc; i++, map++) if (class_in_range(dp->class_id, map)) return map->class_names[dp->class_id - map->base]; @@ -1208,30 +1211,31 @@ static const struct proc_ops proc_fops = { .proc_write = ddebug_proc_write }; -static void ddebug_attach_module_classes(struct ddebug_table *dt, - struct ddebug_class_map *classes, - int num_classes) +static void ddebug_attach_module_classes(struct ddebug_table *dt, struct _ddebug_info *di) { struct ddebug_class_map *cm; - int i, j, ct = 0; + int i, nc = 0; - for (cm = classes, i = 0; i < num_classes; i++, cm++) { + /* + * Find this module's classmaps in a subrange/wholerange of + * the builtin/modular classmap vector/section. Save the start + * and length of the subrange at its edges. + */ + for (cm = di->classes, i = 0; i < di->num_classes; i++, cm++) { if (!strcmp(cm->mod_name, dt->mod_name)) { - - v2pr_info("class[%d]: module:%s base:%d len:%d ty:%d\n", i, - cm->mod_name, cm->base, cm->length, cm->map_type); - - for (j = 0; j < cm->length; j++) - v3pr_info(" %d: %d %s\n", j + cm->base, j, - cm->class_names[j]); - - list_add(&cm->link, &dt->maps); - ct++; + if (!nc) { + v2pr_info("start subrange, class[%d]: module:%s base:%d len:%d ty:%d\n", + i, cm->mod_name, cm->base, cm->length, cm->map_type); + dt->classes = cm; + } + nc++; } } - if (ct) - vpr_info("module:%s attached %d classes\n", dt->mod_name, ct); + if (nc) { + dt->num_classes = nc; + vpr_info("module:%s attached %d classes\n", dt->mod_name, nc); + } } /* @@ -1263,10 +1267,9 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) dt->num_ddebugs = di->num_descs; INIT_LIST_HEAD(&dt->link); - INIT_LIST_HEAD(&dt->maps); if (di->classes && di->num_classes) - ddebug_attach_module_classes(dt, di->classes, di->num_classes); + ddebug_attach_module_classes(dt, di); mutex_lock(&ddebug_lock); list_add_tail(&dt->link, &ddebug_tables); @@ -1379,8 +1382,8 @@ static void ddebug_remove_all_tables(void) mutex_lock(&ddebug_lock); while (!list_empty(&ddebug_tables)) { struct ddebug_table *dt = list_entry(ddebug_tables.next, - struct ddebug_table, - link); + struct ddebug_table, + link); ddebug_table_free(dt); } mutex_unlock(&ddebug_lock); From patchwork Thu Mar 20 18:51:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027318 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 8B989C36012 for ; Mon, 24 Mar 2025 13:25:49 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 762B010E3EB; Mon, 24 Mar 2025 13:25:48 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JOFXjl4t"; dkim-atps=neutral Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id 36E5E10E6AD; Thu, 20 Mar 2025 18:53:15 +0000 (UTC) Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-85dac9728cdso28590439f.0; Thu, 20 Mar 2025 11:53:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496794; x=1743101594; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ur6z9vuL/Wl0h5x6aY6sqJ81bhBxaoHzCCJFlunb8r4=; b=JOFXjl4twfXpjaQKJmqJj5obGxyCsaP9G0e4ejc4pqaH7rSFi1Eo3Pp1b4HTp8hNTw VfcY2mi+vRlNqkjq3iGOEgs+Ca4liwrh5h8bJw3gOpifXKXtGzQpekchoyT9sRqJinGT a3PsRaPzGulYfvAPDDXMLCrewtXFvVSX4YFmJUyWQXlA5huwgZOAXx+ugB/w9r4A12SQ 6oHZo64LHoOFPa/XxG04b/dD7ujQwfF5NkCx9nCv81yU8AEnBjw2U2+sXI8VrQgzrXED aGXbdqQSl4egEjAhWSPKyuygRZ5Ha2Lp/00XL4RxLKNqqzl24Hc/HHD1wfGU4st5vzwm DtJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496794; x=1743101594; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ur6z9vuL/Wl0h5x6aY6sqJ81bhBxaoHzCCJFlunb8r4=; b=NxrhOPpMUeDqRJGlVfuv9u6w+CbCMsXK/F8SG9cxwokPPOs4QDjmQ7geYxV1nFv6NU NT4z89cFRmTmnFbo9zON0PYQkCjnnA6exCG2+AWINkKGltpZ146uMRl0QfRdGPievOYy 833hYRIyTFtdfvLAUs2k6vVxXMurdbAJKRMv64mRIt5oYu0Tn+F2ZARRDJVafRBVFwJg BJGtgwQRDsvPaDtZESPmUpsbVu36o8n9g3Sr+o9t2wH8OZzA6gmUVBo8FxrU2Nf1myGg mv2Pz6MUQHUk4G6sEKU0wFX09RRD2wp8USXQvr3y55ncQ5AnnBRhRIhPAyylXb0cpRlA OA/g== X-Forwarded-Encrypted: i=1; AJvYcCUH8GsCMt3p8cX8A00oyh7G+wYDnml2lE/2EQBXlQx3IwEy93cAnrG5MYwnFRDSclXjVzIK0K/7LJc+@lists.freedesktop.org, AJvYcCUaSTSlCkE51PPizuWbTl7FdAPxoKzGRG4Sm8cTj9jacNO7hC09yklPZ2pMcM33VG+H7SdQdkqhPDz9UfLWsw==@lists.freedesktop.org, AJvYcCVLebMOFJKWU+JHkhAGR7PACP8RgcB1yMXz+3RMMeL77Mf1GaRRkJ5mdIzh8ihC6d9wvx3kx+mUwtkp@lists.freedesktop.org, AJvYcCWpWfkg8KwuprAQNXplR5s4MwgjhYzvvvFJwfWKTs/9oZCNjom8431O+qoV3xQ3er9juBBoBlecsUI8Vhrffb97aQ==@lists.freedesktop.org, AJvYcCX4sBo52Eop2sZLk8M2bVBbV6XMWQoo+x3MKP3NZYENGBFECffJYRqCaXSwxQ0GmbnRcC3OaWae@lists.freedesktop.org X-Gm-Message-State: AOJu0Yxt7QG1PH9wEkO93e9D35UM6hQw9GKz6/GL82Ch6fyBkD2RS6bp CxQ5JyRAhVC25zrPgRTJdBzkn7syH1OswF6TxVnPewmjibv2ERvH X-Gm-Gg: ASbGncviCCNTBCCxk0uesEew2zHgcpbM5LimICeSxu97+yfMRq67D8QZ/BG/zfuaL/5 5D9xslN4rtBgpljy6RKP3t6KlTh0bWS+zj9V2sKdz++4G5qjMge0PjmFC0u9+FW2YVLB8aLvU9o oKKIJSnjKMdCe486Zmb+EMi7JaJ70hOiVaqFGktdNFqCLM2KxPrb2MElmW2qvhqz99hWJCVFEdH gJUxngpNTeymgC//hFd+4R+U3XjDqOWmMILX+NmwIgR1uCL9dmy/DAA0VsCQ4TdR1HuVyYxl9vk lqiqsWYxcQ5qQjCqD3Eq9bPh0A9XbGj9kRIj9rWFCnm71yTSiLKjgxttNllNfbS6KLjeMtdrP/Y NVg== X-Google-Smtp-Source: AGHT+IESYenQHMzRBHYonFjmp7r3ksmfWrw+L2hl6Qv939KfXIhSdVM5EOYoDB82ETAAu/GcYHzYNA== X-Received: by 2002:a05:6602:488b:b0:85e:1879:c708 with SMTP id ca18e2360f4ac-85e2ca388bbmr48518039f.1.1742496794435; Thu, 20 Mar 2025 11:53:14 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:13 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 11/59] dyndbg: macrofy a 2-index for-loop pattern Date: Thu, 20 Mar 2025 12:51:49 -0600 Message-ID: <20250320185238.447458-12-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" dynamic-debug has several __sections, each with , num_, and it iterates over these with a 2-index for-loop. These loops are fiddly with the 2 names. We have only 2 such loops now, but are getting more soon; lets embed/abstract the fiddlyness in the for_subvec() macro, and avoid repeating it going forward. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- lib/dynamic_debug.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index d5572712ce55..94f6c8fd787b 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -128,6 +128,21 @@ do { \ #define v3pr_info(fmt, ...) vnpr_info(3, fmt, ##__VA_ARGS__) #define v4pr_info(fmt, ...) vnpr_info(4, fmt, ##__VA_ARGS__) + +/* + * simplify a repeated for-loop pattern walking N steps in a T _vec + * member inside a struct _box. It expects int i and T *_sp to be + * declared in the caller. + * @_i: caller provided counter. + * @_sp: cursor into _vec, to examine each item. + * @_box: ptr to a struct containing @_vec member + * @_vec: name of a sub-struct member in _box, with array-ref and length + */ +#define for_subvec(_i, _sp, _box, _vec) \ + for ((_i) = 0, (_sp) = (_box)->_vec; \ + (_i) < (_box)->num_##_vec; \ + (_i)++, (_sp)++) + static void vpr_info_dq(const struct ddebug_query *query, const char *msg) { /* trim any trailing newlines */ @@ -156,7 +171,7 @@ static struct ddebug_class_map *ddebug_find_valid_class(struct ddebug_table cons struct ddebug_class_map *map; int i, idx; - for (map = dt->classes, i = 0; i < dt->num_classes; i++, map++) { + for_subvec(i, map, dt, classes) { idx = match_string(map->class_names, map->length, class_string); if (idx >= 0) { *class_id = idx + map->base; @@ -1221,8 +1236,7 @@ static void ddebug_attach_module_classes(struct ddebug_table *dt, struct _ddebug * the builtin/modular classmap vector/section. Save the start * and length of the subrange at its edges. */ - for (cm = di->classes, i = 0; i < di->num_classes; i++, cm++) { - + for_subvec(i, cm, di, classes) { if (!strcmp(cm->mod_name, dt->mod_name)) { if (!nc) { v2pr_info("start subrange, class[%d]: module:%s base:%d len:%d ty:%d\n", From patchwork Thu Mar 20 18:51:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027266 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 3DE92C36012 for ; Mon, 24 Mar 2025 13:24:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 47FC810E349; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="LK2FZMV1"; dkim-atps=neutral Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 96B0F10E6AE; Thu, 20 Mar 2025 18:53:16 +0000 (UTC) Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-85b40c7d608so100187639f.3; Thu, 20 Mar 2025 11:53:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496796; x=1743101596; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=V1JBChc7f/rHxsULp9vQw2twt8N846oYhoUvSFs6ExA=; b=LK2FZMV1Deuaz0C+sZJ2rMWvaSVsL+b8rwKRsIT03e6kdoa/ForIVYEIDTeLEwLaRC l6RyTGXxux8TfPOR0YYWfokjH2qr5m1opd1sbbjeBHrV7m5iQgI1qPdEiqKHLm8FwaFR zfpjicS3VZ1/2G7S/Sp03nIosk4Zkm9JPpVusXrez2UdprifHORaghTNWxODLxNtoFYw Wmyw3lHhiRFG5JJJvltnGfrt7G675q0zPHYHfORYS4dBhSxnchwCYuf9zzzuUBU67VLF knc6bXK2eYxpFwrm563DqC16s3fBS4p8twlvUW7MpfblNPOliBxs4MJQwonDW6q8b0jH asqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496796; x=1743101596; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=V1JBChc7f/rHxsULp9vQw2twt8N846oYhoUvSFs6ExA=; b=ngZ6sP4tp3nzvfEVdQWnR2ChToNdM9yZ1BbnVgAkUyWNfesnxaylCRdV7M/qSlED/J vRwgGJFYpu2XrN6Uj1HhehCavuSYJ8M3j9PYHEwomgKiNXx2iLuT3uMEQl38XnMTD/0n eouGrYJTxhlVBxjykOLdqpVOjRpju2cnXXtIwcfxQgvSoW3nVVgrsuQJgUkOQDBDqwkZ cL21nLzjC8PD8rWCC6PvylCkDgpHUGuH/3G0modkW71W7Ur62VDUIQHkfPC4ZckZmujz 1WVpNo9zuUYX76AsB1DyaBHzRDbcz8r5qa8jZEwyYR5S9P+sEx3OCrnQF+t8nVW6HTeY k7FA== X-Forwarded-Encrypted: i=1; AJvYcCUcqaidI/ND9DmErARrhLQkiasVHEMm7Qw8sMX5+ZueyW31uUXntdedDJvWhh7B6ACSDIAXBRIt31zrmuYLaA==@lists.freedesktop.org, AJvYcCUmLWVDXNVoiTLqIKBq5fssr6biFNPVijjEDFTb5zuaRbTGA9GZ7hBmv5lMTYM28F2PFQDyyeQM@lists.freedesktop.org, AJvYcCViWmxI+b80cJ6SDApxB8NxhY0u33atjTBJUqevXuG2eVo1mIV+bTmbMZbI8kDszz/TDM6NjQXDHWZZ@lists.freedesktop.org, AJvYcCWWTXj3S0OJ1p/zM6EacoGahTRLWObQF3H+6riKBubTpn5bxbG2t5c+h97sdKeaXfc2vj4Po4CsntrA@lists.freedesktop.org, AJvYcCWzTbX1fFOnUtZYVIZVT+wPWY7QPQtuwGarKLJJZjb2FTMd9YcvKxiOh4velRYnqAWTTf7pVcLB2jqN1ylYq0vegQ==@lists.freedesktop.org X-Gm-Message-State: AOJu0YwQ+/0SE618CEiYuP110BavapJ/scf5+SsXp3hEGYlSu3jzQ+bs xgi7Nxipa4GNq7gDGyg69YksI8M+QbarzVnah4D+CGNRMCWpbTaKAY6mbqC1 X-Gm-Gg: ASbGnctluxJZgJRBh3HsY/e/qt8We2jcXQVLD2sn6Fogcl2qxug/9Ba1xOoHBIL4YC0 VKQgonUT/imCEBnw32v1xSnNXMo0kgecpgj+2VRFDXPTpghbXUkjo6Mvkw2DAEtSnz1ERbIZm91 z9dGgl9K/9qUm6VGCJ3TFh6sg7JPSg+djwUH4ALjtpfkD7sbTJVL9WY0JnDbMHf/t6n7hJZRK/3 AXB0Ktyran4yWv/iBfPgPBpo5xngOlqszE5UfCBZC+pf63S+8KepLHzOKlYyqBWEI5xfnxS/P7m 0ZbeBzc5bTdakL5yZ3W3K3BkqLLV5JOwUYwfsNGsDGs1bBn3TCEMdzg8KhYoEsk63OHBAVzSekm ZQg== X-Google-Smtp-Source: AGHT+IEMWUFJ9jWBaJVCf2IEgrBvG/1zv8g2vgMmRrMVEU6QmnbqAmPsEhPH8as1qTvv5Hsys8Fjmw== X-Received: by 2002:a05:6602:4815:b0:85b:5bed:ffcb with SMTP id ca18e2360f4ac-85e2ca55f1emr39457239f.5.1742496795669; Thu, 20 Mar 2025 11:53:15 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:15 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 12/59] dyndbg, module: make proper substructs in _ddebug_info Date: Thu, 20 Mar 2025 12:51:50 -0600 Message-ID: <20250320185238.447458-13-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" recompose struct _ddebug_info, inserting proper sub-structs. The struct currently has 2 pairs of fields: descs, num_descs and classes, num_classes. Several for-loops operate on these field pairs, soon many more will be added. Looping over these blocks by respective field-pairs is repetitive and fiddly, differing only by the field-names. Before adding a 3rd section and compounding the fiddly details problem, make proper substructs of each section, with the same named fields. So this patch does: Adds 3 "vector" structs, each with { *start, int len; } components, for _ddebug_descriptors, _ddebug_class_maps, and _ddebug_class_users respectively. Invariant: These vectors ref a contiguous subrange of __section memory in builtin/DATA or in loadable modules via mod->dyndbg_info; with guaranteed life-time for us. Bundles these 3 vectors (subrange-refs) struct (reformed) _ddebug_info, where they're __packed to close the paholes introduced otherwise. The common fields allow improving the for_subvec() macro by dropping the ugly num_## paste-up. Also recompose struct ddebug_table to contain a _ddebug_info. This reinforces its use as a cursor into relevant data for a builtin module, and access to the full _ddebug state for modules. NOTES: Fixup names: section names improved, struct names normalized to _ddebug_* struct module contains a _ddebug_info field and module/main.c sets it up, so that gets adjusted. The __packed attribute on _ddebug_info and the 3 contained structs closes the holes otherwise created by the structification (which was my excuse for not doing it originally). Signed-off-by: Jim Cromie --- -v2 rework towards front of series --- include/asm-generic/vmlinux.lds.h | 4 +- include/linux/dynamic_debug.h | 28 +++++++--- kernel/module/main.c | 12 ++-- lib/dynamic_debug.c | 91 ++++++++++++++++--------------- 4 files changed, 74 insertions(+), 61 deletions(-) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index c9c66089ea2f..f834ad1fb8c4 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -366,8 +366,8 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG) *(__tracepoints) \ /* implement dynamic printk debug */ \ . = ALIGN(8); \ - BOUNDED_SECTION_BY(__dyndbg_classes, ___dyndbg_classes) \ - BOUNDED_SECTION_BY(__dyndbg, ___dyndbg) \ + BOUNDED_SECTION_BY(__dyndbg_class_maps, ___dyndbg_class_maps) \ + BOUNDED_SECTION_BY(__dyndbg_descriptors, ___dyndbg_descs) \ CODETAG_SECTIONS() \ LIKELY_PROFILE() \ BRANCH_PROFILE() \ diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index e458d4b838ac..c388ab05a6e1 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -110,13 +110,23 @@ struct ddebug_class_map { .class_names = _var##_classnames, \ } -/* encapsulate linker provided built-in (or module) dyndbg data */ +/* + * @_ddebug_info: gathers module/builtin dyndbg_* __sections together. + * For builtins, it is used as a cursor, with the inner structs + * marking sub-vectors of the builtin __sections in DATA. + */ +struct _ddebug_descs { + struct _ddebug *start; + int len; +} __packed; +struct _ddebug_class_maps { + struct ddebug_class_map *start; + int len; +} __packed; struct _ddebug_info { - struct _ddebug *descs; - struct ddebug_class_map *classes; - unsigned int num_descs; - unsigned int num_classes; -}; + struct _ddebug_descs descs; + struct _ddebug_class_maps maps; +} __packed; struct ddebug_class_param { union { @@ -159,7 +169,7 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor, #define DEFINE_DYNAMIC_DEBUG_METADATA_CLS(name, cls, fmt) \ static struct _ddebug __aligned(8) \ - __section("__dyndbg") name = { \ + __section("__dyndbg_descriptors") name = { \ .modname = KBUILD_MODNAME, \ .function = __func__, \ .filename = __FILE__, \ @@ -242,7 +252,7 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor, * macro. */ #define _dynamic_func_call_cls(cls, fmt, func, ...) \ - __dynamic_func_call_cls(__UNIQUE_ID(ddebug), cls, fmt, func, ##__VA_ARGS__) + __dynamic_func_call_cls(__UNIQUE_ID(_ddebug), cls, fmt, func, ##__VA_ARGS__) #define _dynamic_func_call(fmt, func, ...) \ _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__) @@ -252,7 +262,7 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor, * with precisely the macro's varargs. */ #define _dynamic_func_call_cls_no_desc(cls, fmt, func, ...) \ - __dynamic_func_call_cls_no_desc(__UNIQUE_ID(ddebug), cls, fmt, \ + __dynamic_func_call_cls_no_desc(__UNIQUE_ID(_ddebug), cls, fmt, \ func, ##__VA_ARGS__) #define _dynamic_func_call_no_desc(fmt, func, ...) \ _dynamic_func_call_cls_no_desc(_DPRINTK_CLASS_DFLT, fmt, \ diff --git a/kernel/module/main.c b/kernel/module/main.c index 1fb9ad289a6f..b60f728e36ac 100644 --- a/kernel/module/main.c +++ b/kernel/module/main.c @@ -2621,12 +2621,12 @@ static int find_module_sections(struct module *mod, struct load_info *info) pr_warn("%s: Ignoring obsolete parameters\n", mod->name); #ifdef CONFIG_DYNAMIC_DEBUG_CORE - mod->dyndbg_info.descs = section_objs(info, "__dyndbg", - sizeof(*mod->dyndbg_info.descs), - &mod->dyndbg_info.num_descs); - mod->dyndbg_info.classes = section_objs(info, "__dyndbg_classes", - sizeof(*mod->dyndbg_info.classes), - &mod->dyndbg_info.num_classes); + mod->dyndbg_info.descs.start = section_objs(info, "__dyndbg_descriptors", + sizeof(*mod->dyndbg_info.descs.start), + &mod->dyndbg_info.descs.len); + mod->dyndbg_info.maps.start = section_objs(info, "__dyndbg_class_maps", + sizeof(*mod->dyndbg_info.maps.start), + &mod->dyndbg_info.maps.len); #endif return 0; diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 94f6c8fd787b..663c125006d0 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -39,17 +39,15 @@ #include -extern struct _ddebug __start___dyndbg[]; -extern struct _ddebug __stop___dyndbg[]; -extern struct ddebug_class_map __start___dyndbg_classes[]; -extern struct ddebug_class_map __stop___dyndbg_classes[]; +extern struct _ddebug __start___dyndbg_descs[]; +extern struct _ddebug __stop___dyndbg_descs[]; +extern struct ddebug_class_map __start___dyndbg_class_maps[]; +extern struct ddebug_class_map __stop___dyndbg_class_maps[]; struct ddebug_table { struct list_head link; const char *mod_name; - struct _ddebug *ddebugs; - struct ddebug_class_map *classes; - unsigned int num_ddebugs, num_classes; + struct _ddebug_info info; }; struct ddebug_query { @@ -128,7 +126,6 @@ do { \ #define v3pr_info(fmt, ...) vnpr_info(3, fmt, ##__VA_ARGS__) #define v4pr_info(fmt, ...) vnpr_info(4, fmt, ##__VA_ARGS__) - /* * simplify a repeated for-loop pattern walking N steps in a T _vec * member inside a struct _box. It expects int i and T *_sp to be @@ -139,8 +136,8 @@ do { \ * @_vec: name of a sub-struct member in _box, with array-ref and length */ #define for_subvec(_i, _sp, _box, _vec) \ - for ((_i) = 0, (_sp) = (_box)->_vec; \ - (_i) < (_box)->num_##_vec; \ + for ((_i) = 0, (_sp) = (_box)->_vec.start; \ + (_i) < (_box)->_vec.len; \ (_i)++, (_sp)++) static void vpr_info_dq(const struct ddebug_query *query, const char *msg) @@ -163,6 +160,13 @@ static void vpr_info_dq(const struct ddebug_query *query, const char *msg) query->first_lineno, query->last_lineno, query->class_string); } +#define vpr_dt_info(dt_p, msg_p, ...) ({ \ + struct ddebug_table const *_dt = dt_p; \ + v2pr_info(msg_p " module:%s nd:%d nc:%d nu:%d\n", ##__VA_ARGS__, \ + _dt->mod_name, _dt->info.descs.len, _dt->info.maps.len, \ + _dt->info.users.len); \ + }) + #define __outvar /* filled by callee */ static struct ddebug_class_map *ddebug_find_valid_class(struct ddebug_table const *dt, const char *class_string, @@ -171,7 +175,7 @@ static struct ddebug_class_map *ddebug_find_valid_class(struct ddebug_table cons struct ddebug_class_map *map; int i, idx; - for_subvec(i, map, dt, classes) { + for_subvec(i, map, &dt->info, maps) { idx = match_string(map->class_names, map->length, class_string); if (idx >= 0) { *class_id = idx + map->base; @@ -217,8 +221,8 @@ static int ddebug_change(const struct ddebug_query *query, valid_class = _DPRINTK_CLASS_DFLT; } - for (i = 0; i < dt->num_ddebugs; i++) { - struct _ddebug *dp = &dt->ddebugs[i]; + for (i = 0; i < dt->info.descs.len; i++) { + struct _ddebug *dp = &dt->info.descs.start[i]; /* match site against query-class */ if (dp->class_id != valid_class) @@ -1065,8 +1069,8 @@ static struct _ddebug *ddebug_iter_first(struct ddebug_iter *iter) } iter->table = list_entry(ddebug_tables.next, struct ddebug_table, link); - iter->idx = iter->table->num_ddebugs; - return &iter->table->ddebugs[--iter->idx]; + iter->idx = iter->table->info.descs.len; + return &iter->table->info.descs.start[--iter->idx]; } /* @@ -1087,10 +1091,10 @@ static struct _ddebug *ddebug_iter_next(struct ddebug_iter *iter) } iter->table = list_entry(iter->table->link.next, struct ddebug_table, link); - iter->idx = iter->table->num_ddebugs; + iter->idx = iter->table->info.descs.len; --iter->idx; } - return &iter->table->ddebugs[iter->idx]; + return &iter->table->info.descs.start[iter->idx]; } /* @@ -1137,12 +1141,12 @@ static void *ddebug_proc_next(struct seq_file *m, void *p, loff_t *pos) #define class_in_range(class_id, map) \ (class_id >= map->base && class_id < map->base + map->length) -static const char *ddebug_class_name(struct ddebug_iter *iter, struct _ddebug *dp) +static const char *ddebug_class_name(struct ddebug_table *dt, struct _ddebug *dp) { - struct ddebug_class_map *map = iter->table->classes; - int i, nc = iter->table->num_classes; + struct ddebug_class_map *map; + int i; - for (i = 0; i < nc; i++, map++) + for_subvec(i, map, &dt->info, maps) if (class_in_range(dp->class_id, map)) return map->class_names[dp->class_id - map->base]; @@ -1176,7 +1180,7 @@ static int ddebug_proc_show(struct seq_file *m, void *p) seq_putc(m, '"'); if (dp->class_id != _DPRINTK_CLASS_DFLT) { - class = ddebug_class_name(iter, dp); + class = ddebug_class_name(iter->table, dp); if (class) seq_printf(m, " class:%s", class); else @@ -1236,18 +1240,18 @@ static void ddebug_attach_module_classes(struct ddebug_table *dt, struct _ddebug * the builtin/modular classmap vector/section. Save the start * and length of the subrange at its edges. */ - for_subvec(i, cm, di, classes) { + for_subvec(i, cm, di, maps) { if (!strcmp(cm->mod_name, dt->mod_name)) { if (!nc) { v2pr_info("start subrange, class[%d]: module:%s base:%d len:%d ty:%d\n", i, cm->mod_name, cm->base, cm->length, cm->map_type); - dt->classes = cm; + dt->info.maps.start = cm; } nc++; } } if (nc) { - dt->num_classes = nc; + dt->info.maps.len = nc; vpr_info("module:%s attached %d classes\n", dt->mod_name, nc); } } @@ -1260,10 +1264,10 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) { struct ddebug_table *dt; - if (!di->num_descs) + if (!di->descs.len) return 0; - v3pr_info("add-module: %s %d sites\n", modname, di->num_descs); + v3pr_info("add-module: %s %d sites\n", modname, di->descs.len); dt = kzalloc(sizeof(*dt), GFP_KERNEL); if (dt == NULL) { @@ -1277,19 +1281,18 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) * this struct ddebug_table. */ dt->mod_name = modname; - dt->ddebugs = di->descs; - dt->num_ddebugs = di->num_descs; + dt->info = *di; INIT_LIST_HEAD(&dt->link); - if (di->classes && di->num_classes) + if (di->maps.len) ddebug_attach_module_classes(dt, di); mutex_lock(&ddebug_lock); list_add_tail(&dt->link, &ddebug_tables); mutex_unlock(&ddebug_lock); - vpr_info("%3u debug prints in module %s\n", di->num_descs, modname); + vpr_info("%3u debug prints in module %s\n", di->descs.len, modname); return 0; } @@ -1436,10 +1439,10 @@ static int __init dynamic_debug_init(void) char *cmdline; struct _ddebug_info di = { - .descs = __start___dyndbg, - .classes = __start___dyndbg_classes, - .num_descs = __stop___dyndbg - __start___dyndbg, - .num_classes = __stop___dyndbg_classes - __start___dyndbg_classes, + .descs.start = __start___dyndbg_descs, + .maps.start = __start___dyndbg_class_maps, + .descs.len = __stop___dyndbg_descs - __start___dyndbg_descs, + .maps.len = __stop___dyndbg_class_maps - __start___dyndbg_class_maps, }; #ifdef CONFIG_MODULES @@ -1450,7 +1453,7 @@ static int __init dynamic_debug_init(void) } #endif /* CONFIG_MODULES */ - if (&__start___dyndbg == &__stop___dyndbg) { + if (&__start___dyndbg_descs == &__stop___dyndbg_descs) { if (IS_ENABLED(CONFIG_DYNAMIC_DEBUG)) { pr_warn("_ddebug table is empty in a CONFIG_DYNAMIC_DEBUG build\n"); return 1; @@ -1460,16 +1463,16 @@ static int __init dynamic_debug_init(void) return 0; } - iter = iter_mod_start = __start___dyndbg; + iter = iter_mod_start = __start___dyndbg_descs; modname = iter->modname; i = mod_sites = mod_ct = 0; - for (; iter < __stop___dyndbg; iter++, i++, mod_sites++) { + for (; iter < __stop___dyndbg_descs; iter++, i++, mod_sites++) { if (strcmp(modname, iter->modname)) { mod_ct++; - di.num_descs = mod_sites; - di.descs = iter_mod_start; + di.descs.len = mod_sites; + di.descs.start = iter_mod_start; ret = ddebug_add_module(&di, modname); if (ret) goto out_err; @@ -1479,8 +1482,8 @@ static int __init dynamic_debug_init(void) iter_mod_start = iter; } } - di.num_descs = mod_sites; - di.descs = iter_mod_start; + di.descs.len = mod_sites; + di.descs.start = iter_mod_start; ret = ddebug_add_module(&di, modname); if (ret) goto out_err; @@ -1490,8 +1493,8 @@ static int __init dynamic_debug_init(void) i, mod_ct, (int)((mod_ct * sizeof(struct ddebug_table)) >> 10), (int)((i * sizeof(struct _ddebug)) >> 10)); - if (di.num_classes) - v2pr_info(" %d builtin ddebug class-maps\n", di.num_classes); + if (di.maps.len) + v2pr_info(" %d builtin ddebug class-maps\n", di.maps.len); /* now that ddebug tables are loaded, process all boot args * again to find and activate queries given in dyndbg params. From patchwork Thu Mar 20 18:51:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027263 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 DC794C36005 for ; Mon, 24 Mar 2025 13:24:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1DCBB10E348; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dl74LGsG"; dkim-atps=neutral Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id 84F4110E6AE; Thu, 20 Mar 2025 18:53:17 +0000 (UTC) Received: by mail-io1-f44.google.com with SMTP id ca18e2360f4ac-85b41281b50so31019739f.3; Thu, 20 Mar 2025 11:53:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496797; x=1743101597; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pMU0x5TrIGi1TlXMZD5rXGa9j1LnP0o62QpnxxI3Tyc=; b=dl74LGsGfU/Pk+4z65r7vkTJ8wQps3pmzm8Va+kNbR5GOFwSHwJGHLGizpyAxKYYuf uuMMdLVCmOhzc4zZydzT1HDkdEX/LBU2PJe80BHUgm8P7lzNiyIxHyRrhwad18lS8DJi eLz7+iCScjp4Bs1sfGKh9Vkjwuc6NA0D//zu3ZDv83+pA7CxwjaRYCqN5GpdO3IKBDGK 2zz+EkR5NwJNLfZ3dgk4QZYgsC2GvHOYXMJY8E8agPCs5O+tvJ/a3Y/wosXpLc42Ttt5 pgw5suznyZV1zJI56gU7DfmEFtwcpg+YwkOCZ0xiUaoLvWmLQRFd5sZAH43FsJxGLd2E z07w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496797; x=1743101597; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pMU0x5TrIGi1TlXMZD5rXGa9j1LnP0o62QpnxxI3Tyc=; b=FpLnUF1qZeexiXVC0PLiCk936sO8Po33bRIyy87fzdnN0uOXexX/9gGW0P81KODKcB JmydRSYYi6oJdexC8/607sU4HFxdqpMHXTq6TIDTU2ZJ4XN1+Q5JY7DTS9Gm71b3z6fs kimawcEsZggRtGWSrGHb6740IyDp2Vgidhnu7bv41ABvWHPQSmJ4zP7wkaLS/zigZX1m gxb5KWI/n3SpYTeK8QyU4rvSZjiWjmdILXGjmT3gp/LMQanFHvYkL/tn2hZlBJJrfKo+ tfP1yySz7B0CPZiBnN0hkfRAJXxuN3wkXuuO930YikT7xLGkHXkdg8QVEbYCTCfyYZoO hzSA== X-Forwarded-Encrypted: i=1; AJvYcCUbFnRCyWxq+1I58qFtPSlzF61UMOp37ljRq2XvGRwTf18NIxcBopw5lObNOBaIU0vMEv6aiqbRj9OpbssenO5bkw==@lists.freedesktop.org, AJvYcCUg1J2gPDc88gyestXoLcI99mmM366cqnbx5/7p3jm0EG+Q1c3RTe0Cq5G6Y40xWis0vGvtapzt@lists.freedesktop.org, AJvYcCVjGr95SSJSjbMSsdxPJqIEgVPp2+x5z5297msKQXO1CWmip9QYqGcBFCqYfZmFtfMkIJ1UeG1iGrNRB3cNmg==@lists.freedesktop.org, AJvYcCW0A3GrSQbhd/n89VjXKuCV90Eq5MjbTE7osLH+ylVjTNUCvzQDw5tN1bMAUljCmo18W+kOPn6IXjZn@lists.freedesktop.org, AJvYcCXZq3lq7nSF+tXsK5SdNWP+Xy5Y8Mqmpzs3iIXfwo7XCFUwfwvXSI451ErHUX2kEhVLJJWYYzXfLU/e@lists.freedesktop.org X-Gm-Message-State: AOJu0YyUh/cutyp/KVpSMwPONygjL5IB0d+Hbkm3Q2xsxdsNCvoiatQE lGaP/YjAKurUhfJOGgyuYe+w0mcH/m0aCJTD7IzKDURrUiOCUKFQ X-Gm-Gg: ASbGncsTxO1To56+idPIMf/KyZF1o6Z+MdvvEFqtvQa7xGYGnu0wLwJBclP1Pb+VaX/ WLAXgJ+l8kploVw540J2KHZ00rDAJMFmWqj49dTXDUuTRbhqo/yT61LP6Ag6sQtYATX9JryR3ed oulahhkpSJWueR8N+rHzb1FUkwIRKUGDyUqAo1zUzkerDMPQM+a7cjt1ZbXP87X6D9mT0CyvvLX nFzVHCS/QqsFFDVOw40ALlNs9PTw39dT7Helct0Vd+L+fX8FcsaZOev0WS93LP/v2kzss93AbWt eqKAvIHjFCuHpZzTlsa3mjBY/q3hHAlZwTlUYAi9DmwJtYD28VYryqXsaa8AxR7lNhSr7QX3pOB BBnjPVmfwtZwC X-Google-Smtp-Source: AGHT+IE5FnFrhXl2OsaLefG5e0LQc4fASL3FmWcjz9fvpoJJMFl+j0awErZ0XrOva1EzRD5jexTdnQ== X-Received: by 2002:a05:6602:c89:b0:85d:aba6:4f4b with SMTP id ca18e2360f4ac-85e2ca388afmr47078939f.2.1742496796745; Thu, 20 Mar 2025 11:53:16 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:16 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 13/59] dyndbg: add 2 new _DPRINTK_FLAGS_: INCL_LOOKUP, PREFIX_CACHED Date: Thu, 20 Mar 2025 12:51:51 -0600 Message-ID: <20250320185238.447458-14-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Add _INCL_LOOKUP condition to separate +mfsl flags from +t, allowing (after refactoring) to avoid a needless call-return. Add a PREFIX_CACHED bit to remember that a pr-debug callsite is: - enabled, with +p - wants a dynamic-prefix, with _INCL_LOOKUP - was previously called - was thus saved in the prefix cache. NOT YET. This allows (later) to cache part/all of the dynamic-prefix for each pr_debug that gets called. NOTES: dyndbg's dynamic prefixing can get expensive; each enabled callsite's prefix is sprintf'd into stack-mem, every time a pr_debug is called. A cache would help, if callsites mark _DPRINTK_FLAGS_PREFIX_CACHED after saving the prefix string. But not yet. -t thread-id. not part of the "callsite" info, derived from current. doesn't belong in the cache. it would be wrong. can be done in outer: dynamic_emit_prefix() -mfsl module, function, source-file, line we cache these, composed into a sub-string. they are "lookups", currently to descriptor fields,. could be accessor macros to "compressed" tables. All enabled together, they compose a prefix string like: # outer -----inner------------------- "[tid] module:function:sourcfile:line: " So this patch extracts _DPRINTK_FLAGS_INCL_LOOKUP macro out of _DPRINTK_FLAGS_INCL_ANY macro, then redefs latter. Next re-refactor dynamic_emit_prefix inner/outer fns accordingly. Signed-off-by: Jim Cromie --- include/linux/dynamic_debug.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index c388ab05a6e1..82eabaa6e827 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -38,11 +38,13 @@ struct _ddebug { #define _DPRINTK_FLAGS_INCL_LINENO (1<<3) #define _DPRINTK_FLAGS_INCL_TID (1<<4) #define _DPRINTK_FLAGS_INCL_SOURCENAME (1<<5) +#define _DPRINTK_FLAGS_PREFIX_CACHED (1<<7) -#define _DPRINTK_FLAGS_INCL_ANY \ - (_DPRINTK_FLAGS_INCL_MODNAME | _DPRINTK_FLAGS_INCL_FUNCNAME |\ - _DPRINTK_FLAGS_INCL_LINENO | _DPRINTK_FLAGS_INCL_TID |\ - _DPRINTK_FLAGS_INCL_SOURCENAME) +#define _DPRINTK_FLAGS_INCL_LOOKUP \ + (_DPRINTK_FLAGS_INCL_MODNAME | _DPRINTK_FLAGS_INCL_FUNCNAME | \ + _DPRINTK_FLAGS_INCL_SOURCENAME | _DPRINTK_FLAGS_INCL_LINENO) +#define _DPRINTK_FLAGS_INCL_ANY \ + (_DPRINTK_FLAGS_INCL_TID | _DPRINTK_FLAGS_INCL_LOOKUP) #if defined DEBUG #define _DPRINTK_FLAGS_DEFAULT _DPRINTK_FLAGS_PRINT From patchwork Thu Mar 20 18:51:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027269 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 4E2CAC36010 for ; Mon, 24 Mar 2025 13:24:31 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7CDEE10E34C; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Qwz9dQLF"; dkim-atps=neutral Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8464110E6B4; Thu, 20 Mar 2025 18:53:18 +0000 (UTC) Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-85db7a3da71so81499939f.1; Thu, 20 Mar 2025 11:53:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496798; x=1743101598; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=I11xVBXKQ+hF/QWDzrpW4DMDNxkmWPkILnOV6Dv+FVE=; b=Qwz9dQLFaN2KKWM3oOtj/LTtD/+54QFZR8YtGRQsVxi6ebCZZEtw95eM7c5BT9pThj hjWZ07d48yypctNnS7O0UMD1ggTrOcHKuE+hXI/VM5LBeEESEipm5BlscESI/xSCDNoj 9eZk0tcrER3BwDsHH5yxiGqO6eMlMC8ODT2bTWIPJ5RUCPSI3Kk9toe+/cxlVuJRn2OW R9f4oCMJ4MXGX1M3cl035lBbaSAPbzHFP4tCQ26sm7iGLaPigOCkFQdIrd7FuSS+ZJAj 7DHbwNubBRLa0LXqVfBxr6JktUZ2Q3a64dD9sAsuLQK8we2OaNVSfuKVAAOA1M5CNSHx PbWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496798; x=1743101598; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=I11xVBXKQ+hF/QWDzrpW4DMDNxkmWPkILnOV6Dv+FVE=; b=YB9I0a/MmyADuuH73472BRROpA93WiYrkf6nwUS7Pmp3V4IMoi2rOgst798CQ6Kwdy fI0Fuq11k43kMo5gNiJSJvmMg4fCwGp38HGE27zO4zTGW6Cn2pAc3a2N6+K6hxBvAyB3 DXv6LM0i8Sd1r8Uwbs9/kkJEg269Y2gf3+cK4gZoelqv27AW46+ztxGdmKvGfEgOKR0d ++ETHh4WcnJ9uR532h7lbeWbptrVZy+VR9+/W/VoWngtKA6PvK9UZRWNTsIlv0OFDi2p LfbO5+ThWCykDUYsULOVv6avBEuw7lIVo8uqN3ZDPP3M7mBtD/+X7/VhU76G1AnLCm5G C3Bg== X-Forwarded-Encrypted: i=1; AJvYcCUkTfRg+0BnCR05qrwTxeeF4H+VKVEHmOCWYMNtZCvNnPLhImD7gU7TUgECdiA0S1s3dj6ITfCXOgbK@lists.freedesktop.org, AJvYcCVLT4+5ow47AIIxYeXsdhcxuQzvWNMCsDTMUZ+35P5rSs7K063eVlqSr+Frnzo5pSAERYEGAEeOAKQdHr7v89BLYQ==@lists.freedesktop.org, AJvYcCWn9cpXiFhjP63q9EolBPPwBIpB6+N8NwO07T/EyWJcNea96GHTlpB2U9Uw316c/n4+MvWkUOw+lYoFwOTY/g==@lists.freedesktop.org, AJvYcCWuFRSxTBDf/OcEPOoLVC45KZPcXNcd5vtQeL3rowJuhiaiCTHNZW2mzgIEU0p+PjD692WhPGRX8Vyq@lists.freedesktop.org, AJvYcCXfWSb/K4sBQOcX/8tva3jJPvNnRAXVjgLJSKFnBg9kBSLyXXdLswTlv9KtwkHGccp8BVAwiOJP@lists.freedesktop.org X-Gm-Message-State: AOJu0YzNkYftmIUNc7eqy8PCu7SSMYG6XxY433v5y3r6adE0FoR4lTPm F91UdpY4ynDi3WLsqsfWJZNiZgSqZ8ILO8AQg+JDFOiXyNkTyZeY X-Gm-Gg: ASbGncvgkf92gh2cwdRCrtAwV5vQrp8FkuVshYZfeKpIzuqJbIwLxNSz9+bBgFT+5AS q+/yIahSuz22gbtOe45o5VqqzkP0xGuFCTlikW1tgbxHAH2AmOa9Jf6aMAQ1wvoEWUmZb04eD3F 5BkFq3WYDWoR1FAfD7Jk8ibIMCncsfzvVyISpn/X282uHkEFo40tNnST9o89wNKUft+9+CBr8Ek ig6SXvinEDyi2qMZOOYxObOQsUKdcKVgUpdXqIRv3Qx1t+sApiznTrnIZqIG7zoEVQRxLp8xNTj 1IWZ35bDX+aAD682chBQHFx68pb+ReGI+yI5qTFK5sFBejEpNFZR9zLfQyUXKsjcpFL+qIZET7l qBw== X-Google-Smtp-Source: AGHT+IEtCf2Gpyn2UFZqee/mhr53XbcO/kcuDLQe2NGqup147/L1yuCpY56bd5EokVyHN82kmeirhA== X-Received: by 2002:a05:6602:2988:b0:85d:9f44:4421 with SMTP id ca18e2360f4ac-85e2cabfc2emr39548439f.8.1742496797837; Thu, 20 Mar 2025 11:53:17 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:17 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 14/59] dyndbg: split _emit_lookup() out of dynamic_emit_prefix() Date: Thu, 20 Mar 2025 12:51:52 -0600 Message-ID: <20250320185238.447458-15-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Split dynamic_emit_prefix() to separate out _INCL_LOOKUPs: 1. keep dynamic_emit_prefix() static inline check _INCL_ANY flags before calling 2 2. __dynamic_emit_prefix() prints [TID] or and trailing space if +t flag check _INCL_LOOKUP flags before calling 3 3. __dynamic_emit_lookup() prints ONLY module, function, src, line, and trailing space TID isn't "callsite" specific info. result is "cacheable" Notes: 2,3 are gated, only called when theyve something to emit, so they just add trailing space. This obsoletes the pos_after_tid var and logic. __dynamic_emit_lookup() adds line too, so the result is "whole". While this would enlarge a naive cache vs add-line-after-caching, we dont even have a naive one yet. And some clever indexing on store() might be able to fold the flags setting in, such that the prefix stored with +mf flags only (-l), could be returned for all pr_debugs in that function which also had +mf flags. While still supporting +mfsl prefixes (with cache expansion) as they're used. Signed-off-by: Jim Cromie --- lib/dynamic_debug.c | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 663c125006d0..f7ec2365ab40 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -850,19 +850,8 @@ static int remaining(int wrote) return 0; } -static char *__dynamic_emit_prefix(const struct _ddebug *desc, char *buf) +static int __dynamic_emit_lookup(const struct _ddebug *desc, char *buf, int pos) { - int pos_after_tid; - int pos = 0; - - if (desc->flags & _DPRINTK_FLAGS_INCL_TID) { - if (in_interrupt()) - pos += snprintf(buf + pos, remaining(pos), " "); - else - pos += snprintf(buf + pos, remaining(pos), "[%d] ", - task_pid_vnr(current)); - } - pos_after_tid = pos; if (desc->flags & _DPRINTK_FLAGS_INCL_MODNAME) pos += snprintf(buf + pos, remaining(pos), "%s:", desc->modname); @@ -875,8 +864,29 @@ static char *__dynamic_emit_prefix(const struct _ddebug *desc, char *buf) if (desc->flags & _DPRINTK_FLAGS_INCL_LINENO) pos += snprintf(buf + pos, remaining(pos), "%d:", desc->lineno); - if (pos - pos_after_tid) - pos += snprintf(buf + pos, remaining(pos), " "); + + /* cuz LOOKUP, we've emitted, so add trailing space if room */ + if (remaining(pos)) + buf[pos++] = ' '; + + return pos; +} + +static char *__dynamic_emit_prefix(struct _ddebug *desc, char *buf) +{ + int pos = 0; + + if (desc->flags & _DPRINTK_FLAGS_INCL_TID) { + if (in_interrupt()) + pos += snprintf(buf + pos, remaining(pos), " "); + else + pos += snprintf(buf + pos, remaining(pos), "[%d] ", + task_pid_vnr(current)); + } + + if (unlikely(desc->flags & _DPRINTK_FLAGS_INCL_LOOKUP)) + pos += __dynamic_emit_lookup(desc, buf, pos); + if (pos >= PREFIX_SIZE) buf[PREFIX_SIZE - 1] = '\0'; @@ -885,7 +895,7 @@ static char *__dynamic_emit_prefix(const struct _ddebug *desc, char *buf) static inline char *dynamic_emit_prefix(struct _ddebug *desc, char *buf) { - if (unlikely(desc->flags & _DPRINTK_FLAGS_INCL_ANY)) + if (desc->flags & _DPRINTK_FLAGS_INCL_ANY) return __dynamic_emit_prefix(desc, buf); return buf; } From patchwork Thu Mar 20 18:51:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027272 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 2005EC36019 for ; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0F35D10E355; Mon, 24 Mar 2025 13:24:24 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="f13kwGIp"; dkim-atps=neutral Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9D58110E6B6; Thu, 20 Mar 2025 18:53:19 +0000 (UTC) Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85dac9729c3so88951039f.2; Thu, 20 Mar 2025 11:53:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496799; x=1743101599; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+kaCTiwhJayt1JlAfm8DPKyx6wcUxQmldJtN5HWBOOw=; b=f13kwGIpGr/6j/bafRLwW4Ij1vZodunc7Y+1jvJi6H2di2JaHsUwDGrAv6WEXu9uZp Js13T+55lOoiCD9ErrHzws9sRrKe7e4x4xm65y1weRz08jRmz9NyKjvKuUottIFwlzcl 32KQC5wF4iIxiNE6a23umj1bAm0p/F7UqhsYPrrDY4BQ0M8Ej/jq3KswLge2sjPtEtrx vnijD0nleUIJqIy/swv19v0WH0ecmlulqLnUuHt/iGk0rnEJXdCzAYwEutWS7GIb9XGs 4yx+rlXGTYHWrJ6gLKgHN1+jqX49s0sJ5a0ZfFeV078NzHvw3nVgYDDVWVr9xwP5Q1+N Eu3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496799; x=1743101599; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+kaCTiwhJayt1JlAfm8DPKyx6wcUxQmldJtN5HWBOOw=; b=Gs+me8rxM300oDp1/9kPWPnozTulTuYOM5vJeMEFVqgF+JA0u/cGu4AEQ2Yhye7XTw GDWFQsp8Opm3w1MaIpic40VcjsXyDWQfCa4nnEvIow3wDtObq4Ud3lwkQaWgjS/vlb7O s+Yvwlx3NGsJD0p1arB6yzir6D9z9MblXFfnxzW6ZcOY4FCEYpcukwio2ZNf/H2oAdzQ 1OV9ryaa48RbxntOiwpLZDctj719lDIghU3OaDgQm1m94CBQPJzv0AV+YgP3P2rYS1fn 3FXhoEnuadXGVLJ/JBHIkiS1u+WrU8jMTXW+l/+8nhKn/rOIg8gY6Uw9Ogu0izSasTCr P2eA== X-Forwarded-Encrypted: i=1; AJvYcCU3pNGDkdh3w0g/+eEtLt7F7ou5ixI0PCGV9VfUiCyv7LIIaOHbyaHGWAwFup/pV1HeZMgYxvULCNooVQFqFEYMTw==@lists.freedesktop.org, AJvYcCUS+x6sWOTx9B4IbtZueapgJw4iQc961Sns6+ELA9FcZOA03HMkEAbux5y0IBOXTviwe1tAWbCvHM2q@lists.freedesktop.org, AJvYcCUdihUtF0nS1Tow5VWCjjtFQldiHI8gOhHYNI8oP0KtaLCFGAlSj1ST/EfhndOyvf5SU7rcOKsjg4AcqKxAnA==@lists.freedesktop.org, AJvYcCV0NYllTUzy/rXZxm+Ni8MVpJdVgsbYFiKXhpVGk3vqEQWDCuYXiGSRpOYOouJflYDB4m6fmBHcYHfs@lists.freedesktop.org, AJvYcCVnnBoZKfluyM7jkLKujSL4lYiZ58KVOb4FRbTpHCsxRqc81oXMr/qKuXpQeC6nKkqpaLAUgfJ6@lists.freedesktop.org X-Gm-Message-State: AOJu0YwLpjx9HxdeJZx8nr/ifs9oQmeeVk5/XmCu7jC9wbmF6Rx6BeWJ 88oJo33ahYqtgM+qgCxUnYXWcxXObcmxrz0Umh27ZH57x8UI0Tyr X-Gm-Gg: ASbGnctbEYBQkPAG0p7SiaH+9UllTAacYSBceFKJLXfGlo3ltwsFOtw5NzTMF5isGEI biyxgXiQEbLWwGIoUverXmzO4oPSX1KI/+CtE4bR280kal6qwz5EHfm6Rk69cHLiGMj48IIh0bd js5oWahQ6g333bVC8nl71YrteoveJ7LRa+Vy9LFTzKbU768EsO9XftgC2uhTdQNiQYUEMnK76Qg r3LDmQQHVLn1A3EQUPUaDFeqKSVaJOkab2LURZKvC8adGHoJYoM6vRHbGPHRlAOnbOCM3yWTSfg HedzPYYEOX2y47gcJBt650XTARqPqMlC/zXeH8mmkYEzPgRjcnJH0RXIfvVNZvn5+dJwiIraedQ N9Q== X-Google-Smtp-Source: AGHT+IG+eXZQew9Zz3S46b21hITOH+yZSzgsGUgOD50otkztworp1cnBoNHaVXECO8PqrRp10phT8Q== X-Received: by 2002:a05:6602:3587:b0:85c:c7f9:9a1c with SMTP id ca18e2360f4ac-85e2cc5fee2mr44402139f.13.1742496798829; Thu, 20 Mar 2025 11:53:18 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:18 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 15/59] dyndbg: hoist classmap-filter-by-modname up to ddebug_add_module Date: Thu, 20 Mar 2025 12:51:53 -0600 Message-ID: <20250320185238.447458-16-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The body of ddebug_attach_module_classes() is dominated by a code-block that finds the contiguous subrange of classmaps matching on modname, and saves it into the ddebug_table's info record. Implement this block in a macro to accommodate different component vectors in the "box" (as named in the for_subvec macro). And hoist its invocation out of ddebug_attach_module_classes() up into ddebug_add_module(). This moves the filtering step up closer to dynamic_debug_init(), which effectively does the same for builtin pr_debug descriptors; segmenting them into subranges by modname. Signed-off-by: Jim Cromie --- lib/dynamic_debug.c | 57 ++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index f7ec2365ab40..192783ff7b98 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -1242,30 +1242,34 @@ static const struct proc_ops proc_fops = { static void ddebug_attach_module_classes(struct ddebug_table *dt, struct _ddebug_info *di) { - struct ddebug_class_map *cm; - int i, nc = 0; - - /* - * Find this module's classmaps in a subrange/wholerange of - * the builtin/modular classmap vector/section. Save the start - * and length of the subrange at its edges. - */ - for_subvec(i, cm, di, maps) { - if (!strcmp(cm->mod_name, dt->mod_name)) { - if (!nc) { - v2pr_info("start subrange, class[%d]: module:%s base:%d len:%d ty:%d\n", - i, cm->mod_name, cm->base, cm->length, cm->map_type); - dt->info.maps.start = cm; - } - nc++; - } - } - if (nc) { - dt->info.maps.len = nc; - vpr_info("module:%s attached %d classes\n", dt->mod_name, nc); - } + vpr_info("module:%s attached %d classes\n", dt->mod_name, dt->info.maps.len); } +/* + * scan the named array: @_vec, ref'd from inside @_box, for the + * start,len of the sub-array of elements matching on ->mod_name; + * remember them in _dst. Macro depends upon the fields being in both + * _box and _dst. + * @_i: caller provided counter var, init'd by macro + * @_sp: cursor into @_vec. + * @_box: ptr to a struct with @_vec, num__##@_vec, mod_name fields. + * @_vec: name of ref into array[T] of builtin/modular __section data. + * @_dst: ptr to struct with @_vec and num__##@_vec fields, both updated. + */ +#define dd_mark_vector_subrange(_i, _dst, _sp, _box, _vec) ({ \ + int nc = 0; \ + for_subvec(_i, _sp, _box, _vec) { \ + if (!strcmp((_sp)->mod_name, (_dst)->mod_name)) { \ + if (!nc++) \ + (_dst)->info._vec.start = (_sp); \ + } else { \ + if (nc) \ + break; /* end of consecutive matches */ \ + } \ + } \ + (_dst)->info._vec.len = nc; \ +}) + /* * Allocate a new ddebug_table for the given module * and add it to the global list. @@ -1273,6 +1277,8 @@ static void ddebug_attach_module_classes(struct ddebug_table *dt, struct _ddebug static int ddebug_add_module(struct _ddebug_info *di, const char *modname) { struct ddebug_table *dt; + struct ddebug_class_map *cm; + int i; if (!di->descs.len) return 0; @@ -1294,6 +1300,13 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) dt->info = *di; INIT_LIST_HEAD(&dt->link); + /* + * for builtin modules, ddebug_init() insures that the di + * cursor marks just the module's descriptors, but it doesn't + * do so for the builtin class _maps & _users. find the + * start,len of the vectors by mod_name, save to dt. + */ + dd_mark_vector_subrange(i, dt, cm, di, maps); if (di->maps.len) ddebug_attach_module_classes(dt, di); From patchwork Thu Mar 20 18:51:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027271 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 47DA5C36014 for ; Mon, 24 Mar 2025 13:24:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D46D610E351; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="b2nFDTSh"; dkim-atps=neutral Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id EE80910E6C0; Thu, 20 Mar 2025 18:53:20 +0000 (UTC) Received: by mail-io1-f44.google.com with SMTP id ca18e2360f4ac-85b44094782so34858139f.3; Thu, 20 Mar 2025 11:53:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496800; x=1743101600; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ys3DO0QFIlWz1YWEmc4oDm+UerRAedF/Oum/l/ITsEA=; b=b2nFDTShGFscO+A0SQdvOUrvmB7tB3PgQFoG6cFCtSvFyC7Z+bYaYFGmU91TRma86W mU1ttAmzkZDYuRwOOx8gsSzeXucZ2Ted5qKGZUeDj4UNkxmHp28HvHDVR3t0xMbvySUU YRj0R3R5hli/5XEeCof58sCzUSHC/wPM186w+z8MEH6YHM5Xtyi0hY8q3O9673Fwz+2p muwRVshSkH8apYWjS5wpBDhl/T6XOkPO9BdkU14puAxrn4bF9v2Wcml3o5A0L9Tg01L9 QgZAbNnDz8ZeyaYGvBIvkm6l00T4/UHXRUSIGM71+N1FcjHHF7z4yY4GRzMbC//WGYg4 leDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496800; x=1743101600; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ys3DO0QFIlWz1YWEmc4oDm+UerRAedF/Oum/l/ITsEA=; b=fu7WSBfPWCDQRTGlyqFh+oWbTkCH4khyICBtfg7zlaBq6+Fyvz/bLtsGme+NMtaQWs fzp4aw4CFpQl4FUtLhMqow6ZFa713zXfhp87NsBX+KSPReMbl4kDAd2BdBfal1Prf9Gv xaGa6aKkiIHxm1RdwzzBGrfG8/fmwRYtYtbs47B/w+oOS7O6JElGVziMMR3FwHJhHqfj 0Pzo0+wHq3G8JXC3ih2tAJrruJ1BO+haeMtvmczLgiy+QnvsFNytCEonEfyK4ks6z167 SU4Lrb7Wqqoe2X5WSndFqcsEE1f+S2QIUHksCFgoTBmVwKM2JP2v/r3+fyhzOHjKlsGN ycfQ== X-Forwarded-Encrypted: i=1; AJvYcCVIkPng/n2W8OaFtuE41OnBj6U7Tx7A+mOXrVx7v7lYKiEqAvAR1uQjXMlWHRPZ82hnGqwJLPcDAgrq@lists.freedesktop.org, AJvYcCWWPd3CVUutcdNUI5oJZTDM/f4LJmNXtDbtO4LtJDH2M++BJ5YX/dlTA3NLUlNRQ6UieHJpRUVC/zvU@lists.freedesktop.org, AJvYcCWixtGvj6OMRbnF8iM9lPfJXYH7Crg+/Ff0MosnG32dxq5StBwC2FPe7qjAgCTZ+wljaBwoKhP1RcJ0jZsQZEt+Wg==@lists.freedesktop.org, AJvYcCXNfk+2UxAMUyoKgUlwXgPNpkmiF4xxt90Dv8eiiunFQra9+z5BXzL4t+jEUss6ksMeY8t+uoUOuZTSEO//zw==@lists.freedesktop.org, AJvYcCXSfqFx+CJvNNbZYt4ZW30VhxmZgTBTdl7rnbA3BBDOcXCBYpKUn+ZAEeNchymzSwUN1Y00G8Si@lists.freedesktop.org X-Gm-Message-State: AOJu0Yy83tUvWU8bO4NNihFlWtgP0Nsg/sRwxmXvfHTQoF9ScKQnRHa0 h7AWcYyVFrhX4FHzBQfIJmwyaqqU+0NbgL724xjm+FlNVmpt3PTM X-Gm-Gg: ASbGnctQiMzHXKgrfpO0yAOofysAuQJCxL9W95jKA9pdNeW6JRzRdHRwLPAZ6P/LN24 2Nx/i8VOcqEJ7rhVyMtHswI+8XM2vku1m3inQToNP67wAHM+LS9z/OMT9n9hYK8aBxcjLNToEx2 6jcDqbrSEyDwmC+SWcfSopEQEY+aGERfLDvs2BKBXE15/+gUWbG8UZoxeAbJEmvx4EN+d70awVL YY4C/x2NmIjTq2pLwHSyH+SKNGPzdPU/KPIoSqxjAIbdR55RYubQcPyG2q8l/n+9idCt8i6zhLd UzWLuoLmyBcvuun7Q3jOTS1u6hulFydfM2s6O40EUcv7uju1CXNxLyxGG6AbYcjWxJC7XDdng0z OFg== X-Google-Smtp-Source: AGHT+IHl+c6ywqxTZXqwNvEIqDMkNmxPp2+M/nooRs1lTtzxHAtnSEr3hLbGxJxPRNOUy3YSv52JzQ== X-Received: by 2002:a05:6602:3998:b0:85b:46d7:1892 with SMTP id ca18e2360f4ac-85e2ca1895amr46439839f.2.1742496799975; Thu, 20 Mar 2025 11:53:19 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:19 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 16/59] dyndbg-API: remove DD_CLASS_TYPE_(DISJOINT|LEVEL)_NAMES and code Date: Thu, 20 Mar 2025 12:51:54 -0600 Message-ID: <20250320185238.447458-17-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Remove the DD_CLASS_TYPE_*_NAMES classmap types and code. These 2 classmap types accept class names at the PARAM interface, for example: echo +DRM_UT_CORE,-DRM_UT_KMS > /sys/module/drm/parameters/debug_names The code works, but its only used by test-dynamic-debug, and wasn't asked for by anyone else, so reduce test-surface, and simplify things. also rename enum class_map_type to enum ddebug_class_map_type. Signed-off-by: Jim Cromie --- include/linux/dynamic_debug.h | 23 ++------ lib/dynamic_debug.c | 102 +++------------------------------- lib/test_dynamic_debug.c | 26 --------- 3 files changed, 14 insertions(+), 137 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 82eabaa6e827..9fb38d79216e 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -60,27 +60,16 @@ struct _ddebug { #endif } __attribute__((aligned(8))); -enum class_map_type { +enum ddebug_class_map_type { DD_CLASS_TYPE_DISJOINT_BITS, /** - * DD_CLASS_TYPE_DISJOINT_BITS: classes are independent, one per bit. - * expecting hex input. Built for drm.debug, basis for other types. + * DD_CLASS_TYPE_DISJOINT_BITS: classes are independent, mapped to bits[0..N]. + * Expects hex input. Built for drm.debug, basis for other types. */ DD_CLASS_TYPE_LEVEL_NUM, /** - * DD_CLASS_TYPE_LEVEL_NUM: input is numeric level, 0-N. - * N turns on just bits N-1 .. 0, so N=0 turns all bits off. - */ - DD_CLASS_TYPE_DISJOINT_NAMES, - /** - * DD_CLASS_TYPE_DISJOINT_NAMES: input is a CSV of [+-]CLASS_NAMES, - * classes are independent, like _DISJOINT_BITS. - */ - DD_CLASS_TYPE_LEVEL_NAMES, - /** - * DD_CLASS_TYPE_LEVEL_NAMES: input is a CSV of [+-]CLASS_NAMES, - * intended for names like: INFO,DEBUG,TRACE, with a module prefix - * avoid EMERG,ALERT,CRIT,ERR,WARNING: they're not debug + * DD_CLASS_TYPE_LEVEL_NUM: input is numeric level, 0..N. + * Input N turns on bits 0..N-1 */ }; @@ -90,7 +79,7 @@ struct ddebug_class_map { const char **class_names; const int length; const int base; /* index of 1st .class_id, allows split/shared space */ - enum class_map_type map_type; + enum ddebug_class_map_type map_type; }; /** diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 192783ff7b98..5df9cc732290 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -655,76 +655,6 @@ static int ddebug_apply_class_bitmap(const struct ddebug_class_param *dcp, #define CLASSMAP_BITMASK(width) ((1UL << (width)) - 1) -/* accept comma-separated-list of [+-] classnames */ -static int param_set_dyndbg_classnames(const char *instr, const struct kernel_param *kp) -{ - const struct ddebug_class_param *dcp = kp->arg; - const struct ddebug_class_map *map = dcp->map; - unsigned long curr_bits, old_bits; - char *cl_str, *p, *tmp; - int cls_id, totct = 0; - bool wanted; - - cl_str = tmp = kstrdup_and_replace(instr, '\n', '\0', GFP_KERNEL); - if (!tmp) - return -ENOMEM; - - /* start with previously set state-bits, then modify */ - curr_bits = old_bits = *dcp->bits; - vpr_info("\"%s\" > %s:0x%lx\n", cl_str, KP_NAME(kp), curr_bits); - - for (; cl_str; cl_str = p) { - p = strchr(cl_str, ','); - if (p) - *p++ = '\0'; - - if (*cl_str == '-') { - wanted = false; - cl_str++; - } else { - wanted = true; - if (*cl_str == '+') - cl_str++; - } - cls_id = match_string(map->class_names, map->length, cl_str); - if (cls_id < 0) { - pr_err("%s unknown to %s\n", cl_str, KP_NAME(kp)); - continue; - } - - /* have one or more valid class_ids of one *_NAMES type */ - switch (map->map_type) { - case DD_CLASS_TYPE_DISJOINT_NAMES: - /* the +/- pertains to a single bit */ - if (test_bit(cls_id, &curr_bits) == wanted) { - v3pr_info("no change on %s\n", cl_str); - continue; - } - curr_bits ^= BIT(cls_id); - totct += ddebug_apply_class_bitmap(dcp, &curr_bits, *dcp->bits, NULL); - *dcp->bits = curr_bits; - v2pr_info("%s: changed bit %d:%s\n", KP_NAME(kp), cls_id, - map->class_names[cls_id]); - break; - case DD_CLASS_TYPE_LEVEL_NAMES: - /* cls_id = N in 0..max. wanted +/- determines N or N-1 */ - old_bits = CLASSMAP_BITMASK(*dcp->lvl); - curr_bits = CLASSMAP_BITMASK(cls_id + (wanted ? 1 : 0 )); - - totct += ddebug_apply_class_bitmap(dcp, &curr_bits, old_bits, NULL); - *dcp->lvl = (cls_id + (wanted ? 1 : 0)); - v2pr_info("%s: changed bit-%d: \"%s\" %lx->%lx\n", KP_NAME(kp), cls_id, - map->class_names[cls_id], old_bits, curr_bits); - break; - default: - pr_err("illegal map-type value %d\n", map->map_type); - } - } - kfree(tmp); - vpr_info("total matches: %d\n", totct); - return 0; -} - static int param_set_dyndbg_module_classes(const char *instr, const struct kernel_param *kp, const char *modnm) @@ -733,29 +663,17 @@ static int param_set_dyndbg_module_classes(const char *instr, const struct ddebug_class_map *map = dcp->map; unsigned long inrep, new_bits, old_bits; int rc, totct = 0; - - switch (map->map_type) { - - case DD_CLASS_TYPE_DISJOINT_NAMES: - case DD_CLASS_TYPE_LEVEL_NAMES: - /* handle [+-]classnames list separately, we are done here */ - return param_set_dyndbg_classnames(instr, kp); - - case DD_CLASS_TYPE_DISJOINT_BITS: - case DD_CLASS_TYPE_LEVEL_NUM: - /* numeric input, accept and fall-thru */ - rc = kstrtoul(instr, 0, &inrep); - if (rc) { - pr_err("expecting numeric input: %s > %s\n", instr, KP_NAME(kp)); - return -EINVAL; - } - break; - default: - pr_err("%s: bad map type: %d\n", KP_NAME(kp), map->map_type); + char *nl; + + rc = kstrtoul(instr, 0, &inrep); + if (rc) { + nl = strchr(instr, '\n'); + if (nl) + *nl = '\0'; + pr_err("expecting numeric input, not: %s > %s\n", instr, KP_NAME(kp)); return -EINVAL; } - /* only _BITS,_NUM (numeric) map-types get here */ switch (map->map_type) { case DD_CLASS_TYPE_DISJOINT_BITS: /* expect bits. mask and warn if too many */ @@ -821,12 +739,8 @@ int param_get_dyndbg_classes(char *buffer, const struct kernel_param *kp) const struct ddebug_class_map *map = dcp->map; switch (map->map_type) { - - case DD_CLASS_TYPE_DISJOINT_NAMES: case DD_CLASS_TYPE_DISJOINT_BITS: return scnprintf(buffer, PAGE_SIZE, "0x%lx\n", *dcp->bits); - - case DD_CLASS_TYPE_LEVEL_NAMES: case DD_CLASS_TYPE_LEVEL_NUM: return scnprintf(buffer, PAGE_SIZE, "%ld\n", *dcp->lvl); default: diff --git a/lib/test_dynamic_debug.c b/lib/test_dynamic_debug.c index 396144cf351b..74d183ebf3e0 100644 --- a/lib/test_dynamic_debug.c +++ b/lib/test_dynamic_debug.c @@ -74,13 +74,6 @@ DECLARE_DYNDBG_CLASSMAP(map_disjoint_bits, DD_CLASS_TYPE_DISJOINT_BITS, 0, DD_SYS_WRAP(disjoint_bits, p); DD_SYS_WRAP(disjoint_bits, T); -/* symbolic input, independent bits */ -enum cat_disjoint_names { LOW = 10, MID, HI }; -DECLARE_DYNDBG_CLASSMAP(map_disjoint_names, DD_CLASS_TYPE_DISJOINT_NAMES, 10, - "LOW", "MID", "HI"); -DD_SYS_WRAP(disjoint_names, p); -DD_SYS_WRAP(disjoint_names, T); - /* numeric verbosity, V2 > V1 related */ enum cat_level_num { V0 = 14, V1, V2, V3, V4, V5, V6, V7 }; DECLARE_DYNDBG_CLASSMAP(map_level_num, DD_CLASS_TYPE_LEVEL_NUM, 14, @@ -88,13 +81,6 @@ DECLARE_DYNDBG_CLASSMAP(map_level_num, DD_CLASS_TYPE_LEVEL_NUM, 14, DD_SYS_WRAP(level_num, p); DD_SYS_WRAP(level_num, T); -/* symbolic verbosity */ -enum cat_level_names { L0 = 22, L1, L2, L3, L4, L5, L6, L7 }; -DECLARE_DYNDBG_CLASSMAP(map_level_names, DD_CLASS_TYPE_LEVEL_NAMES, 22, - "L0", "L1", "L2", "L3", "L4", "L5", "L6", "L7"); -DD_SYS_WRAP(level_names, p); -DD_SYS_WRAP(level_names, T); - /* stand-in for all pr_debug etc */ #define prdbg(SYM) __pr_debug_cls(SYM, #SYM " msg\n") @@ -102,10 +88,6 @@ static void do_cats(void) { pr_debug("doing categories\n"); - prdbg(LOW); - prdbg(MID); - prdbg(HI); - prdbg(D2_CORE); prdbg(D2_DRIVER); prdbg(D2_KMS); @@ -129,14 +111,6 @@ static void do_levels(void) prdbg(V5); prdbg(V6); prdbg(V7); - - prdbg(L1); - prdbg(L2); - prdbg(L3); - prdbg(L4); - prdbg(L5); - prdbg(L6); - prdbg(L7); } static void do_prints(void) From patchwork Thu Mar 20 18:51:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027259 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 BF8D2C36005 for ; Mon, 24 Mar 2025 13:24:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 96EED8902A; Mon, 24 Mar 2025 13:24:22 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Bpq23A6K"; dkim-atps=neutral Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id 801C110E6C7; Thu, 20 Mar 2025 18:53:22 +0000 (UTC) Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-85dac9729c3so88954239f.2; Thu, 20 Mar 2025 11:53:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496802; x=1743101602; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/UNwi/TIUj1qNA/bSEWnh6fPa0A/vVwTuINtFO5q5C4=; b=Bpq23A6KPJ5smvYFquZF/WWHr7rV1lmkkS8Z3aM5aWDy1yNgA3sHbqmmdB0My4jqA2 bOQF1aMrUv9LESadqlE9udEq0zoV0fOhMq2XoQbVg6pW63nAfDni5hLDb7MaVZTMap9S TkrITgtZQTqhMYu0aiYlG/Y8Sz95X5hZ3bEJQJyd8JYYJWP1Yr8HC1cfyaxrCWEWxYrq KuY4Q13QAJb6SmBfZMC3IOAvz6WuH7eRSuLjtOG2TpknGf+X+MsH9T2F8k367Ju2h46Q uiiJNBHoujgwRknsaHF5Q0reD2HGMoMrarFVre8c/4KRv7Kxoxmp/WyO4f0HLR4A7ywr CWCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496802; x=1743101602; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/UNwi/TIUj1qNA/bSEWnh6fPa0A/vVwTuINtFO5q5C4=; b=mvRaQ09neV0MNoeuIU8xpDADxih7jwCcTy629AQk8NhnS7HbNilef7X2ba8B6EIG7U xRe1+5kt7qHWzFnbA79P30EumNfPpAlmsBdYit/pRldvi8wOnjqPL0GSC44/hBvXrGOV A+VELFVaGTtJxzpcHKq/yafCuDVPSVAvMbouYfpvT0ENC8slgaxAe2LpOBh2488TD/Yp wzmhWz1R/N+nRYwDmPVdzRsFjMv6xa9zk3TgALbJ2dMHjL7lQ1uA5HTvDE++Kaqi/AHg +xv/7vXeOMgDSjvpQGlHkJGrm+qELAwN0UJcSyD/Fg4pgyG8JHMXEcwx9WG/2xOxySxQ RfjQ== X-Forwarded-Encrypted: i=1; AJvYcCU786OP0kFgSuVtNADRMKuxwUDxCMgNoSynuyAJaHA2pnu7wzCda4ymvirsP22twFxPLPU7k9M9@lists.freedesktop.org, AJvYcCUpV3mI4y+5BGVFs1w7b1e154eLVG5Fyas2zv73Q+x+QV9gDmxUA0TXgB+Z2XAN2TibASRaBSW2ZTTt+9xFOQ==@lists.freedesktop.org, AJvYcCVohh5sLsTUQbpvvPZ8zL+rbplE4ryGUDtaEGBzebhqT9L5YeAwK6gqz93GSDTJqtVFNLi9yvFn2HDQ@lists.freedesktop.org, AJvYcCXdKqZEt8ByuOkWIs2idZaxPCovfrSYwJkAueau2sXQwaySZ15D2tuDv5wCA4v0A6OFF7spuUQtqTQi@lists.freedesktop.org, AJvYcCXsmCh0lZ67G8sF56zsTzK1TZeoK9hEhdrRctigqiUu5iHopOBJDsD3dQ4+xPb6JmCbdXGNuvSl479XNJNiJibVjg==@lists.freedesktop.org X-Gm-Message-State: AOJu0YxLpIUmhrOuYHvJpXKUH3+ZQOGG8iPIYCqhTNbQc/8JqPBt0urg FqqcNmRTAUomdrrnxX1/PWwN3MtQHF57kxTpRoVFTEGtryc46wal X-Gm-Gg: ASbGncs1ti/1q+VATJOM4TxhdxpLiNdijU/sG2C/2mfnzmy8h7RmcMSjNUOO0jm2ptT GCM2fvsft6uwHFhQ1fa5oQw0JFEBWt1a8qr27y4GBu8gcvAtfO6f543NdZLLOjHhTrh7kzXo0+L OXIXqUvNPObcnV2nKPiMXAOZNcg+hFZM5VuU/qpFyrpJ84xDikg6ppzyEAmgecjNyvLJbMmchM2 STljx2QXXAiNvV8HHj4WcAQaSH/OiMuyFkNLXcBNqDYsIt3HnbGQg89rv2sgLLW1hxZh8yFPIv+ bZ9+pzE/x2H6JinT/DOniGZh23o3JYSljZbplLuScehaKTfRTQ9hY0qitwtuYIEszvzO/md1Q3r gXw== X-Google-Smtp-Source: AGHT+IGoJbVZwxPxkFnfZMlDQ023g8Vce8V+L/oLCOb7ZFfUWGXHS9FAgtZlkFCBHrJYwrrUCOFfJQ== X-Received: by 2002:a05:6602:b8b:b0:85b:505a:7def with SMTP id ca18e2360f4ac-85e2ca729dfmr53950339f.6.1742496801386; Thu, 20 Mar 2025 11:53:21 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:20 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie , linux-doc@vger.kernel.org Subject: [PATCH v2 17/59] dyndbg-API: replace DECLARE_DYNDBG_CLASSMAP Date: Thu, 20 Mar 2025 12:51:55 -0600 Message-ID: <20250320185238.447458-18-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" DECLARE_DYNDBG_CLASSMAP() has a design error; its usage fails a basic K&R rule: "define once, refer many times". When DRM_USE_DYNAMIC_DEBUG=y, it is used across DRM core & drivers; each invocation allocates/inits the classmap understood by that module. All must match for the modules to respond together when DRM.debug categories are enabled. This is brittle; a maintenance foot-gun. Further, its culpable in the CONFIG_DRM_USE_DYNAMIC_DEBUG=Y regression; its use in both core & drivers obfuscates the 2 roles, that caused incomplete initialization when modprobing drivers: 1st drm.ko loads, and dyndbg initializes its DRM.debug callsites, then a drm-driver loads, but too late for the DRM.debug enablement. So retire it, replace with 2 macros: DYNAMIC_DEBUG_CLASSMAP_DEFINE - invoked once from core - drm.ko DYNAMIC_DEBUG_CLASSMAP_USE - from all drm drivers and helpers. DYNAMIC_DEBUG_CLASSMAP_DEFINE: this reworks DECLARE_DYNDBG_CLASSMAP, by dropping the static qualifier on the classmap, and exporting it instead. DYNAMIC_DEBUG_CLASSMAP_USE: then refers to the exported var by name: used from drivers, helper-mods lets us drop the repetitive "classname" declarations fixes 2nd-defn problem creates a ddebug_class_user record in new __dyndbg_class_users section new section is scanned "differently" DECLARE_DYNDBG_CLASSMAP is preserved temporarily, to decouple DRM adaptation work and avoid compile-errs before its done. IOW, DRM gets these fixes when they commit the adopt-new-api patches. The DEFINE,USE distinction, and the separate classmap-use record, allows dyndbg to initialize the driver's & helper's DRM.debug callsites separately after each is modprobed. Basically, the classmap init-scan is repeated for classmap-users. To review, dyndbg's existing __dyndbg_classes[] section does: . catalogs the module's classmaps . tells dyndbg about them, allowing >control . DYNAMIC_DEBUG_CLASSMAP_DEFINE creates section records. . we rename it to: __dyndbg_class_maps[] Then this patch adds __dyndbg_class_users[] section: . catalogs users of classmap definitions elsewhere . authorizes dyndbg to >control user's class'd prdbgs . DYNAMIC_DEBUG_CLASSMAP_USE() creates section records. Now ddebug_add_module(etal) can handle classmap-uses similar to (and after) classmaps; when a dependent module is loaded, if it has classmap-uses (to a classmap-def in another module), that module's kernel params are scanned to find if it has a kparam that is wired to dyndbg's param-ops, and whose classmap is the one being ref'd. To support this, theres a few data/header changes: new struct ddebug_class_user contains: user-module-name, &classmap-defn it records drm-driver's use of a classmap in the section, allowing lookup struct ddebug_info gets 2 new fields for the new sections: class_users, num_class_users. set by dynamic_debug_init() for builtins. or by kernel/module/main:load_info() for loadable modules. vmlinux.lds.h: new BOUNDED_SECTION for __dyndbg_class_users dynamic_debug.c has 2 changes in ddebug_add_module(), ddebug_change(): ddebug_add_module() called ddebug_attach_module_classes() now calls ddebug_apply_class_maps() & ddebug_apply_class_users() these both call ddebug_apply_params(). ddebug_apply_params(new fn): It scans module's/builtin kernel-params, calls ddebug_match_apply_kparam for each to find any params/sysfs-nodes which may be wired to a classmap. ddebug_match_apply_kparam(new fn): 1st, it tests the kernel-param.ops is dyndbg's; this guarantees that the attached arg is a struct ddebug_class_param, which has a ref to the param's state, and to the classmap defining the param's handling. 2nd, it requires that the classmap ref'd by the kparam is the one we're called for; modules can use many separate classmaps (as test_dynamic_debug does). Then apply the "parent" kparam's setting to the dependent module, using ddebug_apply_class_bitmap(). ddebug_change(and callees) also gets adjustments: ddebug_find_valid_class(): This does a search over the module's classmaps, looking for the class FOO echo'd to >control. So now it searches over __dyndbg_class_users[] after __dyndbg_classes[]. ddebug_class_name(): return class-names for defined AND used classes. test_dynamic_debug.c, test_dynamic_debug_submod.c: This demonstrates the 2 types of classmaps & sysfs-params, following the 4-part recipe: 1. define an enum for the classmap: DRM.debug has DRM_UT_{CORE,KMS,...} multiple classes must share 0-62 classid space. 2. DYNAMIC_DEBUG_CLASSMAP_DEFINE(.. DRM_UT_{CORE,KMS,...}) 3. DYNAMIC_DEBUG_CLASSMAP_PARAM* (classmap) 4. DYNAMIC_DEBUG_CLASSMAP_USE() by _submod only, skipping 2,3 Move all the enum declarations together, to better explain how they share the 0..62 class-id space available to a module (non-overlapping subranges). reorg macros 2,3 by name. This gives a tabular format, making it easy to see the pattern of repetition, and the points of change. And extend the test to replicate the 2-module (parent & dependent) scenario which caused the CONFIG_DRM_USE_DYNAMIC_DEBUG=y regression seen in drm & drivers. The _submod.c is a 2-line file: #define _SUBMOD, #include parent. This gives identical complements of prdbgs in parent & _submod, and thus identical print behavior when all of: >control, >params, and parent->_submod propagation are working correctly. It also puts all the parent/_submod declarations together in the same source, with the new ifdef _SUBMOD block invoking DYNAMIC_DEBUG_CLASSMAP_USE for the 2 test-interfaces. I think this is clearer. These 2 modules are both tristate, allowing 3 super/sub combos: Y/Y, Y/M, M/M (not N/Y, since this is disallowed by dependence). Y/Y testing exposed a missing __align(8) in the _METADATA macro, which M/M didn't see because the module-loader memory placement constrains it instead. Fixes: aad0214f3026 ("dyndbg: add DECLARE_DYNDBG_CLASSMAP macro") cc: linux-doc@vger.kernel.org Signed-off-by: Jim Cromie --- v2 a. building 2 .ko's from 1 source file is weird; add a clear comment at the top to justify it (basically cloning) ln 138+ in commit-msg is insufficient. b. retire "DYNDBG_" name shortening b4 adding _CLASSMAP_* macros. c. s/dd_class/_ddebug_class/ d. s/\bddebug\b/_$1/g in header: chgs 1 struct and UNIQUE_ID bases v1.9 - commit-msg tweaks DRM:CHECK warnings on macros: add parens extern DEFINEd _var, static classnames change ddebug_class_user.user_mod_name to .mod_name simplify ddebug_find_valid_class improve vpr_cm_info msg format wrap (base) in macro body move __DYNDBG_CLASSMAP_CHECK above kdoc for DYNDBG_CLASSMAP_DEFINE v1.8 - split drm parts to separate commits. preserve DECLARE_DYNDBG_CLASSMAP to decouple DRM, no flag day. fixup block comment v1.7 - previous submission-blocking bug: missing __align(8) in DYNAMIC_DEBUG_DECLARE_METADATA on ddebug_class_user caused corrupt records, but only for builtin modules; module loader code probably pinned allocations to the right alignment naturally, hiding the bug for typical builds. v6- get rid of WARN_ON_ONCE v?- fix _var expanded 2x in macro dyndbg: This fn formerly returned the map which contained the class (thus validating it), and as a side-effect set the class-id in an outvar. But the caller didn't use the map (after checking its not null), only the valid class-id. So simplify the fn to return the class-id of the validated classname, or -ENOENT when the queried classname is not found. Convey more useful info in the debug-msg: print class-names[0,last], and [base,+len] instead of the class-type printout, which is almost always "type:DISJOINT_BITS". And drop ddebug_classmap_typenames, which is now unused. [root@v6 b0-dd]# modprobe test_dynamic_debug_submod [ 18.864962] dyndbg: loaded classmap: test_dynamic_debug [16..24] V0..V7 [ 18.865046] dyndbg: found kp:p_level_num =0x0 [ 18.865048] dyndbg: mapped to: test_dynamic_debug [16..24] V0..V7 [ 18.865164] dyndbg: p_level_num: lvl:0 bits:0x0 [ 18.865217] dyndbg: loaded classmap: test_dynamic_debug [0..10] D2_CORE..D2_DRMRES [ 18.865297] dyndbg: found kp:p_disjoint_bits =0x0 [ 18.865298] dyndbg: mapped to: test_dynamic_debug [0..10] D2_CORE..D2_DRMRES [ 18.865424] dyndbg: p_disjoint_bits: classbits: 0x0 [ 18.865472] dyndbg: module:test_dynamic_debug attached 2 classmaps [ 18.865533] dyndbg: 23 debug prints in module test_dynamic_debug [ 18.866558] dyndbg: loaded classmap: test_dynamic_debug_submod [16..24] V0..V7 [ 18.866698] dyndbg: found kp:p_level_num =0x0 [ 18.866699] dyndbg: mapped to: test_dynamic_debug_submod [16..24] V0..V7 [ 18.866865] dyndbg: p_level_num: lvl:0 bits:0x0 [ 18.866926] dyndbg: loaded classmap: test_dynamic_debug_submod [0..10] D2_CORE..D2_DRMRES [ 18.867026] dyndbg: found kp:p_disjoint_bits =0x0 [ 18.867027] dyndbg: mapped to: test_dynamic_debug_submod [0..10] D2_CORE..D2_DRMRES [ 18.867193] dyndbg: p_disjoint_bits: classbits: 0x0 [ 18.867255] dyndbg: module:test_dynamic_debug_submod attached 2 classmap uses [ 18.867351] dyndbg: 23 debug prints in module test_dynamic_debug_submod fixup-test-submod fixup-test --- MAINTAINERS | 2 +- include/asm-generic/vmlinux.lds.h | 1 + include/linux/dynamic_debug.h | 107 +++++++++++++++++--- kernel/module/main.c | 3 + lib/Kconfig.debug | 24 ++++- lib/Makefile | 3 + lib/dynamic_debug.c | 157 ++++++++++++++++++++++++------ lib/test_dynamic_debug.c | 132 ++++++++++++++++++------- lib/test_dynamic_debug_submod.c | 14 +++ 9 files changed, 354 insertions(+), 89 deletions(-) create mode 100644 lib/test_dynamic_debug_submod.c diff --git a/MAINTAINERS b/MAINTAINERS index c9763412a508..f98aec07a46d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8136,7 +8136,7 @@ M: Jim Cromie S: Maintained F: include/linux/dynamic_debug.h F: lib/dynamic_debug.c -F: lib/test_dynamic_debug.c +F: lib/test_dynamic_debug*.c DYNAMIC INTERRUPT MODERATION M: Tal Gilboa diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index f834ad1fb8c4..fa382caf2ae2 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -367,6 +367,7 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG) /* implement dynamic printk debug */ \ . = ALIGN(8); \ BOUNDED_SECTION_BY(__dyndbg_class_maps, ___dyndbg_class_maps) \ + BOUNDED_SECTION_BY(__dyndbg_class_users, ___dyndbg_class_users) \ BOUNDED_SECTION_BY(__dyndbg_descriptors, ___dyndbg_descs) \ CODETAG_SECTIONS() \ LIKELY_PROFILE() \ diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 9fb38d79216e..0e3e14ca4765 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -73,9 +73,28 @@ enum ddebug_class_map_type { */ }; -struct ddebug_class_map { - struct module *mod; - const char *mod_name; /* needed for builtins */ +/* + * dyndbg-classmaps are devised to support DRM.debug directly: + * 10 enum-vals: DRM_UT_* define the categories + * ~23 categorized *_dbg() macros, each passing a DRM_UT_* val as 1st arg + * 2 macros below them: drm_dev_dbg, __drm_dbg + * ~5000 calls to the categorized macros, across all of drivers/gpu/drm/ + * + * When CONFIG_DRM_USE_DYNAMIC_DEBUG=y, the 2 low macros are redefined + * to invoke _dynamic_func_call_cls(). This compiles the category + * into each callsite's class_id field, where dyndbg can select on it + * and alter a callsite's patch-state, avoiding repeated __drm_debug + * checks. + * + * To make the callsites manageable from the >control file, authors + * provide a "classmap" of names to class_ids in use by the module(s), + * usually by stringifying the enum-vals. Modules with multiple + * classmaps must arrange to share the 0..62 class_id space. + */ + +struct _ddebug_class_map { + const struct module *mod; /* NULL for builtins */ + const char *mod_name; const char **class_names; const int length; const int base; /* index of 1st .class_id, allows split/shared space */ @@ -83,16 +102,39 @@ struct ddebug_class_map { }; /** - * DECLARE_DYNDBG_CLASSMAP - declare classnames known by a module - * @_var: a struct ddebug_class_map, passed to module_param_cb - * @_type: enum class_map_type, chooses bits/verbose, numeric/symbolic - * @_base: offset of 1st class-name. splits .class_id space - * @classes: class-names used to control class'd prdbgs + * DYNAMIC_DEBUG_CLASSMAP_DEFINE - define debug classes used by a module. + * @_var: name of the classmap, exported for other modules coordinated use. + * @_mapty: enum ddebug_class_map_type: 0:DISJOINT - independent, 1:LEVEL - v2>v1 + * @_base: reserve N classids starting at _base, to split 0..62 classid space + * @classes: names of the N classes. + * + * This tells dyndbg what class_ids the module is using: _base..+N, by + * mapping names onto them. This qualifies "class NAME" >controls on + * the defining module, ignoring unknown names. + */ +#define DYNAMIC_DEBUG_CLASSMAP_DEFINE(_var, _mapty, _base, ...) \ + static const char *_var##_classnames[] = { __VA_ARGS__ }; \ + extern struct _ddebug_class_map _var; \ + struct _ddebug_class_map __aligned(8) __used \ + __section("__dyndbg_class_maps") _var = { \ + .mod = THIS_MODULE, \ + .mod_name = KBUILD_MODNAME, \ + .base = (_base), \ + .map_type = (_mapty), \ + .length = ARRAY_SIZE(_var##_classnames), \ + .class_names = _var##_classnames, \ + }; \ + EXPORT_SYMBOL(_var) + +/* + * XXX: keep this until DRM adapts to use the DEFINE/USE api, it + * differs from DYNAMIC_DEBUG_CLASSMAP_DEFINE by the lack of the + * extern/EXPORT on the struct init, and cascading thinkos. */ #define DECLARE_DYNDBG_CLASSMAP(_var, _maptype, _base, ...) \ static const char *_var##_classnames[] = { __VA_ARGS__ }; \ - static struct ddebug_class_map __aligned(8) __used \ - __section("__dyndbg_classes") _var = { \ + static struct _ddebug_class_map __aligned(8) __used \ + __section("__dyndbg_class_maps") _var = { \ .mod = THIS_MODULE, \ .mod_name = KBUILD_MODNAME, \ .base = _base, \ @@ -101,31 +143,64 @@ struct ddebug_class_map { .class_names = _var##_classnames, \ } +struct _ddebug_class_user { + char *mod_name; + struct _ddebug_class_map *map; +}; + +/** + * DYNAMIC_DEBUG_CLASSMAP_USE - refer to a classmap, DEFINEd elsewhere. + * @_var: name of the exported classmap var + * + * This tells dyndbg that the module has prdbgs with classids defined + * in the named classmap. This qualifies "class NAME" >controls on + * the user module, ignoring unknown names. + */ +#define DYNAMIC_DEBUG_CLASSMAP_USE(_var) \ + DYNAMIC_DEBUG_CLASSMAP_USE_(_var, __UNIQUE_ID(_ddebug_class_user)) +#define DYNAMIC_DEBUG_CLASSMAP_USE_(_var, _uname) \ + extern struct _ddebug_class_map _var; \ + static struct _ddebug_class_user __aligned(8) __used \ + __section("__dyndbg_class_users") _uname = { \ + .mod_name = KBUILD_MODNAME, \ + .map = &(_var), \ + } + /* - * @_ddebug_info: gathers module/builtin dyndbg_* __sections together. + * @_ddebug_info: gathers module/builtin __dyndbg_ __sections + * together, each is a vector: a struct { *addr, int len }. + * * For builtins, it is used as a cursor, with the inner structs - * marking sub-vectors of the builtin __sections in DATA. + * marking sub-vectors of the builtin __sections in DATA_DATA */ struct _ddebug_descs { struct _ddebug *start; int len; } __packed; + struct _ddebug_class_maps { - struct ddebug_class_map *start; + struct _ddebug_class_map *start; int len; } __packed; + +struct _ddebug_class_users { + struct _ddebug_class_user *start; + int len; +} __packed; + struct _ddebug_info { struct _ddebug_descs descs; struct _ddebug_class_maps maps; + struct _ddebug_class_users users; } __packed; -struct ddebug_class_param { +struct _ddebug_class_param { union { unsigned long *bits; unsigned long *lvl; }; char flags[8]; - const struct ddebug_class_map *map; + const struct _ddebug_class_map *map; }; /* @@ -217,7 +292,7 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor, * (|_no_desc): former gets callsite descriptor as 1st arg (for prdbgs) */ #define __dynamic_func_call_cls(id, cls, fmt, func, ...) do { \ - DEFINE_DYNAMIC_DEBUG_METADATA_CLS(id, cls, fmt); \ + DEFINE_DYNAMIC_DEBUG_METADATA_CLS((id), cls, fmt); \ if (DYNAMIC_DEBUG_BRANCH(id)) \ func(&id, ##__VA_ARGS__); \ } while (0) diff --git a/kernel/module/main.c b/kernel/module/main.c index b60f728e36ac..c203b0694f7e 100644 --- a/kernel/module/main.c +++ b/kernel/module/main.c @@ -2627,6 +2627,9 @@ static int find_module_sections(struct module *mod, struct load_info *info) mod->dyndbg_info.maps.start = section_objs(info, "__dyndbg_class_maps", sizeof(*mod->dyndbg_info.maps.start), &mod->dyndbg_info.maps.len); + mod->dyndbg_info.users.start = section_objs(info, "__dyndbg_class_users", + sizeof(*mod->dyndbg_info.users.start), + &mod->dyndbg_info.users.len); #endif return 0; diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 35796c290ca3..91a75f724c1a 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -2905,12 +2905,26 @@ config TEST_STATIC_KEYS If unsure, say N. config TEST_DYNAMIC_DEBUG - tristate "Test DYNAMIC_DEBUG" - depends on DYNAMIC_DEBUG + tristate "Build test-dynamic-debug module" + depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE help - This module registers a tracer callback to count enabled - pr_debugs in a 'do_debugging' function, then alters their - enablements, calls the function, and compares counts. + This module exercises/demonstrates dyndbg's classmap API, by + creating 2 classes: a DISJOINT classmap (supporting DRM.debug) + and a LEVELS/VERBOSE classmap (like verbose2 > verbose1). + + If unsure, say N. + +config TEST_DYNAMIC_DEBUG_SUBMOD + tristate "Build test-dynamic-debug submodule" + default m + depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE + depends on TEST_DYNAMIC_DEBUG + help + This sub-module uses a classmap defined and exported by the + parent module, recapitulating drm & driver's shared use of + drm.debug to control enabled debug-categories. + It is tristate, independent of parent, to allow testing all + proper combinations of parent=y/m submod=y/m. If unsure, say N. diff --git a/lib/Makefile b/lib/Makefile index d5cfc7afbbb8..2c344138d990 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -84,6 +84,7 @@ obj-$(CONFIG_TEST_SORT) += test_sort.o obj-$(CONFIG_TEST_STATIC_KEYS) += test_static_keys.o obj-$(CONFIG_TEST_STATIC_KEYS) += test_static_key_base.o obj-$(CONFIG_TEST_DYNAMIC_DEBUG) += test_dynamic_debug.o +obj-$(CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD) += test_dynamic_debug_submod.o obj-$(CONFIG_TEST_PRINTF) += test_printf.o obj-$(CONFIG_TEST_SCANF) += test_scanf.o @@ -226,6 +227,8 @@ obj-$(CONFIG_ARCH_NEED_CMPXCHG_1_EMU) += cmpxchg-emu.o obj-$(CONFIG_DYNAMIC_DEBUG_CORE) += dynamic_debug.o #ensure exported functions have prototypes CFLAGS_dynamic_debug.o := -DDYNAMIC_DEBUG_MODULE +CFLAGS_test_dynamic_debug.o := -DDYNAMIC_DEBUG_MODULE +CFLAGS_test_dynamic_debug_submod.o := -DDYNAMIC_DEBUG_MODULE obj-$(CONFIG_SYMBOLIC_ERRNAME) += errname.o diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 5df9cc732290..aebafa1be06a 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -29,6 +29,7 @@ #include #include #include + #include #include #include @@ -41,8 +42,10 @@ extern struct _ddebug __start___dyndbg_descs[]; extern struct _ddebug __stop___dyndbg_descs[]; -extern struct ddebug_class_map __start___dyndbg_class_maps[]; -extern struct ddebug_class_map __stop___dyndbg_class_maps[]; +extern struct _ddebug_class_map __start___dyndbg_class_maps[]; +extern struct _ddebug_class_map __stop___dyndbg_class_maps[]; +extern struct _ddebug_class_user __start___dyndbg_class_users[]; +extern struct _ddebug_class_user __stop___dyndbg_class_users[]; struct ddebug_table { struct list_head link; @@ -167,23 +170,28 @@ static void vpr_info_dq(const struct ddebug_query *query, const char *msg) _dt->info.users.len); \ }) -#define __outvar /* filled by callee */ -static struct ddebug_class_map *ddebug_find_valid_class(struct ddebug_table const *dt, - const char *class_string, - __outvar int *class_id) +static int ddebug_find_valid_class(struct ddebug_table const *dt, const char *class_string) { - struct ddebug_class_map *map; + struct _ddebug_class_map *map; + struct _ddebug_class_user *cli; int i, idx; for_subvec(i, map, &dt->info, maps) { idx = match_string(map->class_names, map->length, class_string); if (idx >= 0) { - *class_id = idx + map->base; - return map; + vpr_dt_info(dt, "good-class: %s.%s ", map->mod_name, class_string); + return idx + map->base; } } - *class_id = -ENOENT; - return NULL; + for_subvec(i, cli, &dt->info, users) { + idx = match_string(cli->map->class_names, cli->map->length, class_string); + if (idx >= 0) { + vpr_dt_info(dt, "class-ref: %s -> %s.%s ", + cli->mod_name, cli->map->mod_name, class_string); + return idx + cli->map->base; + } + } + return -ENOENT; } /* @@ -192,16 +200,14 @@ static struct ddebug_class_map *ddebug_find_valid_class(struct ddebug_table cons * callsites, normally the same as number of changes. If verbose, * logs the changes. Takes ddebug_lock. */ -static int ddebug_change(const struct ddebug_query *query, - struct flag_settings *modifiers) +static int ddebug_change(const struct ddebug_query *query, struct flag_settings *modifiers) { int i; struct ddebug_table *dt; unsigned int newflags; unsigned int nfound = 0; struct flagsbuf fbuf, nbuf; - struct ddebug_class_map *map = NULL; - int __outvar valid_class; + int valid_class; /* search for matching ddebugs */ mutex_lock(&ddebug_lock); @@ -213,8 +219,8 @@ static int ddebug_change(const struct ddebug_query *query, continue; if (query->class_string) { - map = ddebug_find_valid_class(dt, query->class_string, &valid_class); - if (!map) + valid_class = ddebug_find_valid_class(dt, query->class_string); + if (valid_class < 0) continue; } else { /* constrain query, do not touch class'd callsites */ @@ -578,7 +584,7 @@ static int ddebug_exec_query(char *query_string, const char *modname) /* handle multiple queries in query string, continue on error, return last error or number of matching callsites. Module name is either - in param (for boot arg) or perhaps in query string. + in the modname arg (for boot args) or perhaps in query string. */ static int ddebug_exec_queries(char *query, const char *modname) { @@ -615,14 +621,14 @@ static int ddebug_exec_queries(char *query, const char *modname) } /* apply a new class-param setting */ -static int ddebug_apply_class_bitmap(const struct ddebug_class_param *dcp, +static int ddebug_apply_class_bitmap(const struct _ddebug_class_param *dcp, const unsigned long *new_bits, const unsigned long old_bits, const char *query_modname) { #define QUERY_SIZE 128 char query[QUERY_SIZE]; - const struct ddebug_class_map *map = dcp->map; + const struct _ddebug_class_map *map = dcp->map; int matches = 0; int bi, ct; @@ -659,8 +665,8 @@ static int param_set_dyndbg_module_classes(const char *instr, const struct kernel_param *kp, const char *modnm) { - const struct ddebug_class_param *dcp = kp->arg; - const struct ddebug_class_map *map = dcp->map; + const struct _ddebug_class_param *dcp = kp->arg; + const struct _ddebug_class_map *map = dcp->map; unsigned long inrep, new_bits, old_bits; int rc, totct = 0; char *nl; @@ -709,7 +715,7 @@ static int param_set_dyndbg_module_classes(const char *instr, /** * param_set_dyndbg_classes - classmap kparam setter * @instr: string echo>d to sysfs, input depends on map_type - * @kp: kp->arg has state: bits/lvl, map, map_type + * @kp: kp->arg has state: bits/lvl, classmap, map_type * * enable/disable all class'd pr_debugs in the classmap. For LEVEL * map-types, enforce * relative levels by bitpos. @@ -735,8 +741,8 @@ EXPORT_SYMBOL(param_set_dyndbg_classes); */ int param_get_dyndbg_classes(char *buffer, const struct kernel_param *kp) { - const struct ddebug_class_param *dcp = kp->arg; - const struct ddebug_class_map *map = dcp->map; + const struct _ddebug_class_param *dcp = kp->arg; + const struct _ddebug_class_map *map = dcp->map; switch (map->map_type) { case DD_CLASS_TYPE_DISJOINT_BITS: @@ -746,6 +752,7 @@ int param_get_dyndbg_classes(char *buffer, const struct kernel_param *kp) default: return -1; } + return 0; } EXPORT_SYMBOL(param_get_dyndbg_classes); @@ -1067,13 +1074,18 @@ static void *ddebug_proc_next(struct seq_file *m, void *p, loff_t *pos) static const char *ddebug_class_name(struct ddebug_table *dt, struct _ddebug *dp) { - struct ddebug_class_map *map; + struct _ddebug_class_map *map; + struct _ddebug_class_user *cli; int i; for_subvec(i, map, &dt->info, maps) if (class_in_range(dp->class_id, map)) return map->class_names[dp->class_id - map->base]; + for_subvec(i, cli, &dt->info, users) + if (class_in_range(dp->class_id, cli->map)) + return cli->map->class_names[dp->class_id - cli->map->base]; + return NULL; } @@ -1154,9 +1166,85 @@ static const struct proc_ops proc_fops = { .proc_write = ddebug_proc_write }; -static void ddebug_attach_module_classes(struct ddebug_table *dt, struct _ddebug_info *di) +#define vpr_cm_info(cm_p, msg_fmt, ...) ({ \ + struct _ddebug_class_map const *_cm = cm_p; \ + v2pr_info(msg_fmt " %s [%d..%d] %s..%s\n", ##__VA_ARGS__, \ + _cm->mod_name, _cm->base, _cm->base + _cm->length, \ + _cm->class_names[0], _cm->class_names[_cm->length - 1]); \ + }) + +static void ddebug_sync_classbits(const struct kernel_param *kp, const char *modname) +{ + const struct _ddebug_class_param *dcp = kp->arg; + + /* clamp initial bitvec, mask off hi-bits */ + if (*dcp->bits & ~CLASSMAP_BITMASK(dcp->map->length)) { + *dcp->bits &= CLASSMAP_BITMASK(dcp->map->length); + v2pr_info("preset classbits: %lx\n", *dcp->bits); + } + /* force class'd prdbgs (in USEr module) to match (DEFINEr module) class-param */ + ddebug_apply_class_bitmap(dcp, dcp->bits, ~0, modname); + ddebug_apply_class_bitmap(dcp, dcp->bits, 0, modname); +} + +static void ddebug_match_apply_kparam(const struct kernel_param *kp, + const struct _ddebug_class_map *map, + const char *modnm) { - vpr_info("module:%s attached %d classes\n", dt->mod_name, dt->info.maps.len); + struct _ddebug_class_param *dcp; + + if (kp->ops != ¶m_ops_dyndbg_classes) + return; + + dcp = (struct _ddebug_class_param *)kp->arg; + + if (map == dcp->map) { + v2pr_info(" kp:%s.%s =0x%lx", modnm, kp->name, *dcp->bits); + vpr_cm_info(map, " %s mapped to: ", modnm); + ddebug_sync_classbits(kp, modnm); + } +} + +static void ddebug_apply_params(const struct _ddebug_class_map *cm, const char *modnm) +{ + const struct kernel_param *kp; +#if IS_ENABLED(CONFIG_MODULES) + int i; + + if (cm->mod) { + vpr_cm_info(cm, "loaded classmap: %s", modnm); + /* ifdef protects the cm->mod->kp deref */ + for (i = 0, kp = cm->mod->kp; i < cm->mod->num_kp; i++, kp++) + ddebug_match_apply_kparam(kp, cm, modnm); + } +#endif + if (!cm->mod) { + vpr_cm_info(cm, "builtin classmap: %s", modnm); + for (kp = __start___param; kp < __stop___param; kp++) + ddebug_match_apply_kparam(kp, cm, modnm); + } +} + +static void ddebug_apply_class_maps(struct ddebug_table *dt) +{ + struct _ddebug_class_map *cm; + int i; + + for_subvec(i, cm, &dt->info, maps) + ddebug_apply_params(cm, cm->mod_name); + + vpr_dt_info(dt, "attached %d classmaps to module: %s ", i, cm->mod_name); +} + +static void ddebug_apply_class_users(struct ddebug_table *dt) +{ + struct _ddebug_class_user *cli; + int i; + + for_subvec(i, cli, &dt->info, users) + ddebug_apply_params(cli->map, cli->mod_name); + + vpr_dt_info(dt, "attached %d class-users to module: %s ", i, cli->mod_name); } /* @@ -1191,7 +1279,8 @@ static void ddebug_attach_module_classes(struct ddebug_table *dt, struct _ddebug static int ddebug_add_module(struct _ddebug_info *di, const char *modname) { struct ddebug_table *dt; - struct ddebug_class_map *cm; + struct _ddebug_class_map *cm; + struct _ddebug_class_user *cli; int i; if (!di->descs.len) @@ -1221,14 +1310,18 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) * start,len of the vectors by mod_name, save to dt. */ dd_mark_vector_subrange(i, dt, cm, di, maps); + dd_mark_vector_subrange(i, dt, cli, di, users); - if (di->maps.len) - ddebug_attach_module_classes(dt, di); + if (dt->info.maps.len) + ddebug_apply_class_maps(dt); mutex_lock(&ddebug_lock); list_add_tail(&dt->link, &ddebug_tables); mutex_unlock(&ddebug_lock); + if (dt->info.users.len) + ddebug_apply_class_users(dt); + vpr_info("%3u debug prints in module %s\n", di->descs.len, modname); return 0; } @@ -1378,8 +1471,10 @@ static int __init dynamic_debug_init(void) struct _ddebug_info di = { .descs.start = __start___dyndbg_descs, .maps.start = __start___dyndbg_class_maps, + .users.start = __start___dyndbg_class_users, .descs.len = __stop___dyndbg_descs - __start___dyndbg_descs, .maps.len = __stop___dyndbg_class_maps - __start___dyndbg_class_maps, + .users.len = __stop___dyndbg_class_users - __start___dyndbg_class_users, }; #ifdef CONFIG_MODULES diff --git a/lib/test_dynamic_debug.c b/lib/test_dynamic_debug.c index 74d183ebf3e0..1070107f74f1 100644 --- a/lib/test_dynamic_debug.c +++ b/lib/test_dynamic_debug.c @@ -6,11 +6,30 @@ * Jim Cromie */ -#define pr_fmt(fmt) "test_dd: " fmt +/* + * This file is built 2x, also making test_dynamic_debug_submod.ko, + * whose 2-line src file #includes this file. This gives us a _submod + * clone with identical pr_debugs, without further maintenance. + * + * If things are working properly, they should operate identically + * when printed or adjusted by >control. This eases visual perusal of + * the logs, and simplifies testing, by easing the proper accounting + * of expectations. + * + * It also puts both halves of the subsystem _DEFINE & _USE use case + * together, and integrates the common ENUM providing both class_ids + * and class-names to both _DEFINErs and _USERs. I think this makes + * the usage clearer. + */ +#if defined(TEST_DYNAMIC_DEBUG_SUBMOD) + #define pr_fmt(fmt) "test_dd_submod: " fmt +#else + #define pr_fmt(fmt) "test_dd: " fmt +#endif #include -/* run tests by reading or writing sysfs node: do_prints */ +/* re-gen output by reading or writing sysfs node: do_prints */ static void do_prints(void); /* device under test */ static int param_set_do_prints(const char *instr, const struct kernel_param *kp) @@ -29,24 +48,39 @@ static const struct kernel_param_ops param_ops_do_prints = { }; module_param_cb(do_prints, ¶m_ops_do_prints, NULL, 0600); -/* - * Using the CLASSMAP api: - * - classmaps must have corresponding enum - * - enum symbols must match/correlate with class-name strings in the map. - * - base must equal enum's 1st value - * - multiple maps must set their base to share the 0-30 class_id space !! - * (build-bug-on tips welcome) - * Additionally, here: - * - tie together sysname, mapname, bitsname, flagsname - */ -#define DD_SYS_WRAP(_model, _flags) \ - static unsigned long bits_##_model; \ - static struct ddebug_class_param _flags##_model = { \ +#define CLASSMAP_BITMASK(width, base) (((1UL << (width)) - 1) << (base)) + +/* sysfs param wrapper, proto-API */ +#define DYNAMIC_DEBUG_CLASSMAP_PARAM_(_model, _flags, _init) \ + static unsigned long bits_##_model = _init; \ + static struct _ddebug_class_param _flags##_##_model = { \ .bits = &bits_##_model, \ .flags = #_flags, \ .map = &map_##_model, \ }; \ - module_param_cb(_flags##_##_model, ¶m_ops_dyndbg_classes, &_flags##_model, 0600) + module_param_cb(_flags##_##_model, ¶m_ops_dyndbg_classes, \ + &_flags##_##_model, 0600) +#ifdef DEBUG +#define DYNAMIC_DEBUG_CLASSMAP_PARAM(_model, _flags) \ + DYNAMIC_DEBUG_CLASSMAP_PARAM_(_model, _flags, ~0) +#else +#define DYNAMIC_DEBUG_CLASSMAP_PARAM(_model, _flags) \ + DYNAMIC_DEBUG_CLASSMAP_PARAM_(_model, _flags, 0) +#endif + +/* + * Demonstrate/test DISJOINT & LEVEL typed classmaps with a sys-param. + * + * To comport with DRM debug-category (an int), classmaps map names to + * ids (also an int). So a classmap starts with an enum; DRM has enum + * debug_category: with DRM_UT_. We use the enum + * values as class-ids, and stringified enum-symbols as classnames. + * + * Modules with multiple CLASSMAPS must have enums with distinct + * value-ranges, as arranged below with explicit enum_sym = X inits. + * To clarify this sharing, declare the 2 enums now, for the 2 + * different classmap types + */ /* numeric input, independent bits */ enum cat_disjoint_bits { @@ -60,26 +94,51 @@ enum cat_disjoint_bits { D2_LEASE, D2_DP, D2_DRMRES }; -DECLARE_DYNDBG_CLASSMAP(map_disjoint_bits, DD_CLASS_TYPE_DISJOINT_BITS, 0, - "D2_CORE", - "D2_DRIVER", - "D2_KMS", - "D2_PRIME", - "D2_ATOMIC", - "D2_VBL", - "D2_STATE", - "D2_LEASE", - "D2_DP", - "D2_DRMRES"); -DD_SYS_WRAP(disjoint_bits, p); -DD_SYS_WRAP(disjoint_bits, T); - -/* numeric verbosity, V2 > V1 related */ -enum cat_level_num { V0 = 14, V1, V2, V3, V4, V5, V6, V7 }; -DECLARE_DYNDBG_CLASSMAP(map_level_num, DD_CLASS_TYPE_LEVEL_NUM, 14, - "V0", "V1", "V2", "V3", "V4", "V5", "V6", "V7"); -DD_SYS_WRAP(level_num, p); -DD_SYS_WRAP(level_num, T); + +/* numeric verbosity, V2 > V1 related. V0 is > D2_DRM_RES */ +enum cat_level_num { V0 = 16, V1, V2, V3, V4, V5, V6, V7 }; + +/* recapitulate DRM's multi-classmap setup */ +#if !defined(TEST_DYNAMIC_DEBUG_SUBMOD) +/* + * In single user, or parent / coordinator (drm.ko) modules, define + * classmaps on the client enums above, and then declares the PARAMS + * ref'g the classmaps. Each is exported. + */ +DYNAMIC_DEBUG_CLASSMAP_DEFINE(map_disjoint_bits, DD_CLASS_TYPE_DISJOINT_BITS, + D2_CORE, + "D2_CORE", + "D2_DRIVER", + "D2_KMS", + "D2_PRIME", + "D2_ATOMIC", + "D2_VBL", + "D2_STATE", + "D2_LEASE", + "D2_DP", + "D2_DRMRES"); + +DYNAMIC_DEBUG_CLASSMAP_DEFINE(map_level_num, DD_CLASS_TYPE_LEVEL_NUM, + V0, "V0", "V1", "V2", "V3", "V4", "V5", "V6", "V7"); + +/* + * now add the sysfs-params + */ + +DYNAMIC_DEBUG_CLASSMAP_PARAM(disjoint_bits, p); +DYNAMIC_DEBUG_CLASSMAP_PARAM(level_num, p); + +#else /* TEST_DYNAMIC_DEBUG_SUBMOD */ + +/* + * in submod/drm-drivers, use the classmaps defined in top/parent + * module above. + */ + +DYNAMIC_DEBUG_CLASSMAP_USE(map_disjoint_bits); +DYNAMIC_DEBUG_CLASSMAP_USE(map_level_num); + +#endif /* stand-in for all pr_debug etc */ #define prdbg(SYM) __pr_debug_cls(SYM, #SYM " msg\n") @@ -115,6 +174,7 @@ static void do_levels(void) static void do_prints(void) { + pr_debug("do_prints:\n"); do_cats(); do_levels(); } diff --git a/lib/test_dynamic_debug_submod.c b/lib/test_dynamic_debug_submod.c new file mode 100644 index 000000000000..672aabf40160 --- /dev/null +++ b/lib/test_dynamic_debug_submod.c @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Kernel module for testing dynamic_debug + * + * Authors: + * Jim Cromie + */ + +/* + * clone the parent, inherit all the properties, for consistency and + * simpler accounting in test expectations. + */ +#define TEST_DYNAMIC_DEBUG_SUBMOD +#include "test_dynamic_debug.c" From patchwork Thu Mar 20 18:51:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027286 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 4973BC36013 for ; Mon, 24 Mar 2025 13:24:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AF38410E372; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dZaqhnV7"; dkim-atps=neutral Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4733A10E6CF; Thu, 20 Mar 2025 18:53:23 +0000 (UTC) Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-85ae4dc67e5so58308339f.2; Thu, 20 Mar 2025 11:53:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496802; x=1743101602; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Scx+4pgT6/r3wOrfhMuoQsBT51wo4Jo6oKezFVp95hs=; b=dZaqhnV7E9o7Cw4yH3+SKY0T8tmj+f5CJ62gOi60e9noqzYxT+T2lc9VpqsbWc8UaK lK4BNkUhjre8h7x0EMNdLcqcMuAzPKIeEOf8mpktguMiGwQc0Nu47JQrCIZaC35E9OkH RdOAo6wZGSQVbePLZrMjVT/gw3bPdfnkU1KtHIw05O1fmtl2V3sYaQ3LeTfJQiywk6Fb OurRt6sadxcj6gD2Blnfp1pjeFV2g7uIG8dPYtXUHV5Hlf8cemb1lxU70WJlbeFhDnzl tJvJY8RdQ5ZCHVSzdGv7UWZN1SeCdhdOWohLGapogwYPGi9yj9UDHegajaXzp7t9fC0G 4Btw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496802; x=1743101602; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Scx+4pgT6/r3wOrfhMuoQsBT51wo4Jo6oKezFVp95hs=; b=iZsfbnPTOy8F36mvo5/ywEUgjg6dZ+Ewv9imGnSeqSarDgscsQ7yaOkSffdPOEGNxQ 27q3zLGMHKkMiLiHkGGoPQW6HlaUKYUbxVlCsSnBy3l9cd2+i1EDygM387WyKS1n0vMQ 3yWN0q4hmC0Y1nzMYcTI54UU6daacuND2jrvNIHkKhrRVfLam6UPXDhUkohmdSRhskWH +rS8oPm3YuRBsnSda7+IbM+uNUOVPfhmPxMzdiFguvlZ69m8YxXz8w1M0NQ5y8Fxaf5d j3Dpgtne7WY+TzQ2sHbCernVbKnNn/4SDKfiuuWL05omgs3uKHF+gu0oomACWoSHCNBB v2gg== X-Forwarded-Encrypted: i=1; AJvYcCVC+1NYWlkmO3UNFu9ph38dMIKIVNnucR6Q2hzHcNvj1OJ2JdzQxll9iTG53v+UnANyCeu9R4dL@lists.freedesktop.org, AJvYcCVkQprNINp8es+TnKfJGSKnTMYa0/jMBJTf/qgaoNnY6MigH7XZNDPhX4LJxUIUXue79SA7RwaGZsqbKLF4QA==@lists.freedesktop.org, AJvYcCVnfEdUenl/RhGtmCJoTuE1GZIb3MJajYlgCjdBby6v64RQDKDg1uqxYlvzeh9YiZtfRHSXXjXisHXK@lists.freedesktop.org, AJvYcCWRhJGiVHmuVT9yK/Z0hiiGB52Cwt+4QcN8BwAv2YolLztuLibfWVy8SR5xF3yehEBOHjsarXxnntTeuAb3owP5Hg==@lists.freedesktop.org, AJvYcCXXMi++q/8RjjzWIfHOm9PxXjVmD/ZrR4Ji/03P69KxxNV1jOeeKYH9W69YS9SW4bPEgTSJtmiEjPsb@lists.freedesktop.org X-Gm-Message-State: AOJu0Yz+wkmHQRW58BrBeHRePVZsS0EaIMVyXAhxen1b0s6X2y0Dpr6+ dfO5GNBSsG/g6xHJMljONRcLeArYBq84QGCcFNoRaNktIJWyJB4RMQPF1fwd X-Gm-Gg: ASbGncvnJSdPi8MK+NBAJG/KUWryXd+63lWb6IVOJGTYSMtcpl8mtwa9HwtwoBSPu8w bb2/sl2hKkWS5mwq5OmpOJKlmzd3EY7qq9+t0ppyjd2dHDLzHNkQz7Ik3EXs5Vk8GanNBanxsZ1 Fu5FpK3s6meWsmt/h3eRCZGHYIlE3m5RddTK7mDMs013rip9h/GqjT4nV3YgyjLbdNphIQAVOIi C5opQYCp9S5F7PQ8IxtQcDwG84oW1cgG8WDAEqcqaI1DUnaxT4C4YBPtYELohBhppZjQAgSigxH Hn2AmxeE0Umf3PsBWJpC4VrbxT4HGvu8YPMIfmaw5CIIp8gcAoKmFwKXr+WD4O7eZZgBlJwHgoU MVjs36m710j+U X-Google-Smtp-Source: AGHT+IEAivRzWuglDAqhPp5KsS7URD0SW/Uj+flNIEVpgj1E1/UOqmybUqewLBGjlnWphL5R0tM7Tw== X-Received: by 2002:a05:6602:389a:b0:85b:423a:1c20 with SMTP id ca18e2360f4ac-85e2cc7021amr37466339f.13.1742496802391; Thu, 20 Mar 2025 11:53:22 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:21 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 18/59] selftests-dyndbg: add tools/testing/selftests/dynamic_debug/* Date: Thu, 20 Mar 2025 12:51:56 -0600 Message-ID: <20250320185238.447458-19-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Add a selftest script for dynamic-debug. The config requires CONFIG_TEST_DYNAMIC_DEBUG=m and CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD=m, which tacitly requires either CONFIG_DYNAMIC_DEBUG=y or CONFIG_DYNAMIC_DEBUG_CORE=y ATM this has just basic_tests(), which modify pr_debug() flags in the builtin params module. This means they're available to manipulate and observe the effects in "cat control". This is backported from another feature branch; the support-fns (thx Lukas) have unused features at the moment, they'll get used shortly. The script enables simple virtme-ng testing: [jimc@gandalf b0-ftrace]$ vrun_t virtme-ng 1.32+115.g07b109d doing: vng --name v6.14-rc4-60-gd5f48427de0c \ --user root -v -p 4 -a dynamic_debug.verbose=3 V=1 \ -- ../tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh virtme: waiting for virtiofsd to start .. And add dynamic_debug to TARGETS, so `make run_tests` sees it properly For the impatient, set TARGETS explicitly: bash-5.2# make TARGETS=dynamic_debug run_tests make[1]: ... TAP version 13 1..1 [ 35.552922] dyndbg: read 3 bytes from userspace [ 35.553099] dyndbg: query 0: "=_" mod:* [ 35.553544] dyndbg: processed 1 queries, with 1778 matches, 0 errs Signed-off-by: Jim Cromie Co-developed-by: Łukasz Bartosik Signed-off-by: Łukasz Bartosik --- - check KCONFIG_CONFIG to avoid silly fails Several tests are dependent upon config choices. Lets avoid failing where that is noise. The KCONFIG_CONFIG var exists to convey the config-file around. If the var names a file, read it and extract the relevant CONFIG items, and use them to skip the dependent tests, thus avoiding the fails that would follow, and the disruption to whatever CI is running these selftests. If the envar doesn't name a config-file, ".config" is assumed. CONFIG_DYNAMIC_DEBUG=y: basic-tests() and comma-terminator-tests() test for the presence of the builtin pr_debugs in module/main.c, which I deemed stable and therefore safe to count. That said, the test fails if only CONFIG_DYNAMIC_DEBUG_CORE=y is set. It could be rewritten to test against test-dynamic-debug.ko, but that just trades one config dependence for another. CONFIG_TEST_DYNAMIC_DEBUG=m As written, test_percent_splitting() modprobes test_dynamic_debug, enables several classes, and count them. It could be re-written to work for the builtin module also, but builtin test modules are not a common or desirable build/config. CONFIG_TEST_DYNAMIC_DEBUG=m && CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD=m test_mod_submod() recaps the bug found in DRM-CI where drivers werent enabled by drm.debug=. It modprobes both test_dynamic_debug & test_dynamic_debug_submod, so it depends on a loadable modules config. It could be rewritten to work in a builtin parent config; DRM=y is common enough to be pertinent, but testing that config also wouldn't really test anything more fully than all-loadable modules, since they default together. --- MAINTAINERS | 1 + tools/testing/selftests/Makefile | 1 + .../testing/selftests/dynamic_debug/Makefile | 9 + tools/testing/selftests/dynamic_debug/config | 2 + .../dynamic_debug/dyndbg_selftest.sh | 256 ++++++++++++++++++ 5 files changed, 269 insertions(+) create mode 100644 tools/testing/selftests/dynamic_debug/Makefile create mode 100644 tools/testing/selftests/dynamic_debug/config create mode 100755 tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh diff --git a/MAINTAINERS b/MAINTAINERS index f98aec07a46d..46515c2f8550 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8137,6 +8137,7 @@ S: Maintained F: include/linux/dynamic_debug.h F: lib/dynamic_debug.c F: lib/test_dynamic_debug*.c +F: tools/testing/selftests/dynamic_debug/* DYNAMIC INTERRUPT MODERATION M: Tal Gilboa diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile index 8daac70c2f9d..b6a323c7f986 100644 --- a/tools/testing/selftests/Makefile +++ b/tools/testing/selftests/Makefile @@ -26,6 +26,7 @@ TARGETS += drivers/net/team TARGETS += drivers/net/virtio_net TARGETS += drivers/platform/x86/intel/ifs TARGETS += dt +TARGETS += dynamic_debug TARGETS += efivarfs TARGETS += exec TARGETS += fchmodat2 diff --git a/tools/testing/selftests/dynamic_debug/Makefile b/tools/testing/selftests/dynamic_debug/Makefile new file mode 100644 index 000000000000..6d06fa7f1040 --- /dev/null +++ b/tools/testing/selftests/dynamic_debug/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-only +# borrowed from Makefile for user memory selftests + +# No binaries, but make sure arg-less "make" doesn't trigger "run_tests" +all: + +TEST_PROGS := dyndbg_selftest.sh + +include ../lib.mk diff --git a/tools/testing/selftests/dynamic_debug/config b/tools/testing/selftests/dynamic_debug/config new file mode 100644 index 000000000000..d080da571ac0 --- /dev/null +++ b/tools/testing/selftests/dynamic_debug/config @@ -0,0 +1,2 @@ +CONFIG_TEST_DYNAMIC_DEBUG=m +CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD=m diff --git a/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh b/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh new file mode 100755 index 000000000000..68a9046405f2 --- /dev/null +++ b/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh @@ -0,0 +1,256 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-only + +V=${V:=0} # invoke as V=1 $0 for global verbose +RED="\033[0;31m" +GREEN="\033[0;32m" +YELLOW="\033[0;33m" +BLUE="\033[0;34m" +MAGENTA="\033[0;35m" +CYAN="\033[0;36m" +NC="\033[0;0m" +error_msg="" + +[ -e /proc/dynamic_debug/control ] || { + echo -e "${RED}: this test requires CONFIG_DYNAMIC_DEBUG=y ${NC}" + exit 0 # nothing to test here, no good reason to fail. +} + +# need info to avoid failures due to untestable configs + +[ -f "$KCONFIG_CONFIG" ] || KCONFIG_CONFIG=".config" +if [ -f "$KCONFIG_CONFIG" ]; then + echo "# consulting KCONFIG_CONFIG: $KCONFIG_CONFIG" + grep -q "CONFIG_DYNAMIC_DEBUG=y" $KCONFIG_CONFIG ; LACK_DD_BUILTIN=$? + grep -q "CONFIG_TEST_DYNAMIC_DEBUG=m" $KCONFIG_CONFIG ; LACK_TMOD=$? + grep -q "CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD=m" $KCONFIG_CONFIG ; LACK_TMOD_SUBMOD=$? + if [ $V -eq 1 ]; then + echo LACK_DD_BUILTIN: $LACK_DD_BUILTIN + echo LACK_TMOD: $LACK_TMOD + echo LACK_TMOD_SUBMOD: $LACK_TMOD_SUBMOD + fi +else + LACK_DD_BUILTIN=0 + LACK_TMOD=0 + LACK_TMOD_SUBMOD=0 +fi + +function vx () { + echo $1 > /sys/module/dynamic_debug/parameters/verbose +} + +function ddgrep () { + grep $1 /proc/dynamic_debug/control +} + +function doprints () { + cat /sys/module/test_dynamic_debug/parameters/do_prints +} + +function ddcmd () { + exp_exit_code=0 + num_args=$# + if [ "${@:$#}" = "pass" ]; then + num_args=$#-1 + elif [ "${@:$#}" = "fail" ]; then + num_args=$#-1 + exp_exit_code=1 + fi + args=${@:1:$num_args} + output=$((echo "$args" > /proc/dynamic_debug/control) 2>&1) + exit_code=$? + error_msg=$(echo $output | cut -d ":" -f 5 | sed -e 's/^[[:space:]]*//') + handle_exit_code $BASH_LINENO $FUNCNAME $exit_code $exp_exit_code +} + +function handle_exit_code() { + local exp_exit_code=0 + [ $# == 4 ] && exp_exit_code=$4 + if [ $3 -ne $exp_exit_code ]; then + echo -e "${RED}: $BASH_SOURCE:$1 $2() expected to exit with code $exp_exit_code" + [ $3 == 1 ] && echo "Error: '$error_msg'" + exit + fi +} + +# $1 - pattern to match, pattern in $1 is enclosed by spaces for a match ""\s$1\s" +# $2 - number of times the pattern passed in $1 is expected to match +# $3 - optional can be set either to "-r" or "-v" +# "-r" means relaxed matching in this case pattern provided in $1 is passed +# as is without enclosing it with spaces +# "-v" prints matching lines +# $4 - optional when $3 is set to "-r" then $4 can be used to pass "-v" +function check_match_ct { + pattern="\s$1\s" + exp_cnt=0 + + [ "$3" == "-r" ] && pattern="$1" + let cnt=$(ddgrep "$pattern" | wc -l) + if [ $V -eq 1 ] || [ "$3" == "-v" ] || [ "$4" == "-v" ]; then + echo -ne "${BLUE}" && ddgrep $pattern && echo -ne "${NC}" + fi + [ $# -gt 1 ] && exp_cnt=$2 + if [ $cnt -ne $exp_cnt ]; then + echo -e "${RED}: $BASH_SOURCE:$BASH_LINENO check failed expected $exp_cnt on $1, got $cnt" + exit + else + echo ": $cnt matches on $1" + fi +} + +# $1 - trace instance name +# #2 - if > 0 then directory is expected to exist, if <= 0 then otherwise +# $3 - "-v" for verbose +function check_trace_instance_dir { + if [ -e /sys/kernel/tracing/instances/$1 ]; then + if [ "$3" == "-v" ] ; then + echo "ls -l /sys/kernel/tracing/instances/$1: " + ls -l /sys/kernel/tracing/instances/$1 + fi + if [ $2 -le 0 ]; then + echo -e "${RED}: $BASH_SOURCE:$BASH_LINENO error trace instance \ + '/sys/kernel/tracing/instances/$1' does exist" + exit + fi + else + if [ $2 -gt 0 ]; then + echo -e "${RED}: $BASH_SOURCE:$BASH_LINENO error trace instance \ + '/sys/kernel/tracing/instances/$1' does not exist" + exit + fi + fi +} + +function tmark { + echo $* > /sys/kernel/tracing/trace_marker +} + +# $1 - trace instance name +# $2 - line number +# $3 - if > 0 then the instance is expected to be opened, otherwise +# the instance is expected to be closed +function check_trace_instance { + output=$(tail -n9 /proc/dynamic_debug/control | grep ": Opened trace instances" \ + | xargs -n1 | grep $1) + if [ "$output" != $1 ] && [ $3 -gt 0 ]; then + echo -e "${RED}: $BASH_SOURCE:$2 trace instance $1 is not opened" + exit + fi + if [ "$output" == $1 ] && [ $3 -le 0 ]; then + echo -e "${RED}: $BASH_SOURCE:$2 trace instance $1 is not closed" + exit + fi +} + +function is_trace_instance_opened { + check_trace_instance $1 $BASH_LINENO 1 +} + +function is_trace_instance_closed { + check_trace_instance $1 $BASH_LINENO 0 +} + +# $1 - trace instance directory to delete +# $2 - if > 0 then directory is expected to be deleted successfully, if <= 0 then otherwise +function del_trace_instance_dir() { + exp_exit_code=1 + [ $2 -gt 0 ] && exp_exit_code=0 + output=$((rmdir /sys/kernel/debug/tracing/instances/$1) 2>&1) + exit_code=$? + error_msg=$(echo $output | cut -d ":" -f 3 | sed -e 's/^[[:space:]]*//') + handle_exit_code $BASH_LINENO $FUNCNAME $exit_code $exp_exit_code +} + +function error_log_ref { + # to show what I got + : echo "# error-log-ref: $1" + : echo cat \$2 +} + +function ifrmmod { + lsmod | grep $1 2>&1>/dev/null && rmmod $1 +} + +# $1 - text to search for +function search_trace() { + search_trace_name 0 1 $1 +} + +# $1 - trace instance name, 0 for global event trace +# $2 - line number counting from the bottom +# $3 - text to search for +function search_trace_name() { + if [ "$1" = "0" ]; then + buf=$(cat /sys/kernel/debug/tracing/trace) + line=$(tail -$2 /sys/kernel/debug/tracing/trace | head -1 | sed -e 's/^[[:space:]]*//') + else + buf=$(cat /sys/kernel/debug/tracing/instances/$1/trace) + line=$(tail -$2 /sys/kernel/debug/tracing/instances/$1/trace | head -1 | \ + sed -e 's/^[[:space:]]*//') + fi + if [ $2 = 0 ]; then + # whole-buf check + output=$(echo $buf | grep "$3") + else + output=$(echo $line | grep "$3") + fi + if [ "$output" = "" ]; then + echo -e "${RED}: $BASH_SOURCE:$BASH_LINENO search for '$3' failed \ + in line '$line' or '$buf'" + exit + fi + if [ $V = 1 ]; then + echo -e "${MAGENTA}: search_trace_name in $1 found: \n$output \nin:${BLUE} $buf ${NC}" + fi +} + +# $1 - error message to check +function check_err_msg() { + if [ "$error_msg" != "$1" ]; then + echo -e "${RED}: $BASH_SOURCE:$BASH_LINENO error message '$error_msg' \ + does not match with '$1'" + exit + fi +} + +function basic_tests { + echo -e "${GREEN}# BASIC_TESTS ${NC}" + if [ $LACK_DD_BUILTIN -eq 1 ]; then + echo "SKIP" + return + fi + ddcmd =_ # zero everything + check_match_ct =p 0 + + # module params are builtin to handle boot args + check_match_ct '\[params\]' 4 -r + ddcmd module params +mpf + check_match_ct =pmf 4 + + # multi-cmd input, newline separated, with embedded comments + cat <<"EOF" > /proc/dynamic_debug/control + module params =_ # clear params + module params +mf # set flags + module params func parse_args +sl # other flags +EOF + check_match_ct =mf 3 + check_match_ct =mfsl 1 + ddcmd =_ +} + +tests_list=( + basic_tests +) + +# Run tests + +ifrmmod test_dynamic_debug_submod +ifrmmod test_dynamic_debug + +for test in "${tests_list[@]}" +do + $test + echo "" +done +echo -en "${GREEN}# Done on: " +date From patchwork Thu Mar 20 18:51:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027276 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 22633C36018 for ; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2348D10E358; Mon, 24 Mar 2025 13:24:24 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NUK7dTy8"; dkim-atps=neutral Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5B2DE10E68C; Thu, 20 Mar 2025 18:53:24 +0000 (UTC) Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-85b43b60b6bso41394339f.0; Thu, 20 Mar 2025 11:53:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496803; x=1743101603; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l1nVDSOdSTk0fqBsskB5sY/F3HN+d83fKtpTqplT46k=; b=NUK7dTy8KHmVK7L/+haCp9mCktG4q16bGFmrsJ8bwZ2sojadNgRINM5o5HinaQ14BS 59KP3lY5xCqWN/jggqX7mVjkLexrEmbElO1TPlMfccJt5xWrr8ife6upaH6KC7AZAbci 8Qb0eteBVxTSv9R9ApR3yPvNuKnhUVRDIjjhmRiyntZuyAe0rd8sDe4vJjpFmiAy8/1z TJkS47+gvhiuosC0Zi7oEwKTC3L2YAdWWMuI9XQcYlOOxRdjYCFU5Cj7FUrrGoTkXZoS 4q12a2InjZuapwdxpoZw2L+NN8cJZMOwnLntckCPbR6uQ9+w8dYM48wZSM2UWQL6HUYj ixxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496803; x=1743101603; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l1nVDSOdSTk0fqBsskB5sY/F3HN+d83fKtpTqplT46k=; b=TUZ4+Sg8nWP53ooS0kAOBLjRww8w5IU0tdKngPs/GaBwA4Oz5yqxxCTk4bZy1ytcCQ zYJMvWwh2uJV/bgfuBWGNq6UGTM0Il/IWLMvf2NyabVJoWI7FvmSEP7l+NtA0zoeNhRf Yz4mU8fDf+Z5HPhu7UjTex5hnd2V1k31I8EAx+iialpszSrn43YpaENrUNTY9o5l6kZq PJX/pmrszcd79KCiNsD9HOB5fTsOTEZWbhemwAXhy0fuSp8SfWkxExZkqO+DVHviYN7o ONmerNn4jipIX2viS0+u35GvYKMbIkixSmMWpPFJ5h1bNFUMRv8B379v4EInqV/sR/64 hTqg== X-Forwarded-Encrypted: i=1; AJvYcCUhWtxohixetWGtK5g5MTrWWKnTZVcK7KK/Kw3mlEiUtLEafFgr0pg3J9bHKerd8HJvP2n0/dyjKFHd@lists.freedesktop.org, AJvYcCUvSIKxDD5kGmAHu13OEDUEyDZwkUmGMlWKl9yqXvkOXgIq46pKbQD/tapptpdzaQ71bNzhX561DQtVvGjs8w==@lists.freedesktop.org, AJvYcCV4SBZmGO+pk0tXihL1P5g7jl9CL+Yoz2VCZ4k7cxXY8ZE7qRAjGAKhyVbsjheX19U+V+4S+MpdQzJ7a0lGyp14Bw==@lists.freedesktop.org, AJvYcCXlt9W2Z046fl0CvXYDRNtjLNOCAoCng9sWOWTMAVmGEu8DHxvGNk9I70+bft7S/PFdkSjVqtADmuMM@lists.freedesktop.org, AJvYcCXrb3Iyef7sDFHc2sape4dFe0v7uZp7/GV6I6IoNrF3TdNvD7IwinWCz2FwarTMXOt8ibhLDDAI@lists.freedesktop.org X-Gm-Message-State: AOJu0Yw5H1OoBnHzy3sHrc6scqhGVzHQE8dOlwaKAEPjP50YchcC0Tii j42h/0Vw5/Z6Rg056YaVpsUKtIkVXb/f5gePG57kufDqgKo49KuU X-Gm-Gg: ASbGncvO81INNDSUeJWGD42rKH4u4GZKe9+obD4GfEOgfFosJm8cHEVtteQdkZLB7Xe MsUuITKj/KzmOvGzHnYu2V8ck+ElNzCGZTtDFZGhHWl6kEmywx7E6xPqqpwYUPxUQteD4k7xN2b ahgWYy13vcCwLthfpSkcxsmU8dJpDT3HWPwOGRlCeZAlZvrsRK7XOjLYksfwSsbmgFit09MbnQS LH64A8j4dsSkZtQWx5zD23VgIp2OCeqDhCMtrp0ARf6Ed34o2rDQ2g996sJADHnbnGidO5LjfJS NTdpnNgwegePmIhMXMASe2O7QHEaYaZO3FCUWTGUOYBADrI7+WaHR1aItcmPrVduGAIl1Y7RyGT ocg== X-Google-Smtp-Source: AGHT+IExFGU9ljWjx6Aj4b9tqQMNQW9GgQqOuAm24OEnh+Sl1LU78XnDIKRwIvCClszHTNZH6s9Ukw== X-Received: by 2002:a05:6602:3791:b0:85b:36cc:201b with SMTP id ca18e2360f4ac-85e2be17260mr111956239f.2.1742496803503; Thu, 20 Mar 2025 11:53:23 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:23 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 19/59] dyndbg: detect class_id reservation conflicts Date: Thu, 20 Mar 2025 12:51:57 -0600 Message-ID: <20250320185238.447458-20-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" If a module _DEFINEs + _USEs 2 or more classmaps, it must devise them to share the per-module 0..62 class-id space; ie their respective base,+length reservations cannot overlap. To detect conflicts at modprobe, add ddebug_class_range_overlap(), call it from ddebug_add_module(), and WARN and return -EINVAL when they're detected. test_dynamic_debug.c: If built with -DFORCE_CLASSID_CONFLICT, the test-modules get 2 bad DYNDBG_CLASS_DEFINE declarations, into parent and the _submod. These conflict with one of the good ones in the parent (D2_CORE..etc), causing the modprobe(s) to warn Signed-off-by: Jim Cromie --- --- lib/dynamic_debug.c | 33 +++++++++++++++++++++++++++++++-- lib/test_dynamic_debug.c | 8 ++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index aebafa1be06a..e84b6677e94d 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -1225,7 +1225,7 @@ static void ddebug_apply_params(const struct _ddebug_class_map *cm, const char * } } -static void ddebug_apply_class_maps(struct ddebug_table *dt) +static void ddebug_apply_class_maps(const struct ddebug_table *dt) { struct _ddebug_class_map *cm; int i; @@ -1236,7 +1236,7 @@ static void ddebug_apply_class_maps(struct ddebug_table *dt) vpr_dt_info(dt, "attached %d classmaps to module: %s ", i, cm->mod_name); } -static void ddebug_apply_class_users(struct ddebug_table *dt) +static void ddebug_apply_class_users(const struct ddebug_table *dt) { struct _ddebug_class_user *cli; int i; @@ -1272,6 +1272,22 @@ static void ddebug_apply_class_users(struct ddebug_table *dt) (_dst)->info._vec.len = nc; \ }) +static int __maybe_unused +ddebug_class_range_overlap(struct _ddebug_class_map *cm, + u64 *reserved_ids) +{ + u64 range = (((1ULL << cm->length) - 1) << cm->base); + + if (range & *reserved_ids) { + pr_err("[%d..%d] on %s conflicts with %llx\n", cm->base, + cm->base + cm->length - 1, cm->class_names[0], + *reserved_ids); + return -EINVAL; + } + *reserved_ids |= range; + return 0; +} + /* * Allocate a new ddebug_table for the given module * and add it to the global list. @@ -1281,6 +1297,7 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) struct ddebug_table *dt; struct _ddebug_class_map *cm; struct _ddebug_class_user *cli; + u64 reserved_ids = 0; int i; if (!di->descs.len) @@ -1312,6 +1329,13 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) dd_mark_vector_subrange(i, dt, cm, di, maps); dd_mark_vector_subrange(i, dt, cli, di, users); + for_subvec(i, cm, &dt->info, maps) + if (ddebug_class_range_overlap(cm, &reserved_ids)) + goto cleanup; + for_subvec(i, cli, &dt->info, users) + if (ddebug_class_range_overlap(cli->map, &reserved_ids)) + goto cleanup; + if (dt->info.maps.len) ddebug_apply_class_maps(dt); @@ -1324,6 +1348,11 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) vpr_info("%3u debug prints in module %s\n", di->descs.len, modname); return 0; +cleanup: + WARN_ONCE("dyndbg multi-classmap conflict in %s\n", modname); + kfree(dt); + return -EINVAL; + } /* helper for ddebug_dyndbg_(boot|module)_param_cb */ diff --git a/lib/test_dynamic_debug.c b/lib/test_dynamic_debug.c index 1070107f74f1..e42916b08fd4 100644 --- a/lib/test_dynamic_debug.c +++ b/lib/test_dynamic_debug.c @@ -128,6 +128,14 @@ DYNAMIC_DEBUG_CLASSMAP_DEFINE(map_level_num, DD_CLASS_TYPE_LEVEL_NUM, DYNAMIC_DEBUG_CLASSMAP_PARAM(disjoint_bits, p); DYNAMIC_DEBUG_CLASSMAP_PARAM(level_num, p); +#ifdef FORCE_CLASSID_CONFLICT +/* + * Enable with -Dflag on compile to test overlapping class-id range + * detection. This should warn on modprobes. + */ +DYNDBG_CLASSMAP_DEFINE(classid_range_conflict, 0, D2_CORE + 1, "D3_CORE"); +#endif + #else /* TEST_DYNAMIC_DEBUG_SUBMOD */ /* From patchwork Thu Mar 20 18:51:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027268 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 83AEEC36016 for ; Mon, 24 Mar 2025 13:24:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CCFB510E350; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Bh7qU2Pg"; dkim-atps=neutral Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id C9CA510E6B7; Thu, 20 Mar 2025 18:53:25 +0000 (UTC) Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85b4170f1f5so31698539f.3; Thu, 20 Mar 2025 11:53:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496805; x=1743101605; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aJ+ezC9PUeelEIyxHgbZMmX02NoHE8P8VEj6JEyG+nM=; b=Bh7qU2PgXKlzCsGkIgGSswnK5oavvzySC8qF2H+5R1vFnT/5cX5Q3uDDgKmARYZIbq GDKCJkD32W1xVtv3u+dFKAsCPT8Z9Gz6FQYBfZHH72b4kj6RBqmblCQoQrM0Cj2W1AoT UMbuMxZof3qgTgRtLmmHgFpjva0784puY+pNt0JO9gDNXOnNnrc3WZUjDzc//PIwYLte cgVBGfeyGDryR7Qzh+eVynfQCy6by46oQtkXBxBFXhmvvd+HM5nHCXweKxBaVZDpqm46 xflGTbnc4teJ9C4+MKRzsVPnVCwYD9/UVntjQ1QhstKpDychBJ8IXiCGtMIXDpqRohWk NEtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496805; x=1743101605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aJ+ezC9PUeelEIyxHgbZMmX02NoHE8P8VEj6JEyG+nM=; b=hDQaXjYbDJe4jQes4/p1MogHknt3Ltd/5I1uT5z0YQLbNhdMft05lEjgCPJxp4b6wH YJ7BZShckda8rDybSem3uevWnhh1DVb8pEso7fkBCPXy7uzWRwo3saFyuEC1nBm4nAf0 GN0uykiztXPnOilY3AVNBPKeHrfDMDRr47NiFZLjXn2tqqAy3F8Cx6g6Ais+SVj0tjBE uwEYBqtgRHSTstay8XPviVv9ttRjXs4dJOE9f6fL0Fo7W51gjdsuZj/fXlxgUDBbyRx3 QQ1vjVO0CChM7DqQBDvAyhQgP9MoQNGMn6E6TzBY1z0vj4mkomC9WmMUkaWcepSR1fWY 02Vg== X-Forwarded-Encrypted: i=1; AJvYcCUFmZI4nvPlzBhQrYZTRLs9VLRsphkOzVtwJZh47RDaY+bTuZQEZJTvij5BeHKc5JhgHlc0m+Ekz4/p@lists.freedesktop.org, AJvYcCVa7kB+QSnda/cZFPaIcUeoICgrNHqi7HXknPtyYuluUGhv158D+a0yCEz/zz/ypP9daSA7KIZQmzqYP45fe1m9qw==@lists.freedesktop.org, AJvYcCW2SLrMKwwcoIgcUA1JbIm0WuaQUO4DLWVAoSuF1XUplKrfUHviGTO3toh3PlwqtlHhn4L/WK/FyPDz/4b4Fw==@lists.freedesktop.org, AJvYcCWBK5DoW8bbAQWtUP0EoK7W3/ysg+tc2UcEcI6ARUDTk4FGz04FUz/JTJd1GwVACfDsm2pyGK6vQ52T@lists.freedesktop.org, AJvYcCWkZ4NhVrAF/ShSceAp/ZBPdHCPEvG2KhX2tzJN83h2okyAH2NUmB7TWIQyRPKz/ZFUBRh5K5+H@lists.freedesktop.org X-Gm-Message-State: AOJu0YylkE5uVFucIwpKLqs42E19QWe+9kfWr7ST2EBhkRtaXpqXLe1K Vrxu/ZXQWCvV0tdHGqaIEcErRA3RigVonX1V4oYZRyBo+S7RrzgK X-Gm-Gg: ASbGncskeoGs/kaynpbWLhs12liV8m/JDZugcTzV40smu4LdE3TyodCRI8UgTQsJoik 3evkhrH8bqStFLIUFX/cAmDYEpYeL1Ico+kpI7QnQGkGfGtvGtrAIXZq2IgDLMEcnFK5Pjy7654 6bi4kM7/wPgR5QSL1jH2yUXpNhX4kOk3rNTVh1r3tPaCrCikXIZQU97D+83X3Qy1p2ZRc5I90eW A6aurCnmxrK3fOidaKWrucvgvuEOiIjbYXLGX5Ig6To1juxt1ys+wt6SCoUgoYHYJcXlyxbzCjt +LXTHa7vz+8atJepWexLDxggDv0fBVS+znYnS89p144kpctwbPCKMqnzdjiehXc5DrLC8I7Skl3 6tQ== X-Google-Smtp-Source: AGHT+IEy21UJZpH5HbjvbS8lr9b570j8LyVCYAhWgxnKz7fNXlLpp2iHEoci/m3GRK4/7vlcpxTMZQ== X-Received: by 2002:a05:6602:b8b:b0:85b:3763:9551 with SMTP id ca18e2360f4ac-85e2ca756a0mr47745639f.7.1742496804887; Thu, 20 Mar 2025 11:53:24 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:24 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 20/59] dyndbg: check DYNDBG_CLASSMAP_DEFINE args at compile-time Date: Thu, 20 Mar 2025 12:51:58 -0600 Message-ID: <20250320185238.447458-21-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Add __DYNDBG_CLASSMAP_CHECK to implement these arg-checks at compile: 0 <= _base < 63 class_names is not empty class_names[0] is a string (class_names.length + _base) < 63 These compile-time checks will prevent several misuses; 4 such examples are added to test_dynamic_debug_submod.ko, and will fail compilation if -DDD_MACRO_ARGCHECK is added to cflags. This wouldn't be useful CONFIG_ item, since it breaks the build. NB: checkpatch complains incorrectly about do-while-0 here; its a strictly file-scope macro, and do-whiles break there. It should soften ERR to WARN and qualify advice wrt file-vs-fn scope, & new-scope-declaratives exception (forex: _METADATA_) The known exceptions by name/pattern works well (_METADATA_ is covered by "struct"), this patch just wants static_assert added. On my list, with above. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- - split static-asserts to __DYNDBG_CLASSMAP_CHECK - move __DYNDBG_CLASSMAP_CHECK above kdoc for DYNDBG_CLASSMAP_DEFINE silences kernel-doc warnings --- include/linux/dynamic_debug.h | 9 +++++++++ lib/test_dynamic_debug.c | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 0e3e14ca4765..da2d677947ee 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -101,6 +101,14 @@ struct _ddebug_class_map { enum ddebug_class_map_type map_type; }; +#define __DYNDBG_CLASSMAP_CHECK(_clnames, _base) \ + static_assert(((_base) >= 0 && (_base) < _DPRINTK_CLASS_DFLT), \ + "_base must be in 0..62"); \ + static_assert(ARRAY_SIZE(_clnames) > 0, \ + "classnames array size must be > 0"); \ + static_assert((ARRAY_SIZE(_clnames) + (_base)) < _DPRINTK_CLASS_DFLT, \ + "_base + classnames.length exceeds range") + /** * DYNAMIC_DEBUG_CLASSMAP_DEFINE - define debug classes used by a module. * @_var: name of the classmap, exported for other modules coordinated use. @@ -114,6 +122,7 @@ struct _ddebug_class_map { */ #define DYNAMIC_DEBUG_CLASSMAP_DEFINE(_var, _mapty, _base, ...) \ static const char *_var##_classnames[] = { __VA_ARGS__ }; \ + __DYNDBG_CLASSMAP_CHECK(_var##_classnames, (_base)); \ extern struct _ddebug_class_map _var; \ struct _ddebug_class_map __aligned(8) __used \ __section("__dyndbg_class_maps") _var = { \ diff --git a/lib/test_dynamic_debug.c b/lib/test_dynamic_debug.c index e42916b08fd4..9f9e3fddd7e6 100644 --- a/lib/test_dynamic_debug.c +++ b/lib/test_dynamic_debug.c @@ -146,8 +146,19 @@ DYNDBG_CLASSMAP_DEFINE(classid_range_conflict, 0, D2_CORE + 1, "D3_CORE"); DYNAMIC_DEBUG_CLASSMAP_USE(map_disjoint_bits); DYNAMIC_DEBUG_CLASSMAP_USE(map_level_num); +#if defined(DD_MACRO_ARGCHECK) +/* + * Exersize compile-time arg-checks in DYNDBG_CLASSMAP_DEFINE. + * These will break compilation. + */ +DYNDBG_CLASSMAP_DEFINE(fail_base_neg, 0, -1, "NEGATIVE_BASE_ARG"); +DYNDBG_CLASSMAP_DEFINE(fail_base_big, 0, 100, "TOOBIG_BASE_ARG"); +DYNDBG_CLASSMAP_DEFINE(fail_str_type, 0, 0, 1 /* not a string */); +DYNDBG_CLASSMAP_DEFINE(fail_emptyclass, 0, 0 /* ,empty */); #endif +#endif /* TEST_DYNAMIC_DEBUG_SUBMOD */ + /* stand-in for all pr_debug etc */ #define prdbg(SYM) __pr_debug_cls(SYM, #SYM " msg\n") From patchwork Thu Mar 20 18:51:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027302 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 B0B53C36012 for ; Mon, 24 Mar 2025 13:24:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EE64A10E3CE; Mon, 24 Mar 2025 13:24:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HcLMUNHW"; dkim-atps=neutral Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id D248210E6CA; Thu, 20 Mar 2025 18:53:26 +0000 (UTC) Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85b40c7d608so100199039f.3; Thu, 20 Mar 2025 11:53:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496806; x=1743101606; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9crVnbk3XjpJrHsY0dIqQRNI8E7oyjJ17chOf0dhmBE=; b=HcLMUNHWPVgHWePmbChAc7QpndKMZc/X7Wb37TuChpkcmyGfdRrp7Hr9q4yFcppneC MrDGDHWcb+DIakgh3/SBwhKtmfexAM91WzqM0XyacLBLnqgjy10kYaxK1RHnYeP0iT/Y 6pAH7ml0Qf4A38L22J3OmbLPtIsrAFrX90KFOQD4vc7Z/y+Lu31+soYDDvcUKNcsWgSj 6OOCw1Pc7xMBeeGx8cYggMFFWFIqGouhqYMjhb1jnFZtnic0hTR6dapVlool49aMYsU0 oGvec2g2vKL/agNlvuW6zpgs3pRLlfiFvhbq+7VkNm/XV6eYJZjgGaMlJIHQC2Bk8k3h STDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496806; x=1743101606; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9crVnbk3XjpJrHsY0dIqQRNI8E7oyjJ17chOf0dhmBE=; b=dn3rGiZd3hyrXDk0w2ICtUusfvzpTtoW8jeRzwwFEa99iJF5RN0lUBobHDuIy353dL jtNdIQ9z5UxlMPiYcmcwc9EH0jHVS8+QUWzdlucpaGvWh2jNEzqyhhhydz03c2o+mzJe PUq4yBABjazgqus98aQKRjS2Zpl9RXuoAb6ani94PqeJvWooBVQUmTFTZzLMxQ+vM1dn 8zOTLWOyLB7Jt0xPBHS1rx1auJ47pJQ0GL8ioPGCewmrx1B4jA14yDGV2MuJx5z0OfTZ htIDS2GMOV1tIIQ0Kwh3kqShxGxTVQlRBZ2RYIYnceKvulOA9/AURiXqqEFwumM88TTi OVZQ== X-Forwarded-Encrypted: i=1; AJvYcCURmOSJoF7eOXxUECNE7r9x2ovrrsR3FhZj8lW9xuTCw9BJYmiUw+NzmiYeNM1V0ZTOnCYiU6ziqzmd@lists.freedesktop.org, AJvYcCUc79+/srW/TONvgLRMidS3QUu7s12WbIz+7nxpOcjgTcsjkL6BLY9VIHD+Y07mBcTcPCo9Yle8ndVKPyMNcQ==@lists.freedesktop.org, AJvYcCUraPDaQxBTj0sIr9qj5Ry6H4Ju4TP2Ngb2JagzRCtjUSC+SNZU7YOKhFgpITuSPQ544sD7xikjJ827SY6dzVv4HA==@lists.freedesktop.org, AJvYcCX32CxLazI9EDygnlPV58u5D+1bxlm6sqoTR64pl0OYGWn4DpodKlvWgvu8eBdqmoZFK1cpBQX0dSHZ@lists.freedesktop.org, AJvYcCX6CGM/TvMAcd6tTo/jkeYTqhhDhstfZHLEZZopjqrjYQKrPQgoC/SHu9bfHHegYuPCE93mQr9G@lists.freedesktop.org X-Gm-Message-State: AOJu0YzifPzvLPszy6CrtFeMHiaSiB2tbGFEFn8wHZZI+I3WqT+agMO4 ExvlEAWNzgazJxJhQU11P0etLdTXNnUph9Z9eAP0y/w/pQHwu7D5O1gmBEbD X-Gm-Gg: ASbGncusXliehLlAWZtaFexvlepF7Rmpaya/S8wG8ehRs0Y9Zqv5m5hepwh8Hu5fg2o cNMQwGBf4meMgj4HjEvr9mK/RxeouH/J9cJHPJKRGKyT3rfhE55ooX4gIfCNw1Fb2E7rtT4jA9f LHAvoNOATLUTWSyUkuqyip+7BlEVVtx8coJnZnBhsvZZZTrOlvX80rpzsqWbutvXUJOmhCOdjD5 fFDqno78PS8cP/+H6vH15jTJlyiJJRzwfwUJnb83mZckgyjxV7s6JGgzo3IAzJ52d+frUaA8s+J KAZc8h8inF2vOyV7fPEXGnHJl759e1NyTxyVacbHJN7UFVShz01K/j8woj6ZkdxMQLQY6Z2zU8h NtXCPWpPhTEd+ X-Google-Smtp-Source: AGHT+IFxuCjaPGKkc88YGwLvCjCbtuIgV8RzngvtW7+0U59GwUXVQHXX/CedAfIKgwgp/utTkRuZ3w== X-Received: by 2002:a05:6602:2b15:b0:85b:482b:8530 with SMTP id ca18e2360f4ac-85e2ca2d1a0mr42658039f.2.1742496806093; Thu, 20 Mar 2025 11:53:26 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:25 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 21/59] dyndbg-test: change do_prints testpoint to accept a loopct Date: Thu, 20 Mar 2025 12:51:59 -0600 Message-ID: <20250320185238.447458-22-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" echo 1000 > /sys/module/test_dynamic_debug/parameters/do_prints This allows its use as a scriptable load generator, to generate dynamic-prefix-emits for flag combinations vs undecorated messages. This will make it easy to assess the cost of the prefixing. Reading the ./do_prints node also prints messages (once) to the-log. NB: the count is clamped to 10000, chosen to be notice able, but not annoying, and not enough to accidentally flood the logs. Signed-off-by: Jim Cromie --- lib/test_dynamic_debug.c | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/lib/test_dynamic_debug.c b/lib/test_dynamic_debug.c index 9f9e3fddd7e6..4a3d2612ef60 100644 --- a/lib/test_dynamic_debug.c +++ b/lib/test_dynamic_debug.c @@ -29,18 +29,30 @@ #include -/* re-gen output by reading or writing sysfs node: do_prints */ - -static void do_prints(void); /* device under test */ +/* re-trigger debug output by reading or writing sysfs node: do_prints */ +#define PRINT_CLAMP 10000 +static void do_prints(unsigned int); /* device under test */ static int param_set_do_prints(const char *instr, const struct kernel_param *kp) { - do_prints(); + int rc; + unsigned int ct; + + rc = kstrtouint(instr, 0, &ct); + if (rc) { + pr_err("expecting numeric input, using 1 instead\n"); + ct = 1; + } + if (ct > PRINT_CLAMP) { + ct = PRINT_CLAMP; + pr_info("clamping print-count to %d\n", ct); + } + do_prints(ct); return 0; } static int param_get_do_prints(char *buffer, const struct kernel_param *kp) { - do_prints(); - return scnprintf(buffer, PAGE_SIZE, "did do_prints\n"); + do_prints(1); + return scnprintf(buffer, PAGE_SIZE, "did 1 do_prints\n"); } static const struct kernel_param_ops param_ops_do_prints = { .set = param_set_do_prints, @@ -191,17 +203,20 @@ static void do_levels(void) prdbg(V7); } -static void do_prints(void) +static void do_prints(unsigned int ct) { - pr_debug("do_prints:\n"); - do_cats(); - do_levels(); + /* maybe clamp this */ + pr_debug("do-prints %d times:\n", ct); + for (; ct; ct--) { + do_cats(); + do_levels(); + } } static int __init test_dynamic_debug_init(void) { pr_debug("init start\n"); - do_prints(); + do_prints(1); pr_debug("init done\n"); return 0; } From patchwork Thu Mar 20 18:52:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027298 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 C5BB4C36010 for ; Mon, 24 Mar 2025 13:24:42 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6DCB810E3B8; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JqG2FrTw"; dkim-atps=neutral Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8D41010E6AE; Thu, 20 Mar 2025 18:53:28 +0000 (UTC) Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-85b4170f1f5so31698739f.3; Thu, 20 Mar 2025 11:53:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496808; x=1743101608; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uI2E927HIgkFdFKYgbxNTllA5Z0Th0Fwd8A4gp431x0=; b=JqG2FrTwjCxolOfbBwzt9PzJOSEpxcknponjDoLKU2Qo9aU3pWmQzesGHnFAAK3cp+ 7gtmfcYobLx+BaICo9eHu5vgangd/7Hoq3+JVCgr82mEX35XeAP7/qWCndnicYMH1Kkc 2YWrUtxK/khRT1ljYTsNGQ43DbY+nyHUZpe8gQSY8AszaGhrsAxkg6QBhDm8I1tR/Hzg DqadjUzYFSo5fWOH4uTdVjNfeV747wXQcOZFjwfrvPJFsM6E9CU+kE2zdtDoGednKwzP CbMRMC0b1It5Gp0v+kcqbXiG28aXZcXg+l5DEEk4Qfg9DglD0uNK35yPBwaagTIH/OQa A1oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496808; x=1743101608; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uI2E927HIgkFdFKYgbxNTllA5Z0Th0Fwd8A4gp431x0=; b=ehlzBC9apMrPWg3eOeUWmx6lNRgE/3VRmQI23xJ47IIuzKHvPK7GevkJ0t0tW3OJu5 odoj0VNjNP39GIwjHsv9Ya/iqnY4Ww2jveiyZ3aBSijV4OpFQpNuk42REeg7TVQDJGN3 Z/AzVWv9HlIBdF7XVPx/7jAENXIBDNcwKhsyDz4NpmBhhqK9IQfj2biu50i0GgYjqLUJ z6SqqTuu224YJ55mr3jo7KwhNSiPrfp2H/miCgnB8wfWPT4Xx19NxohcPkkNK6QYe8QC a3uvTGFWSg3P8F/p3vhnL0p1tLwIAYOCFBrM3phBZ6Nuo408ojh8fQOI1mEE9zrFz9vn ueMA== X-Forwarded-Encrypted: i=1; AJvYcCUQRSxQVvvxjWHs8zOPUukgC/RVytl6IfrEw4858OYaldflCXJAkT6pw29bUql5fwYuoTYsLNvGvhscU+fnWB8wUA==@lists.freedesktop.org, AJvYcCVaP2a/VfzDfU5qgg+FLQ1d+Ws7SgHIiIiBAEAPw7SymxSBaIChhERSc2cTeF62zSUdDwzQqbMqhw4mEYbhJg==@lists.freedesktop.org, AJvYcCWJ5aoXjnRLhHcl/yxApHkhcirCF39yoPe7orKCbYq4lVbCEXGrTOmN8VQIqOkq2pQn3rV1A6hvTgPx@lists.freedesktop.org, AJvYcCWuVkdp6jVzgMWYK0FXWUxB4RA5+9eCg1BJfr/cnKG1SGv+ix33sHcd1TlZnPg6lncaaOrurvpF@lists.freedesktop.org, AJvYcCXdPOJiWFA4qgcgi014rponMAh6qh802uunyH6Ad4R5Nt75xGDlr5IwoBzpYVNmz9ODstBaDlxB93EK@lists.freedesktop.org X-Gm-Message-State: AOJu0Yy3wsgwPtclYMOsaBUyk/k3imlGqRDgiuUAzfidOSS2ph+e26PT 2AWdWXzOBpKpjtzYiCCxezR5qYIXX+P+0a9DUxshqn7xQNxyu4qN X-Gm-Gg: ASbGncucVwvzv3cprRep9TNbA93XaRAt4R2UpxmNKBQbnYE1wPLIFFWBtiLUK3V7IqY 5wrz+QJvZR9ht3xdkNAMoKJtpiynlEwucgxttZmRHtY0oSGmxYNDQhJ+XSHFvQuHmuPElVglRbp 2NeqLSWAUkTdoMCdsjrQiEiYFbzitmCYWNllyqqICZg5R2Mt38wNqSvb4s6TyJ7P9KD5eemnORL J9N7/+pVGrG7QhEEidpH8Y4EtYBZ45FR7O4h4J1EqoyhFvhng6+C3K+ssplsShByfGUiWsOyU8L orgtDowb+pM2Ds+Vp865AATz026i+2vVHqSGS5QvJ2TsiaDwdrk95cvYILySf/lRQgEYw/OgCS2 4WA== X-Google-Smtp-Source: AGHT+IGC06RIeduYqQnsbHvRwmAD5l42lLwVYkvPFOhB5Z0Id2iC10bvcXZ/03inAasdKtHNB5OVgQ== X-Received: by 2002:a05:6602:4884:b0:85b:619e:4083 with SMTP id ca18e2360f4ac-85e2cb1d70amr34409639f.10.1742496807743; Thu, 20 Mar 2025 11:53:27 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:27 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie , linux-doc@vger.kernel.org Subject: [PATCH v2 22/59] dyndbg-API: promote DYNAMIC_DEBUG_CLASSMAP_PARAM to API Date: Thu, 20 Mar 2025 12:52:00 -0600 Message-ID: <20250320185238.447458-23-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" move the DYNAMIC_DEBUG_CLASSMAP_PARAM macro from test-dynamic-debug.c into the header, and refine it, by distinguishing the 2 use cases: 1.DYNAMIC_DEBUG_CLASSMAP_PARAM_REF for DRM, to pass in extern __drm_debug by name. dyndbg keeps bits in it, so drm can still use it as before 2.DYNAMIC_DEBUG_CLASSMAP_PARAM new user (test_dynamic_debug) doesn't need to share state, decls a static long unsigned int to store the bitvec. __DYNAMIC_DEBUG_CLASSMAP_PARAM bottom layer - allocate,init a ddebug-class-param, module-param-cb. Modify ddebug_sync_classbits() argtype deref inside the fn, to give access to all kp members. Also clean up and improve comments in test-code, and add MODULE_DESCRIPTIONs. cc: linux-doc@vger.kernel.org Signed-off-by: Jim Cromie --- -v9 - fixup drm-print.h add PARAM_REF forwarding macros with DYNAMIC_DEBUG_CLASSMAP_PARAM_REF in the API, add DRM_ variant --- include/linux/dynamic_debug.h | 38 +++++++++++++++++++++ lib/dynamic_debug.c | 60 ++++++++++++++++++++++----------- lib/test_dynamic_debug.c | 47 ++++++++++---------------- lib/test_dynamic_debug_submod.c | 9 ++++- 4 files changed, 104 insertions(+), 50 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index da2d677947ee..03a83a83b621 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -212,6 +212,44 @@ struct _ddebug_class_param { const struct _ddebug_class_map *map; }; +/** + * DYNAMIC_DEBUG_CLASSMAP_PARAM - control a ddebug-classmap from a sys-param + * @_name: sysfs node name + * @_var: name of the classmap var defining the controlled classes/bits + * @_flags: flags to be toggled, typically just 'p' + * + * Creates a sysfs-param to control the classes defined by the + * exported classmap, with bits 0..N-1 mapped to the classes named. + * This version keeps class-state in a private long int. + */ +#define DYNAMIC_DEBUG_CLASSMAP_PARAM(_name, _var, _flags) \ + static unsigned long _name##_bvec; \ + __DYNAMIC_DEBUG_CLASSMAP_PARAM(_name, _name##_bvec, _var, _flags) + +/** + * DYNAMIC_DEBUG_CLASSMAP_PARAM_REF - wrap a classmap with a controlling sys-param + * @_name: sysfs node name + * @_bits: name of the module's unsigned long bit-vector, ex: __drm_debug + * @_var: name of the (exported) classmap var defining the classes/bits + * @_flags: flags to be toggled, typically just 'p' + * + * Creates a sysfs-param to control the classes defined by the + * exported clasmap, with bits 0..N-1 mapped to the classes named. + * This version keeps class-state in user @_bits. This lets drm check + * __drm_debug elsewhere too. + */ +#define DYNAMIC_DEBUG_CLASSMAP_PARAM_REF(_name, _bits, _var, _flags) \ + __DYNAMIC_DEBUG_CLASSMAP_PARAM(_name, _bits, _var, _flags) + +#define __DYNAMIC_DEBUG_CLASSMAP_PARAM(_name, _bits, _var, _flags) \ + static struct _ddebug_class_param _name##_##_flags = { \ + .bits = &(_bits), \ + .flags = #_flags, \ + .map = &(_var), \ + }; \ + module_param_cb(_name, ¶m_ops_dyndbg_classes, \ + &_name##_##_flags, 0600) + /* * pr_debug() and friends are globally enabled or modules have selectively * enabled them. diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index e84b6677e94d..3c9fb8324ad6 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -661,6 +661,30 @@ static int ddebug_apply_class_bitmap(const struct _ddebug_class_param *dcp, #define CLASSMAP_BITMASK(width) ((1UL << (width)) - 1) +static void ddebug_class_param_clamp_input(unsigned long *inrep, const struct kernel_param *kp) +{ + const struct _ddebug_class_param *dcp = kp->arg; + const struct _ddebug_class_map *map = dcp->map; + + switch (map->map_type) { + case DD_CLASS_TYPE_DISJOINT_BITS: + /* expect bits. mask and warn if too many */ + if (*inrep & ~CLASSMAP_BITMASK(map->length)) { + pr_warn("%s: input: 0x%lx exceeds mask: 0x%lx, masking\n", + KP_NAME(kp), *inrep, CLASSMAP_BITMASK(map->length)); + *inrep &= CLASSMAP_BITMASK(map->length); + } + break; + case DD_CLASS_TYPE_LEVEL_NUM: + /* input is bitpos, of highest verbosity to be enabled */ + if (*inrep > map->length) { + pr_warn("%s: level:%ld exceeds max:%d, clamping\n", + KP_NAME(kp), *inrep, map->length); + *inrep = map->length; + } + break; + } +} static int param_set_dyndbg_module_classes(const char *instr, const struct kernel_param *kp, const char *modnm) @@ -679,26 +703,15 @@ static int param_set_dyndbg_module_classes(const char *instr, pr_err("expecting numeric input, not: %s > %s\n", instr, KP_NAME(kp)); return -EINVAL; } + ddebug_class_param_clamp_input(&inrep, kp); switch (map->map_type) { case DD_CLASS_TYPE_DISJOINT_BITS: - /* expect bits. mask and warn if too many */ - if (inrep & ~CLASSMAP_BITMASK(map->length)) { - pr_warn("%s: input: 0x%lx exceeds mask: 0x%lx, masking\n", - KP_NAME(kp), inrep, CLASSMAP_BITMASK(map->length)); - inrep &= CLASSMAP_BITMASK(map->length); - } v2pr_info("bits:0x%lx > %s.%s\n", inrep, modnm ?: "*", KP_NAME(kp)); totct += ddebug_apply_class_bitmap(dcp, &inrep, *dcp->bits, modnm); *dcp->bits = inrep; break; case DD_CLASS_TYPE_LEVEL_NUM: - /* input is bitpos, of highest verbosity to be enabled */ - if (inrep > map->length) { - pr_warn("%s: level:%ld exceeds max:%d, clamping\n", - KP_NAME(kp), inrep, map->length); - inrep = map->length; - } old_bits = CLASSMAP_BITMASK(*dcp->lvl); new_bits = CLASSMAP_BITMASK(inrep); v2pr_info("lvl:%ld bits:0x%lx > %s\n", inrep, new_bits, KP_NAME(kp)); @@ -1176,15 +1189,24 @@ static const struct proc_ops proc_fops = { static void ddebug_sync_classbits(const struct kernel_param *kp, const char *modname) { const struct _ddebug_class_param *dcp = kp->arg; + unsigned long new_bits; - /* clamp initial bitvec, mask off hi-bits */ - if (*dcp->bits & ~CLASSMAP_BITMASK(dcp->map->length)) { - *dcp->bits &= CLASSMAP_BITMASK(dcp->map->length); - v2pr_info("preset classbits: %lx\n", *dcp->bits); + ddebug_class_param_clamp_input(dcp->bits, kp); + + switch (dcp->map->map_type) { + case DD_CLASS_TYPE_DISJOINT_BITS: + v2pr_info(" %s: classbits: 0x%lx\n", KP_NAME(kp), *dcp->bits); + ddebug_apply_class_bitmap(dcp, dcp->bits, 0UL, modname); + break; + case DD_CLASS_TYPE_LEVEL_NUM: + new_bits = CLASSMAP_BITMASK(*dcp->lvl); + v2pr_info(" %s: lvl:%ld bits:0x%lx\n", KP_NAME(kp), *dcp->lvl, new_bits); + ddebug_apply_class_bitmap(dcp, &new_bits, 0UL, modname); + break; + default: + pr_err("bad map type %d\n", dcp->map->map_type); + return; } - /* force class'd prdbgs (in USEr module) to match (DEFINEr module) class-param */ - ddebug_apply_class_bitmap(dcp, dcp->bits, ~0, modname); - ddebug_apply_class_bitmap(dcp, dcp->bits, 0, modname); } static void ddebug_match_apply_kparam(const struct kernel_param *kp, diff --git a/lib/test_dynamic_debug.c b/lib/test_dynamic_debug.c index 4a3d2612ef60..78cf5420770a 100644 --- a/lib/test_dynamic_debug.c +++ b/lib/test_dynamic_debug.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Kernel module for testing dynamic_debug + * Kernel module to test/demonstrate dynamic_debug features, + * particularly classmaps and their support for subsystems like DRM. * * Authors: * Jim Cromie @@ -62,24 +63,6 @@ module_param_cb(do_prints, ¶m_ops_do_prints, NULL, 0600); #define CLASSMAP_BITMASK(width, base) (((1UL << (width)) - 1) << (base)) -/* sysfs param wrapper, proto-API */ -#define DYNAMIC_DEBUG_CLASSMAP_PARAM_(_model, _flags, _init) \ - static unsigned long bits_##_model = _init; \ - static struct _ddebug_class_param _flags##_##_model = { \ - .bits = &bits_##_model, \ - .flags = #_flags, \ - .map = &map_##_model, \ - }; \ - module_param_cb(_flags##_##_model, ¶m_ops_dyndbg_classes, \ - &_flags##_##_model, 0600) -#ifdef DEBUG -#define DYNAMIC_DEBUG_CLASSMAP_PARAM(_model, _flags) \ - DYNAMIC_DEBUG_CLASSMAP_PARAM_(_model, _flags, ~0) -#else -#define DYNAMIC_DEBUG_CLASSMAP_PARAM(_model, _flags) \ - DYNAMIC_DEBUG_CLASSMAP_PARAM_(_model, _flags, 0) -#endif - /* * Demonstrate/test DISJOINT & LEVEL typed classmaps with a sys-param. * @@ -110,12 +93,15 @@ enum cat_disjoint_bits { /* numeric verbosity, V2 > V1 related. V0 is > D2_DRM_RES */ enum cat_level_num { V0 = 16, V1, V2, V3, V4, V5, V6, V7 }; -/* recapitulate DRM's multi-classmap setup */ +/* + * use/demonstrate multi-module-group classmaps, as for DRM + */ #if !defined(TEST_DYNAMIC_DEBUG_SUBMOD) /* - * In single user, or parent / coordinator (drm.ko) modules, define - * classmaps on the client enums above, and then declares the PARAMS - * ref'g the classmaps. Each is exported. + * For module-groups of 1+, define classmaps with names (stringified + * enum-symbols) copied from above. 1-to-1 mapping is recommended. + * The classmap is exported, so that other modules in the group can + * link to it and control their prdbgs. */ DYNAMIC_DEBUG_CLASSMAP_DEFINE(map_disjoint_bits, DD_CLASS_TYPE_DISJOINT_BITS, D2_CORE, @@ -134,11 +120,13 @@ DYNAMIC_DEBUG_CLASSMAP_DEFINE(map_level_num, DD_CLASS_TYPE_LEVEL_NUM, V0, "V0", "V1", "V2", "V3", "V4", "V5", "V6", "V7"); /* - * now add the sysfs-params + * for use-cases that want it, provide a sysfs-param to set the + * classes in the classmap. It is at this interface where the + * "v3>v2" property is applied to DD_CLASS_TYPE_LEVEL_NUM inputs. */ -DYNAMIC_DEBUG_CLASSMAP_PARAM(disjoint_bits, p); -DYNAMIC_DEBUG_CLASSMAP_PARAM(level_num, p); +DYNAMIC_DEBUG_CLASSMAP_PARAM(p_disjoint_bits, map_disjoint_bits, p); +DYNAMIC_DEBUG_CLASSMAP_PARAM(p_level_num, map_level_num, p); #ifdef FORCE_CLASSID_CONFLICT /* @@ -149,12 +137,10 @@ DYNDBG_CLASSMAP_DEFINE(classid_range_conflict, 0, D2_CORE + 1, "D3_CORE"); #endif #else /* TEST_DYNAMIC_DEBUG_SUBMOD */ - /* - * in submod/drm-drivers, use the classmaps defined in top/parent - * module above. + * the +1 members of a multi-module group refer to the classmap + * DEFINEd (and exported) above. */ - DYNAMIC_DEBUG_CLASSMAP_USE(map_disjoint_bits); DYNAMIC_DEBUG_CLASSMAP_USE(map_level_num); @@ -229,6 +215,7 @@ static void __exit test_dynamic_debug_exit(void) module_init(test_dynamic_debug_init); module_exit(test_dynamic_debug_exit); +MODULE_DESCRIPTION("test/demonstrate dynamic-debug features"); MODULE_AUTHOR("Jim Cromie "); MODULE_DESCRIPTION("Kernel module for testing dynamic_debug"); MODULE_LICENSE("GPL"); diff --git a/lib/test_dynamic_debug_submod.c b/lib/test_dynamic_debug_submod.c index 672aabf40160..3adf3925fb86 100644 --- a/lib/test_dynamic_debug_submod.c +++ b/lib/test_dynamic_debug_submod.c @@ -1,6 +1,9 @@ // SPDX-License-Identifier: GPL-2.0 /* - * Kernel module for testing dynamic_debug + * Kernel module to test/demonstrate dynamic_debug features, + * particularly classmaps and their support for subsystems, like DRM, + * which defines its drm_debug classmap in drm module, and uses it in + * helpers & drivers. * * Authors: * Jim Cromie @@ -12,3 +15,7 @@ */ #define TEST_DYNAMIC_DEBUG_SUBMOD #include "test_dynamic_debug.c" + +MODULE_DESCRIPTION("test/demonstrate dynamic-debug subsystem support"); +MODULE_AUTHOR("Jim Cromie "); +MODULE_LICENSE("GPL"); From patchwork Thu Mar 20 18:52:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027309 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 7043CC3601B for ; Mon, 24 Mar 2025 13:24:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1EB0410E3D4; Mon, 24 Mar 2025 13:24:36 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Hb38ITGF"; dkim-atps=neutral Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id B769610E69E; Thu, 20 Mar 2025 18:53:29 +0000 (UTC) Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85da5a3667bso37825039f.1; Thu, 20 Mar 2025 11:53:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496809; x=1743101609; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=miAnMW+G7+NaoZuEayKbHBb91/weN+swVxu5PtIC79I=; b=Hb38ITGFB3xPAedBDBm01DNAO8RKjqTGNKHLfe1r8wgUKUpCgBHTEHQmJpx9+Quizc xiYYKr9tWRAjWaUHV2NZjaoyS1HSXnA2e1eJqCL5LA/dEktScFuJ5F94Q4H2L5ZBR381 ZB2zP5QvPFltLBN4Fi15Wn03nb4PgRQ26IX2o5u5sTMKbqRrQfWLugAErSarW1fsKkvz Ael1ysHGtfG7QV3RUKOengXfhXdq0Nadb/Wc7bml7TRVvuElXpUixT2hbxVv9xtxQt1Z gx7XJL4uHkc8BKfw0MK1Fw94ynL5mldPu4UIUSe3mO56PaafEakI9EZWRgBR3leqEyOS 0NBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496809; x=1743101609; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=miAnMW+G7+NaoZuEayKbHBb91/weN+swVxu5PtIC79I=; b=jYaktK0tD3RMpmwr6QeGmkdHg8QsLBlvJRaKCpv5VCQGXZmPkAAZJjxPPHtvMLpraA ck6hvmcPljL+VOwU6d8b1PiP9wd1IX3QAYsA6I3R7VAuJBZJrgWexn21R+NCPsceXel7 J0slu4kCAVck2KRKsyDBOPnk+ptaky/PNn6PbU5Ivvv+ql7TGZTybrVtiRMHYsrFw4h9 bd5Ks8fDRSePOzYjJoiV5pz+tPb/ZVdtTsWCa/B7WBb1MC5EUGLcQGqpIO/hM8KtlfPm dBKtPeut4X64R8ZTF+8BEltSq4eHlgsPd1y1l2Xuef/3ybYQKkArRaSsLNRxc5s1GzC1 shxA== X-Forwarded-Encrypted: i=1; AJvYcCVBI0B66tq3ufhymG0zhTgLPhojpvHsDZBrVApTfzif81kKDBCVd6RY1py20OfiBNIzMTkn5bDnc5XrF6WvmA==@lists.freedesktop.org, AJvYcCVJoGIlP/RLCD+mAJpc7WokZ/ENk1le9MuTiRs0TG+WFCG8FFZxU/BwJBdTvCZZ5WSsZUbFCI86CQzm@lists.freedesktop.org, AJvYcCVoqrDLNKInECbdw0UIH65zr4WNOXruO1D78kAqR5Mim7lBLaHRlXUorIMiLBjKMoT7nS521VTA7apB134FmKhagA==@lists.freedesktop.org, AJvYcCWwCpcizeSG7145uUPXMCUMVfwWBlTPhgaIpM6gU7S0pR3vxzQKE5uRXllTfSlSaXrW7O9O6/w6Aft/@lists.freedesktop.org, AJvYcCXdcyoLchuau4lcX+pZauTnIuSPh4w+bkDLFTvFmw5ohGCvP/r1o5RwZgJMCxGVIEUUqz0rhYXh@lists.freedesktop.org X-Gm-Message-State: AOJu0YzBQv1d9kPzKsSPEMIwVHpvd5SoyIrQHkxlqTGffqQ2145SmrDT fIoy0YaMNggxHnZcJMyE8o0uvJkrTeqO3i7r/QU0oKJNKsJac8d9 X-Gm-Gg: ASbGncuEeGApqSVV/4XTIG7s7hfXc2K3RsoyH00meCcjiTIoobkYs5iZpJ9seYPs7B8 s30rSSX48PbC2f2XAuX2LfFm9HFxcim96kYjWx777B+MgzDeUff2u5q7GzEiNeVGP+/vUru4QCZ eo6eb/RTPQtGLoeKbwCxNg1sFPQuhMzYuYXMhv3dzcEBP+2rwFVwMzUG9fZgJ1JQoRchni/pWfV P1wAynUJQrmtPFV58pAc1h+2+i4VrCWoVWlAUZHFUsGuRC/weR3f1JxlBH2tufA+G4gyBHDqH5T 3L8VUy5X5yp9j+YySQAIFyN/z5sTO4Vu6UOkFW+6n0wuyv3HR0/r7Ow2c575u9Kl3jIwh8KpPOU VyQ== X-Google-Smtp-Source: AGHT+IH8NGUJWZDIAw9cJiX8xKNRxEy2HrBp//+fKWV20TsAyodyKB+bj0tCWt8XGY6BDeLYkZ+T1g== X-Received: by 2002:a05:6602:488b:b0:85e:1879:c708 with SMTP id ca18e2360f4ac-85e2ca388bbmr48595939f.1.1742496808909; Thu, 20 Mar 2025 11:53:28 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:28 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 23/59] dyndbg: move .mod_name from/to structs ddebug_table/_ddebug_info Date: Thu, 20 Mar 2025 12:52:01 -0600 Message-ID: <20250320185238.447458-24-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" struct _ddebug_info already has almost all dyndbg's info for a module, so finish the encapsulation. This puts the datum closer to where its needed, improving the chance that we can obsolete the _ddebug.modame field with a desc_modname(dp) accessor fn. In static ddebug_add_module(&_ddebug_info_cursor..), force the cursor-model by dropping the modname arg, and setting it explicitly into the cursor before the 3 calls to it. struct ddebug_table only uses .mod_name when applying >control changes, and it has a _ddebug_info member anyway, so it keeps access to the field, just with a different offset. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- include/linux/dynamic_debug.h | 1 + lib/dynamic_debug.c | 41 ++++++++++++++++++----------------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 03a83a83b621..8043966a0fd6 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -198,6 +198,7 @@ struct _ddebug_class_users { } __packed; struct _ddebug_info { + const char *mod_name; struct _ddebug_descs descs; struct _ddebug_class_maps maps; struct _ddebug_class_users users; diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 3c9fb8324ad6..cd3eec5bb81c 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -49,7 +49,6 @@ extern struct _ddebug_class_user __stop___dyndbg_class_users[]; struct ddebug_table { struct list_head link; - const char *mod_name; struct _ddebug_info info; }; @@ -166,7 +165,7 @@ static void vpr_info_dq(const struct ddebug_query *query, const char *msg) #define vpr_dt_info(dt_p, msg_p, ...) ({ \ struct ddebug_table const *_dt = dt_p; \ v2pr_info(msg_p " module:%s nd:%d nc:%d nu:%d\n", ##__VA_ARGS__, \ - _dt->mod_name, _dt->info.descs.len, _dt->info.maps.len, \ + _dt->info.mod_name, _dt->info.descs.len, _dt->info.maps.len, \ _dt->info.users.len); \ }) @@ -215,7 +214,7 @@ static int ddebug_change(const struct ddebug_query *query, struct flag_settings /* match against the module name */ if (query->module && - !match_wildcard(query->module, dt->mod_name)) + !match_wildcard(query->module, dt->info.mod_name)) continue; if (query->class_string) { @@ -283,7 +282,7 @@ static int ddebug_change(const struct ddebug_query *query, struct flag_settings #endif v4pr_info("changed %s:%d [%s]%s %s => %s\n", trim_prefix(dp->filename), dp->lineno, - dt->mod_name, dp->function, + dt->info.mod_name, dp->function, ddebug_describe_flags(dp->flags, &fbuf), ddebug_describe_flags(newflags, &nbuf)); dp->flags = newflags; @@ -1123,7 +1122,7 @@ static int ddebug_proc_show(struct seq_file *m, void *p) seq_printf(m, "%s:%u [%s]%s =%s \"", trim_prefix(dp->filename), dp->lineno, - iter->table->mod_name, dp->function, + iter->table->info.mod_name, dp->function, ddebug_describe_flags(dp->flags, &flags)); seq_escape_str(m, dp->format, ESCAPE_SPACE, "\t\r\n\""); seq_putc(m, '"'); @@ -1283,7 +1282,7 @@ static void ddebug_apply_class_users(const struct ddebug_table *dt) #define dd_mark_vector_subrange(_i, _dst, _sp, _box, _vec) ({ \ int nc = 0; \ for_subvec(_i, _sp, _box, _vec) { \ - if (!strcmp((_sp)->mod_name, (_dst)->mod_name)) { \ + if (!strcmp((_sp)->mod_name, (_dst)->info.mod_name)) { \ if (!nc++) \ (_dst)->info._vec.start = (_sp); \ } else { \ @@ -1314,7 +1313,7 @@ ddebug_class_range_overlap(struct _ddebug_class_map *cm, * Allocate a new ddebug_table for the given module * and add it to the global list. */ -static int ddebug_add_module(struct _ddebug_info *di, const char *modname) +static int ddebug_add_module(struct _ddebug_info *di) { struct ddebug_table *dt; struct _ddebug_class_map *cm; @@ -1325,20 +1324,19 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) if (!di->descs.len) return 0; - v3pr_info("add-module: %s %d sites\n", modname, di->descs.len); + v3pr_info("add-module: %s %d sites\n", di->mod_name, di->descs.len); dt = kzalloc(sizeof(*dt), GFP_KERNEL); if (dt == NULL) { - pr_err("error adding module: %s\n", modname); + pr_err("error adding module: %s\n", di->mod_name); return -ENOMEM; } /* - * For built-in modules, name lives in .rodata and is - * immortal. For loaded modules, name points at the name[] - * member of struct module, which lives at least as long as - * this struct ddebug_table. + * For built-in modules, name (as supplied in di by its + * callers) lives in .rodata and is immortal. For loaded + * modules, name points at the name[] member of struct module, + * which lives at least as long as this struct ddebug_table. */ - dt->mod_name = modname; dt->info = *di; INIT_LIST_HEAD(&dt->link); @@ -1368,10 +1366,10 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) if (dt->info.users.len) ddebug_apply_class_users(dt); - vpr_info("%3u debug prints in module %s\n", di->descs.len, modname); + vpr_info("%3u debug prints in module %s\n", di->descs.len, di->mod_name); return 0; cleanup: - WARN_ONCE("dyndbg multi-classmap conflict in %s\n", modname); + WARN_ONCE("dyndbg multi-classmap conflict in %s\n", di->mod_name); kfree(dt); return -EINVAL; @@ -1436,7 +1434,7 @@ static int ddebug_remove_module(const char *mod_name) mutex_lock(&ddebug_lock); list_for_each_entry_safe(dt, nextdt, &ddebug_tables, link) { - if (dt->mod_name == mod_name) { + if (dt->info.mod_name == mod_name) { ddebug_table_free(dt); ret = 0; break; @@ -1456,7 +1454,8 @@ static int ddebug_module_notify(struct notifier_block *self, unsigned long val, switch (val) { case MODULE_STATE_COMING: - ret = ddebug_add_module(&mod->dyndbg_info, mod->name); + mod->dyndbg_info.mod_name = mod->name; + ret = ddebug_add_module(&mod->dyndbg_info); if (ret) WARN(1, "Failed to allocate memory: dyndbg may not work properly.\n"); break; @@ -1556,7 +1555,8 @@ static int __init dynamic_debug_init(void) mod_ct++; di.descs.len = mod_sites; di.descs.start = iter_mod_start; - ret = ddebug_add_module(&di, modname); + di.mod_name = modname; + ret = ddebug_add_module(&di); if (ret) goto out_err; @@ -1567,7 +1567,8 @@ static int __init dynamic_debug_init(void) } di.descs.len = mod_sites; di.descs.start = iter_mod_start; - ret = ddebug_add_module(&di, modname); + di.mod_name = modname; + ret = ddebug_add_module(&di); if (ret) goto out_err; From patchwork Thu Mar 20 18:52:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027316 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 C76EFC36013 for ; Mon, 24 Mar 2025 13:25:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0BE3D10E3E8; Mon, 24 Mar 2025 13:25:48 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="LCiUNLXv"; dkim-atps=neutral Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 16ECB10E687; Thu, 20 Mar 2025 18:53:31 +0000 (UTC) Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85b58d26336so94019339f.2; Thu, 20 Mar 2025 11:53:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496810; x=1743101610; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=N/TmguIcilYWi0b4T/ZXyXvq5cs5z5jPAwptJanq78o=; b=LCiUNLXvDY01MHrdxasE19DdLLt6CYaZ4R34pv+Yf53HKnH7kwPJS0z1rvhVJKp1m8 BeFw3fgBAVzvDgqbZ9e0FeUkiKJ/PtY7AKSiIppxox52BpxYbJoyYg1WTjUja+sGavCQ Y76ih27w26cd6LHaCSoNp7z8LLQM1DOYDJLgtlRwKqrtSzzI6WhBJvM+4QGXgZiZhGUb svpLvFSoYUGtRvKZW/5/IKpAUbZ/RoxMDTg7Uu6VJggRaICBN7fh/G3igVpURPpD26f1 oXPg8oU8HJcQ7kstNeFE3TJdrBL5TSo/L9ktddnYi4X4oY63+U3Tm+uao87chmKX2sWE 8M9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496810; x=1743101610; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=N/TmguIcilYWi0b4T/ZXyXvq5cs5z5jPAwptJanq78o=; b=o1GxfwLkDZJo8Zl7f8MBmIgS2Xt/dmlWMJ8z08C12Tlfy+SkZMA5rU968B+awaGlUn cN6UpTtHWbDA2AyeKeMWCzUp2EONkrMBkqJ29KQdsWvnzE0/J4QWlru07lEayQYgZvrP pA+oa199xWxJHYGV5daU6QnwpbogwYEn/VPiTq3y1bPBUCvlo0Ozm2nCPGqxjRqVCy2M nx2TYhVolSyIJZwYbGPOmlydMc9b9hxAGreSyK5Kb/lW1H8j5Rj8DyvgJadW3pBv45t6 Q9WKvgiVeiBDYJbvrHy6SFvNTz0zYdOoI1CB/MXVB4siWMG/Fu1gjQ4m6keZEWmB5+dc h1OA== X-Forwarded-Encrypted: i=1; AJvYcCVNYS0sTQjtg4M89qQ8V6FGHIBGP/dcg2sWMd4SUcsKrGlgisVyBqoRbao+fqSjAfvHwSHy6s1D@lists.freedesktop.org, AJvYcCVe3Srte/DxwAF6Gn4DWMFDksDU06kUbdLTle+24kdQEfa5uLwRY9gf8BTxKLJNXMLhZ+VxCG0zJW8B@lists.freedesktop.org, AJvYcCWUedLwKcN6SoiX77ayVKIcWqLsc2+n5oDGjfPxmvhO9yD2Zq0nDX4AhJqT+rvmPMtMi3XG71y5jH3V@lists.freedesktop.org, AJvYcCWW6Yb4pFFSg93+rKXZb9oDHjXw9mBMdHjeQo49aS7wPhGS3AKFA6odhubqb6L3Fkdn+0fTUCWBkYCyT/5aEw==@lists.freedesktop.org, AJvYcCXvleLloDKi9IJi0Oqnmo2y/6jndLS5Uv7P3qB4qWjg2MB72a9htG4d8uz7Bd+1m5tdCZ/eCvWG7TQ4RPwM/BX93A==@lists.freedesktop.org X-Gm-Message-State: AOJu0YwRyUVkcAHOvy9lvYufcSJoEFTTsCM3OYE+Lc7cxnAHlyECcK3/ 3zXVebY3xlj5bKUB3FMps23DNEPPyPLX7qO1WGZTCyOq+PPtG+No X-Gm-Gg: ASbGnctDswHTRKpzmqC0+bRJsbOz7lmu+wY5hu8H7evASas/3WgyajRtEu1xsjGzpir tZniJyrgB3/du1GBsIiY9IpDNSjnWBUDVlHiCh/vdENqAkJUmYeg7a3eah1FzviGfY7SMA45Br/ viteu8kFq3sdabtKl/xfMmxOQjBauEjJmHDWt7zfeg4J5nW3wtnitHvwCs+bySVG5OcaTFCaUOh GDQF4P0UU9xXsFn4sTcAWeesRoGLXsLafkAW8ByioOfKq1O/wb01tgdtAdbaqWTA61VilpknhrZ sZnZYmcqHwKInEw0qr7BL9HvprhJ5GhhNDMio29wSlUcUz8rtb0cpkwPSBUUlV5TF86OneWAzOR bfA== X-Google-Smtp-Source: AGHT+IFyIwb+RWjlXVmPJReqZ7Gaf5mcrnSGy/txhhCgyUW+11xOhYLGUO72gS3V0AUotv0u6Xegpw== X-Received: by 2002:a05:6602:4013:b0:85d:115b:bb3f with SMTP id ca18e2360f4ac-85e2ca64287mr43643139f.6.1742496810314; Thu, 20 Mar 2025 11:53:30 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:29 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 24/59] dyndbg: treat comma as a token separator Date: Thu, 20 Mar 2025 12:52:02 -0600 Message-ID: <20250320185238.447458-25-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Treat comma as a token terminator, just like a space. This allows a user to avoid quoting hassles when spaces are otherwise needed: :#> modprobe drm dyndbg=class,DRM_UT_CORE,+p\;class,DRM_UT_KMS,+p or as a boot arg: drm.dyndbg=class,DRM_UT_CORE,+p # todo: support multi-query here Given the many ways a boot-line +args can be assembled and then passed in/down/around shell based tools, this may allow side-stepping all sorts of quoting hassles thru those layers. existing query format: modprobe test_dynamic_debug dyndbg="class D2_CORE +p" new format: modprobe test_dynamic_debug dyndbg=class,D2_CORE,+p Signed-off-by: Jim Cromie Co-developed-by: Łukasz Bartosik Signed-off-by: Łukasz Bartosik Reviewed-by: Louis Chauvet --- lib/dynamic_debug.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index cd3eec5bb81c..168663629ef2 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -293,6 +293,14 @@ static int ddebug_change(const struct ddebug_query *query, struct flag_settings return nfound; } +static char *skip_spaces_and_commas(const char *str) +{ + str = skip_spaces(str); + while (*str == ',') + str = skip_spaces(++str); + return (char *)str; +} + /* * Split the buffer `buf' into space-separated words. * Handles simple " and ' quoting, i.e. without nested, @@ -306,8 +314,8 @@ static int ddebug_tokenize(char *buf, char *words[], int maxwords) while (*buf) { char *end; - /* Skip leading whitespace */ - buf = skip_spaces(buf); + /* Skip leading whitespace and comma */ + buf = skip_spaces_and_commas(buf); if (!*buf) break; /* oh, it was trailing whitespace */ if (*buf == '#') @@ -323,7 +331,7 @@ static int ddebug_tokenize(char *buf, char *words[], int maxwords) return -EINVAL; /* unclosed quote */ } } else { - for (end = buf; *end && !isspace(*end); end++) + for (end = buf; *end && !isspace(*end) && *end != ','; end++) ; if (end == buf) { pr_err("parse err after word:%d=%s\n", nwords, @@ -595,7 +603,8 @@ static int ddebug_exec_queries(char *query, const char *modname) if (split) *split++ = '\0'; - query = skip_spaces(query); + query = skip_spaces_and_commas(query); + if (!query || !*query || *query == '#') continue; From patchwork Thu Mar 20 18:52:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027287 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 E91DAC3600C for ; Mon, 24 Mar 2025 13:24:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C263A10E3BF; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="BZCfjywl"; dkim-atps=neutral Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id 16C1410E68A; Thu, 20 Mar 2025 18:53:32 +0000 (UTC) Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-85ad83ba141so144363439f.2; Thu, 20 Mar 2025 11:53:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496811; x=1743101611; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gMXprwpPowLLoVogtCcQtZ50lNSDFQUUtuE2MLi/rpw=; b=BZCfjywlVUV1SWkk983M8UmnjVPvLC2Yf4Ggfzf+Hh358wueCvpTo24UKno8GsCt87 XWLWLKLZXTZTCi+uaJo7A7ONQSjU73z6/rTklMTWz6mAwHGzaHh3nJfsvEJQ3qgz3iMv m4iCjxhsS6UaLu+yilAVryMoa2CPF66l5t+D9snZtqGacGjstMIIoHZ2c7VCNM3qIYmB B9b9canL3Oot11urxcmoD3arLx8ZySSPu4PcMBSSDLHECyXyywx/tZvgToCGpv0ayK8p 96nGXrWKU8sUwc0d6jymQiu5NB18EEqJMfnALHprx6p3xUlwXKhxa24gfHv1rfNZIfs8 G7sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496811; x=1743101611; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gMXprwpPowLLoVogtCcQtZ50lNSDFQUUtuE2MLi/rpw=; b=RaNYqhld1v2tnRMzt5LgcJQLfwWSbBwzEweJilbizADOF1CGsCf5C8ehv0vsWRnWa8 0CE4fwimqE9n/IB40Ws4bPLOa2Kzze+TKRAIN1vYq4YJ5XB3W8wYBDrwRkPTPJWngTpJ c72r5yBtqqgD3EEh8x/Gg5t5jcf0EGClrIGDyI/xqPz9GpT83Y63a+l/mG1Yd1dls4wL dWzz5RC8o7o9z43G1RnVlOwv2gEIFjODWK7Vg4BQ0LvfCo1Xpa5t0mCwaqbGbmkU1BcB +FzM6mlasmPy42UQR9GFf+SmaZOwssXPA9kdxIRWUd33LZIzfz5ifqkgenm2TF/vrS71 71SQ== X-Forwarded-Encrypted: i=1; AJvYcCWtc9St0L6G+Tfi/2e8LH78W1jRjWtUf6OigKPv7776eaw6gJ/28iB03ik+ffWnNKMWN64Y7Pe5ZiZA@lists.freedesktop.org, AJvYcCX+9GP2QVwr2Y6b3tUCJHGWZL0LxfLfTsqU+TBFA+CjentBoQj8kdmZddHzG8IFxSjjhunJt3z05mqv@lists.freedesktop.org, AJvYcCXKofuOnXzdtrzfTUy01xft2VkyHS3H5GlQGJlGZcRqNHy6nrWlgi0S5iilAkW6hqOf3a4Dfv6ssVILr/lsATYAjA==@lists.freedesktop.org, AJvYcCXUevFVY9vxW83UZo+QblnUp40kWhtZprn5XvOdoYHR+ayfzQYIkLaSyvZo9T/jgcSzx6oI2g2I@lists.freedesktop.org, AJvYcCXnUGSt9hhylvfFNNLe1JUMIQZ8wTYsR9Kd3L6XQu1IKK2VIhI2t+C3ya1N3p34v3806tP40l3Sd8WXbAzqPw==@lists.freedesktop.org X-Gm-Message-State: AOJu0YzNi7JtS2SmCxBZbynmEidmSQjOnf4alwPdu6HJK55ovuZKJlij aKq6SOZN9Vy47GbrCfLo3m2+nhnC4utXzSIJQb6GdTS6x8vZy2+1 X-Gm-Gg: ASbGnctw18XWvFUCEPtlB3oWsQ3FsSaDd6afOMUZdWua74mtQzQJu0dUqiR8hsh3zgp DfbrJwQqP57HBWdMcrj9tyPlXQS8qR42aiAy9UJEhP/gwjs4szaHJyehq+d7pUP2AS2DUzuAOgm PfhIy/kEf4hKF/gepYKOxJmfrJeoE3q4cWiIkVqisaK2jj6ZMI7Kojnz8e3UkSzDVvmLouqVOLU gXHdHIxxLprpismcW4i4gpEmRSt26uUxgjHCpdsl448GhxCp5Txg4ORgUB46JECEew6nOWdSFnn nuexFr5c8RiLBX5k9QyKtYMXfQGRlf92Ksy1nBXXj1UG3/cM6WLdWyFGGcjxy35+H7CJHzsmcOf 3JA== X-Google-Smtp-Source: AGHT+IG+/7Kbepu4M0I9q9bM6mS824HGPKpcYmMojnJPg6cLnUArrmay+qvcX7lRE8FxKCVlxWVxpQ== X-Received: by 2002:a05:6602:36c4:b0:85b:5494:5519 with SMTP id ca18e2360f4ac-85e2ca6fff3mr44385939f.5.1742496811395; Thu, 20 Mar 2025 11:53:31 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:30 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 25/59] selftests-dyndbg: add comma_terminator_tests Date: Thu, 20 Mar 2025 12:52:03 -0600 Message-ID: <20250320185238.447458-26-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" New fn validates parsing and effect of queries using combinations of commas and spaces to delimit the tokens. It manipulates pr-debugs in builtin module/params, so might have deps I havent foreseen on odd configurations. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- - skip comma tests if no builtins --- .../dynamic_debug/dyndbg_selftest.sh | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh b/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh index 68a9046405f2..368d10a691a0 100755 --- a/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh +++ b/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh @@ -216,7 +216,7 @@ function check_err_msg() { function basic_tests { echo -e "${GREEN}# BASIC_TESTS ${NC}" if [ $LACK_DD_BUILTIN -eq 1 ]; then - echo "SKIP" + echo "SKIP - test requires params, which is a builtin module" return fi ddcmd =_ # zero everything @@ -238,8 +238,27 @@ EOF ddcmd =_ } +function comma_terminator_tests { + echo -e "${GREEN}# COMMA_TERMINATOR_TESTS ${NC}" + if [ $LACK_DD_BUILTIN -eq 1 ]; then + echo "SKIP - test requires params, which is a builtin module" + return + fi + # try combos of spaces & commas + check_match_ct '\[params\]' 4 -r + ddcmd module,params,=_ # commas as spaces + ddcmd module,params,+mpf # turn on module's pr-debugs + check_match_ct =pmf 4 + ddcmd ,module ,, , params, -p + check_match_ct =mf 4 + ddcmd " , module ,,, , params, -m" # + check_match_ct =f 4 + ddcmd =_ +} + tests_list=( basic_tests + comma_terminator_tests ) # Run tests From patchwork Thu Mar 20 18:52:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027284 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 8FF20C36017 for ; Mon, 24 Mar 2025 13:24:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0BD1C10E3AE; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gDcbH+AJ"; dkim-atps=neutral Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id AFE5A10E687; Thu, 20 Mar 2025 18:53:33 +0000 (UTC) Received: by mail-io1-f48.google.com with SMTP id ca18e2360f4ac-85ae4dc67e5so58314739f.2; Thu, 20 Mar 2025 11:53:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496813; x=1743101613; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Xw8adb2Z5sY9CYdNStTgPHlquDwGHHXQsVDd6QeFLJc=; b=gDcbH+AJYzWuu0RJXFFoSOhukf0VC7OtxPGYShxImX6kVk7QB85DRwzJcfS0f918XC DtfoJ2JFNN47yL/oi/VgYc0w7arhwY6UWhqIX7tdI6fWCtTYYfirnNFWtiarNThGimBH 6ZuM40hP0dPRII2H0NZAEE7l3ot7vdFyBAlNTQMFmifQiwi/n7wZVmdViV9JDITkJtc8 1y33a5dJOshFX58590TJanwdEMSThX/PQRf6NIQ3ZIqhNHhHXKp0ftZme4lGDD9CHjx1 jKATrUUOHy3ShVUossceTm3bXXQfFJV6Z5nR6uLcuuA6LWllbYIG2jjvqBBvam/spGdr 6pBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496813; x=1743101613; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Xw8adb2Z5sY9CYdNStTgPHlquDwGHHXQsVDd6QeFLJc=; b=xGSIjltIpY5zRxVcwpfmSLx5MIDfPMNwEnuEYnBzX17igCmz6B+73YFeZbjiX2gwnK 5JKiqLtSoB+WxJCNaXuAR0RKXXuF7bFr/lPyghQ+agInaFbG2LwAWxX94wCsltUAzlry B9HdTPLH9SkaXlVdSmM4dhHXnxkwAup4+gEuubxi9J+auE8Vq+jKFvaoVZi1+xptocor 69WbviRPP4NzDEeSo84+ZXrRfJNB/jqaEDKm+ptJMQMy36tWoYLrDzh5iRmoWMZWk18v AXEcIMAkyuFdAQ2IZ5bhQtbzmevhcLR/ZBk6sZIGZWm0xTO4GDl16plkecZBsuV/9JnK dfrw== X-Forwarded-Encrypted: i=1; AJvYcCU/QP93WP5no0clGRSCGEcoMVbdPffZ430HDzD4FcIeghZq4uTGiMFN7kYZen26WMUzhoyU0tK81UGp@lists.freedesktop.org, AJvYcCVH2hZU7ML9f5pugrq1XWMHTl3Gwb3lRsbSGIk8SY+1bGd0Zyn88eFpkRAlp8KeTZD0qwU6iVptb6T0t73xMg==@lists.freedesktop.org, AJvYcCWzxUQ339i4A4IiRj4OoqoJUpGtTxydblq6CZV48Ts2e8c01+b3lNnr4rCih65tb/UZMUM18WrU@lists.freedesktop.org, AJvYcCXKTU2TfmrzYkBq38v15AXiNHCTqTsqTWGCKEUv7iTBzEdP1e4MWSGco52HvJZkRddRhQOn4KOUbgPwmeZi9i4wEQ==@lists.freedesktop.org, AJvYcCXiXemgYPZeKrXyaxSoqg8k1r+tl4lpqfEneAinGTlGdjWcCXMrrjhjytF2bRwxGkvsXHV4fBZVjGrL@lists.freedesktop.org X-Gm-Message-State: AOJu0YzJm1Or5p9wHZZxdWG26he74cILqzZG5LDAzEACNSrHHp6iPvga 5nH7BG7FnhXwNz5SBNRPjVwaBGks2284x4655DRxoPFujhpMJ5XK X-Gm-Gg: ASbGncvcFf6x1a9HeV4P/xEfKr2O3S63FSxyZ9ROvAWTHLbmS1iOc+kXZV+tTQxaitX 7HKvS9kqCK4WUbkZAjpXTygcWQU85+96DQIM4UR3JR2QyEL8qKgvS7Er8E78UvNrzbRrwihihE6 ZZss3n8vAZ8tzSrZY7A1G10lb9IrtD02J1thDytDOTWoqd17VIfY/3IR+9y7nSAvFecQpO+kSOv CBCBjTUf7cXvkHWpCq3vgSf8Btl1NVE4TvpwEXqIvgkmfy4JHhs3o5CuarGwgZOV5umqjhWQDTz hHfzqWRFUcRyed2p+dRYAyBeN4nGkd9Tq3JXCX/+hNvcjZVGZ05CyTExU4/ylgDq59HRm1J58/k IUw== X-Google-Smtp-Source: AGHT+IEM+TCm6SAKhxXC9orQJ/SOjoMht1drU2xoXtyO6z7G8nlW6dhEGvYl4P5S+BLPG1cYCvgpwA== X-Received: by 2002:a05:6602:358f:b0:85b:52d7:17da with SMTP id ca18e2360f4ac-85e2ca756admr60410739f.6.1742496812752; Thu, 20 Mar 2025 11:53:32 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:31 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 26/59] dyndbg: split multi-query strings with % Date: Thu, 20 Mar 2025 12:52:04 -0600 Message-ID: <20250320185238.447458-27-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Since commit 85f7f6c0edb8 ("dynamic_debug: process multiple debug-queries on a line") Multi-query commands have been allowed: modprobe drm dyndbg="class DRM_UT_CORE +p; class DRM_UT_KMS +p" modprobe drm dyndbg=< [ 203.902703] dyndbg: query parse failed [ 203.902871] dyndbg: processed 2 queries, with 0 matches, 2 errs bash: echo: write error: Invalid argument The '%' splits the input into 2 queries, and both fail. Given the limited utility of matching against the working parts of a format string "foo: %d bar %s", nothing is actually lost here. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- lib/dynamic_debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 168663629ef2..c44502787c2b 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -599,7 +599,7 @@ static int ddebug_exec_queries(char *query, const char *modname) int i, errs = 0, exitcode = 0, rc, nfound = 0; for (i = 0; query; query = split) { - split = strpbrk(query, ";\n"); + split = strpbrk(query, "%;\n"); if (split) *split++ = '\0'; From patchwork Thu Mar 20 18:52:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027312 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 2FDC0C3600E for ; Mon, 24 Mar 2025 13:25:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 83F4B10E3E4; Mon, 24 Mar 2025 13:25:47 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="WcXvMH57"; dkim-atps=neutral Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by gabe.freedesktop.org (Postfix) with ESMTPS id BF07710E694; Thu, 20 Mar 2025 18:53:34 +0000 (UTC) Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-854a68f5a9cso86568339f.0; Thu, 20 Mar 2025 11:53:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496814; x=1743101614; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=noT9vSRMS6zrMZV/pKEC2dkjvVvkFYCSSlOoHQZH1zE=; b=WcXvMH57qxmob1T1R1SpBUr9c6s55dhcnPweP4Ox0NMU1HxMP9zxPF+jTrQv91AHwx ZinrG85956VBWraww3F+wEtNKfr17FE4BkS9ahAPqwfXRws4GluP7hPJv3fYCalVm5Ni edC88gQybQ6mDHbzp5d4AjQs60L34spo7lPp6j6eQamY77jkdm9Onq/qaOQBlCijQYGK DqICsCS3GrYwzVVTRddJNcObg5ebZIsjeZONPGjpaqeVdKVtNtquN9kTx6AZWLiBtXpl LNcEzAMvpeTyBXo+pNIz6sRAFLTn+/0PSFHq9oROBfSEDe6UJD6K+Ys5mhuFcc4pgaIf cTBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496814; x=1743101614; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=noT9vSRMS6zrMZV/pKEC2dkjvVvkFYCSSlOoHQZH1zE=; b=qmdhWmJBm9eMPihsvfJimHiJuFH0pYbQGMRPzOCBF1d6cxsHyNVKPBXRCBxl+Evckl JNmTi1piLCzx6VNxPcrHG3g7Q7zdjWWtQAJ35wmzVbRGoxWt+pcb+61FQvgA8kGMbT9Q Dh0yKMUCZe8YeQlaznC7/kXI9QIxCM5Z9xogDqVl6RvA/aq+sTBsDr7bavnVo/6+vtgs OGRRQzlkZoa3ziFw3ctyuHpxNC+/D9Oo/31tW27HpH7Vy/FMhWGylc98bHllItm2tSr9 +turqZq0duzehjLecKwPTL4+nJBUyoxybqvUwUsMggVO6NPTzj7K+/Ue+Q9BjhE+VhH+ 3Qpw== X-Forwarded-Encrypted: i=1; AJvYcCUCzwc3LNg9h5gHOxHf4KaJ+x5Gs29/gVS1WnbSRoyAm+M4myv6csSaVconJnvYDH4YD1JQu0mceKT+@lists.freedesktop.org, AJvYcCUgaTseR4rEQIpIjbQa8sSmSMwhCTZ/eCkypMlRPchVbIwv+xvAzU2BHnU6vTVEZ0IAlTWvRmXT+ejA8FjZuxhqLg==@lists.freedesktop.org, AJvYcCVy2Z3XgZognlg4FIC2pcGnNRffhpAMzoMfUJ8K09xGxIpgUfpdcwMhaNK2Umd3fnjY9OaJC9BSqn65quZEzA==@lists.freedesktop.org, AJvYcCWB7dzb/XuQV8W5JaWL4II7CJnv1c965i3ZDitj9/uZzFslEL8jStYH1ZHXGGeTJbQ46vIu735jM3de@lists.freedesktop.org, AJvYcCWEA/5hpxIHAMBVRSFUNRSlKLZUI9zXlt8CvKRalWLbcvxZmoCQjApI16Qk3jXgwS9bDncDVOKY@lists.freedesktop.org X-Gm-Message-State: AOJu0YzCA5lmpicsUBGk3KmYl7UWAIRK1uC5Bp6TfxHKp99OekwG59Im 5QuhXNgcZTfXkyFm6ACkF/WTwQy3vyr7tHzV/R5xxO8r9I0Lfxtc X-Gm-Gg: ASbGncvpcw1T+jzBnycX83s/Pixo3olgrspXV11sW2zwE+zm0Z5tyYBzgS04T6z60Hc JWNm+jg6r9HAvPPy/S2LcGj8aJLMVhDUllKzycw7B+lp/pqmI0Pxv2LSVnjn+UVrdvlvmJyOAWE Sm6SepLdodZEIuUh+TAOU47HiWBdi2gF7uUqi2Bkw8VEC1BQiLblaVbe3ImYnqot8EX37BZf1lQ UZMie+3eNIDuNDGho1I2Gs8l7qFsgJnqtRFcdlGVCrzDYTvP6GDUlokuRP3pbhl4NK9nNddEE1B vMQhz3wNdrt5y+IbK5ECWiO8bF5151EDTPThVjG/eP1NN9SetiCE96RjtRJlVtvAxQhDr/s62B7 gnIenjMm0prjC X-Google-Smtp-Source: AGHT+IE7BXJOLQ/Ch2HIew0cYtasFTxiOy98Pt2Smp2K+0XTe4H0Bm49hhGoWTZCYRcS5D1a7aVvHw== X-Received: by 2002:a05:6602:399a:b0:85b:43a3:66b2 with SMTP id ca18e2360f4ac-85e2ca808ffmr55825739f.7.1742496814018; Thu, 20 Mar 2025 11:53:34 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:33 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 27/59] selftests-dyndbg: test_percent_splitting Date: Thu, 20 Mar 2025 12:52:05 -0600 Message-ID: <20250320185238.447458-28-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" This does basic testing of classmaps using '%' separated multi-queries. It modprobes test_dynamic_debug with several classes enabled, and counts to verify that the expected sites show the enablement in the control file. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- .../dynamic_debug/dyndbg_selftest.sh | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh b/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh index 368d10a691a0..c97c9391d0f4 100755 --- a/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh +++ b/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh @@ -256,9 +256,29 @@ function comma_terminator_tests { ddcmd =_ } +function test_percent_splitting { + echo -e "${GREEN}# TEST_PERCENT_SPLITTING - multi-command splitting on % ${NC}" + ifrmmod test_dynamic_debug_submod + ifrmmod test_dynamic_debug + ddcmd =_ + modprobe test_dynamic_debug dyndbg=class,D2_CORE,+pf%class,D2_KMS,+pt%class,D2_ATOMIC,+pm + check_match_ct =pf 1 + check_match_ct =pt 1 + check_match_ct =pm 1 + check_match_ct test_dynamic_debug 23 -r + # add flags to those callsites + ddcmd class,D2_CORE,+mf%class,D2_KMS,+lt%class,D2_ATOMIC,+ml + check_match_ct =pmf 1 + check_match_ct =plt 1 + check_match_ct =pml 1 + check_match_ct test_dynamic_debug 23 -r + ifrmmod test_dynamic_debug +} + tests_list=( basic_tests comma_terminator_tests + test_percent_splitting ) # Run tests From patchwork Thu Mar 20 18:52:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027296 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 7D23AC36016 for ; Mon, 24 Mar 2025 13:24:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0476D10E3C3; Mon, 24 Mar 2025 13:24:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Lf1Ly5Tz"; dkim-atps=neutral Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1506510E6A3; Thu, 20 Mar 2025 18:53:36 +0000 (UTC) Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85ae131983eso125329339f.0; Thu, 20 Mar 2025 11:53:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496815; x=1743101615; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XhXUt3GtFFD1CFOdu20/mAVQW9nyW0QG+7LpAH9FRGE=; b=Lf1Ly5TzoATwuwh68uv/2WKLJUS5StZgzQh94yDNgtJvPZMGwkxqsXWvH3OlDuLLD0 qg7avNYTOdiyENRkUbRT24pi0HDuhc1+kP0TeAaV0EpZwFWHlkW/ehLn+sfBbrhcnh7p I2Z16hCZQhpNSs7HnY9kqZlYq6kE5Lu1I9VqZEdSCOTUubyZTOeUALCjsdd6ENIeA2XH bozvxvc4me7XsFn62FliutbADAj8QavZbAqEr6FpxdS5U2PfDO6yZKovdyMH5MiEOyTv VWnjMgzoQQAGzgzO3gaj41DKTcmOImdqNQxR6R4b1s+OtNbQRjwouT9Ef4/3GYYvgXoJ +eEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496815; x=1743101615; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XhXUt3GtFFD1CFOdu20/mAVQW9nyW0QG+7LpAH9FRGE=; b=PTtEQ0W7Ck7GHZ5IeUyHa9i0Auuc2yE5dTuys+Ib2sP9+xeMRL5v+gkne3xhcEEUcZ ULSMetG20smTVevbxPg5kjsGKFz0MjxlvNDpNW6jDIpcLC8nsdzRY5Uauzp7/NV009uh KIf4zv1XMNM/C1qDHVrmy2ZRkmeES4h2B0rMJEj1rr50zwhhO1HFCsLjp/n1dFQKtRTz vwdkAPQbZpLtZfsXFxaci69xJAc0BE1F6QDigqxsSDUx5dAU427hlHix3SrgYOyjNSh1 Vebvm7WEMVkF6BKMHXevTiIznGHfWtEh0Dl3oXZwIqvn1+DpzdiX0xwkHaRkKOeXbuSf 4KsQ== X-Forwarded-Encrypted: i=1; AJvYcCUojmNMqkOZUXeahzZMQG4HthN7auEEI8PqE/cxM8UcwKKSM3Vco6yjBXfKyGlefAw8ydtdUkFYKnDr@lists.freedesktop.org, AJvYcCVGWoUeyt/jYy3uYnrdzIdNdUqIpn0PufK6n4sukQTbzAPti2WkF13yjJG1gHxDfvw8Qr3NIFImGqvm@lists.freedesktop.org, AJvYcCWNcivhNd92zlAmcJ8339gvQ9aGT/PAkW8Z3HADkpr9AQ4gQ7VRhxDkpLvH4adgVZTwIAtTIE2t2jDD3sV1Qw==@lists.freedesktop.org, AJvYcCXSDcr4hhCap3dmVadyGEvEEp6WicULAdMOKJ6R7FKNJXXt4S1Q792AJe8JohNoXF+xoba0UvE+DQeegFFsV3Zwgw==@lists.freedesktop.org, AJvYcCXurgEPwovjkxyiDpzMHT9gZ6klqMibe/aXfII2pqsy/f+SHuQervOf9IiyijSw2xXkYHcBaexw@lists.freedesktop.org X-Gm-Message-State: AOJu0YxGbYLLyDsVS5jZTBiLX6aUT7kZMvWvIK5GprO4ofj+EQ65fACc oEaIdYfQcT7s7MvRk7PUMPGHlEMKZcuepMWDR8T2pjc3JlBTmWcn X-Gm-Gg: ASbGncsQodA68b/ImNLU7BalaTmH5Y0bYT4C5WoGIPC7WoPb6DNlWx+8puJr0iymX0P dwvxdc/OQVviApJnY8aGvYPHXM2QWY1sgdj57XetiCKmmaSj+6krcePM6D1LHYSsL0kifpZQM7r UnDPpVT1niYCkr/pYJJYCkkwGpKA2CB1NdGFP2mTmv9utH/AgFpwKtEy8ODUFicwbSd5Zakj7ox ZthMSuxylaxTRJAXBcA/WbYFdjWtg/6NGbCSJNgv23+JBm8IMm/JAwiMUSWbhmlsnCgZIrSjCLv a3+ehQm8vChq58KNe+Isv8VgoLjyaLcvksmPRYsbXUkj0CFHwrOzqx0iT2MECUXP1sfY4lel35h H5g== X-Google-Smtp-Source: AGHT+IGUwJQCCV968viXZ2uAEZ46zasZ2WEK6BntArAqyb8MVxwaNX2kU6atjh/Jnd/hczHfTieubw== X-Received: by 2002:a05:6602:4742:b0:85d:9a7a:8169 with SMTP id ca18e2360f4ac-85e2c904c6dmr48741739f.0.1742496815306; Thu, 20 Mar 2025 11:53:35 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:34 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 28/59] selftests-dyndbg: add test_mod_submod Date: Thu, 20 Mar 2025 12:52:06 -0600 Message-ID: <20250320185238.447458-29-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" This new test-fn runs 3 module/submodule modprobe scenarios, variously using both the generic dyndbg= modprobe arg, and the test-module's classmap-params to manipulate the test-mod*'s pr_debugs. In all cases, the current flag-settings are counted and tested vs expectations. The 3rd scenario recapitulates the DRM_USE_DYNAMIC_DEBUG=y failure. 1. 2 modprobes (super then sub), with separate dyndbg=class-settings check module specific flag settings 2. modprobe submod, supermod is auto-loaded set supermod class-params check expected enablements in super & submod 3. modprobe super, with param=setting (like drm.debug=0x1ef) modprobe submod validate submod's class'd pr_debugs get properly enabled The test uses multi-queries, with both commas and percents (to avoid spaces and quoting). This is the main reason the test wasn't earlier in the patchset, closer to the classmap patches its validating. With some tedium, the tests could be refactored to split out early tests which avoid multi-cmds, and test only the class-params. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- - drop -v used in test_mod_submod(). V=1 does it for whole test - ifrmmod at test end (Lukasz) --- .../dynamic_debug/dyndbg_selftest.sh | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh b/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh index c97c9391d0f4..cfed79b34996 100755 --- a/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh +++ b/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh @@ -275,10 +275,79 @@ function test_percent_splitting { ifrmmod test_dynamic_debug } +function test_mod_submod { + echo -e "${GREEN}# TEST_MOD_SUBMOD ${NC}" + ifrmmod test_dynamic_debug_submod + ifrmmod test_dynamic_debug + ddcmd =_ + + # modprobe with class enablements + modprobe test_dynamic_debug \ + dyndbg=class,D2_CORE,+pf%class,D2_KMS,+pt%class,D2_ATOMIC,+pm + + check_match_ct '\[test_dynamic_debug\]' 23 -r + check_match_ct =pf 1 + check_match_ct =pt 1 + check_match_ct =pm 1 + + modprobe test_dynamic_debug_submod + check_match_ct test_dynamic_debug_submod 23 -r + check_match_ct '\[test_dynamic_debug\]' 23 -r + check_match_ct test_dynamic_debug 46 -r + + # no enablements propagate here + check_match_ct =pf 1 + check_match_ct =pt 1 + check_match_ct =pm 1 + + # change classes again, this time submod too + ddcmd class,D2_CORE,+mf%class,D2_KMS,+lt%class,D2_ATOMIC,+ml "# add some prefixes" + check_match_ct =pmf 1 + check_match_ct =plt 1 + check_match_ct =pml 1 + # submod changed too + check_match_ct =mf 1 + check_match_ct =lt 1 + check_match_ct =ml 1 + + # now work the classmap-params + # fresh start, to clear all above flags (test-fn limits) + ifrmmod test_dynamic_debug_submod + ifrmmod test_dynamic_debug + modprobe test_dynamic_debug_submod # get supermod too + + echo 1 > /sys/module/test_dynamic_debug/parameters/p_disjoint_bits + echo 4 > /sys/module/test_dynamic_debug/parameters/p_level_num + # 2 mods * ( V1-3 + D2_CORE ) + check_match_ct =p 8 + echo 3 > /sys/module/test_dynamic_debug/parameters/p_disjoint_bits + echo 0 > /sys/module/test_dynamic_debug/parameters/p_level_num + # 2 mods * ( D2_CORE, D2_DRIVER ) + check_match_ct =p 4 + echo 0x16 > /sys/module/test_dynamic_debug/parameters/p_disjoint_bits + echo 0 > /sys/module/test_dynamic_debug/parameters/p_level_num + # 2 mods * ( D2_DRIVER, D2_KMS, D2_ATOMIC ) + check_match_ct =p 6 + + # recap DRM_USE_DYNAMIC_DEBUG regression + ifrmmod test_dynamic_debug_submod + ifrmmod test_dynamic_debug + # set super-mod params + modprobe test_dynamic_debug p_disjoint_bits=0x16 p_level_num=5 + check_match_ct =p 7 + modprobe test_dynamic_debug_submod + # see them picked up by submod + check_match_ct =p 14 + ifrmmod test_dynamic_debug_submod + ifrmmod test_dynamic_debug +} + tests_list=( basic_tests + # these require test_dynamic_debug*.ko comma_terminator_tests test_percent_splitting + test_mod_submod ) # Run tests From patchwork Thu Mar 20 18:52:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027311 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 D0E54C36002 for ; Mon, 24 Mar 2025 13:25:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5FC9710E3C5; Mon, 24 Mar 2025 13:25:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="GhjePZ0b"; dkim-atps=neutral Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 32B5E10E690; Thu, 20 Mar 2025 18:53:37 +0000 (UTC) Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-85b43b60b6bso41405539f.0; Thu, 20 Mar 2025 11:53:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496816; x=1743101616; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=A97O7SqLaZSxvMXU0joWzVIjgf8LaQ5hosLUzwNwu64=; b=GhjePZ0bbISTTGwiI9UEiASdJw/LqmJOGAZyADCWAbZU4E7OQ/NsKzhEeTp4JaDonS 2/KFuXLkvTjRKRZr6mKBcspX87tNDaPmP8fCeplt01Uf+6VZuh/RDSUTiA6dF86guQu4 OaLcRKoCcp5UowTj/29zG3wISopy10UDzf7TOtFOlyvwUq3fWS9PfrEBpv7FluI08NBC m4X/nyIHTKLlw8JR7dog3sdCqNn9g9WMxfI0f5avBTz5MNTp+CNRORKmVFmPgiDOWjaz /liYXG28NDIEeHV/HFt/sL5gTWr0ZYaf8EWPwAwmmczzJz93dCxgW48L0EkWDx00hRW+ dlGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496816; x=1743101616; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=A97O7SqLaZSxvMXU0joWzVIjgf8LaQ5hosLUzwNwu64=; b=JlecnCLQS3Qkog8ksNNUenT1f1SnUehDrivtTy6SIdHkPCWUz9zYvcLBm3bz1Ot65L 3EAwxXSQ529cxG9pPIGk5De4l8G0h9BO+es0N5rXOiS5ysbitOPH7nT+lFYeJz4JQSWP lOjsEr02evQO41EW7ng+MoDF0KwxJ/wCC+HYLJhhsfXTFULQa9p5BSVeI/4Os1lM9a4p 2IBpaM6lfgcG1G6iT99e5gI8NeU2IPcRChIIOfjQtrNpOSctUjLLDGnbfhiQHv+L6Jjj X6bkzSeGj7h21LHxQRRwYRyN9nezdYaVvNT0/umuWTMDQ8iiP/FvR3TnD8ZQBTt5sMPl aTog== X-Forwarded-Encrypted: i=1; AJvYcCUW3H3xjELLcIyynWUH4HvCv/T2J2oiNJisYThyNIN/FoJcN6fAL/1jlZHxklXwZZzRmFR2iWEeFkiWbe3orA==@lists.freedesktop.org, AJvYcCVJs9FPDqBg5But+mAXIvaMKF5bmS3nIS7z3Q7Urn1w6k6PYONTXkGlQevZeUIkDzyNoGCWUznJPY+GOOcL0FSQ2w==@lists.freedesktop.org, AJvYcCVPr5BUJk3ZyW2/vP7w+kAW+sU/69xgCGroEPLedSW8GogLPE7G3hPjL0XjKf1JDDQiFsvj6oTRnomE@lists.freedesktop.org, AJvYcCVWs060R8N7lgs0AlA60N+UCyVY5RN2sV/ij3AwS0MPI/UM1lelqCjmor8VyfRz09Ea6O6zNJEl@lists.freedesktop.org, AJvYcCVoFxANyOXbmCgiNDFcyeadnug8/cN+ZjFpim7F15VosM0Bghu0+VcFQrIZVnlZSkfGQY1rbWpEF8Cf@lists.freedesktop.org X-Gm-Message-State: AOJu0YyusieAaHo6nEHGYTIqDDA2H3n9o8kXyAWljoXZKicFcpAVkSyu v0LpbXsp8th+yjzVBDm3uduYSZtqbm+AOWKBUEagTzntzM2dMEW/ X-Gm-Gg: ASbGncuvfnWhfg1kl0TDP0Wktr6SVilCY+qDFVqLjvjzy1S7GpLJLwub/mgtXK7VZsY KzbNGG1cgtu9r+1qkpaIiHXRnTVmOhUoWtmrMVRWDQxuTvY9w8oc3xeHCAFmyc9/8e4y1YoBVdI 5GXkAdPcEobH9zRDJc+aqq50IG+EvccJMmb4G3Aae7E9sLDeLdYUMXlznOtJfYLGVyqjHvlPhJm nUx1q+fp6CsDmuZv595N7t4hqx/dlSMXOpnmxzsqYGU0clanqIzTZW0bE/gx8V+sx+0Pmz7Gwr5 wHbCovJJM5lUYEDVjMHE6SOZlWoWErDSPE1whuHnRa8AzBnr8jo73zZ9XAWKDlLla8fdnvSkVAD 32Q== X-Google-Smtp-Source: AGHT+IEBYa+5JQp3odGDvBn5sd+cspLcMtd4IINkheV1kDJq50GiYDaoG3E/JZw5HEYKr6Z/40xHfw== X-Received: by 2002:a05:6602:6a89:b0:85b:4cb9:5cf6 with SMTP id ca18e2360f4ac-85e2bc71838mr79684139f.0.1742496816493; Thu, 20 Mar 2025 11:53:36 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:36 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 29/59] dyndbg: change __dynamic_func_call_cls* macros into expressions Date: Thu, 20 Mar 2025 12:52:07 -0600 Message-ID: <20250320185238.447458-30-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The Xe driver's XE_IOCTL_DBG macro calls drm_dbg() from inside an if (expression). This breaks when CONFIG_DRM_USE_DYNAMIC_DEBUG=y because the invoked macro has a do-while-0 wrapper. if (cond && (drm_dbg("expr-form"),1)) { ... do some more stuff } Fix for this usage by changing __dynamic_func_call_cls{,_no_desc} macros into expressions, by replacing the do-while-0s with a ({ }) wrapper. In the common usage, the trailing ';' converts the expression into a statement. drm_dbg("statement form"); Signed-off-by: Jim Cromie --- --- include/linux/dynamic_debug.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 8043966a0fd6..80bcaad03400 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -339,20 +339,20 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor, * (|_cls): adds in _DPRINT_CLASS_DFLT as needed * (|_no_desc): former gets callsite descriptor as 1st arg (for prdbgs) */ -#define __dynamic_func_call_cls(id, cls, fmt, func, ...) do { \ - DEFINE_DYNAMIC_DEBUG_METADATA_CLS((id), cls, fmt); \ +#define __dynamic_func_call_cls(id, cls, fmt, func, ...) ({ \ + DEFINE_DYNAMIC_DEBUG_METADATA_CLS(id, cls, fmt); \ if (DYNAMIC_DEBUG_BRANCH(id)) \ - func(&id, ##__VA_ARGS__); \ -} while (0) + func(&(id), ##__VA_ARGS__); \ +}) #define __dynamic_func_call(id, fmt, func, ...) \ __dynamic_func_call_cls(id, _DPRINTK_CLASS_DFLT, fmt, \ func, ##__VA_ARGS__) -#define __dynamic_func_call_cls_no_desc(id, cls, fmt, func, ...) do { \ +#define __dynamic_func_call_cls_no_desc(id, cls, fmt, func, ...) ({ \ DEFINE_DYNAMIC_DEBUG_METADATA_CLS(id, cls, fmt); \ if (DYNAMIC_DEBUG_BRANCH(id)) \ func(__VA_ARGS__); \ -} while (0) +}) #define __dynamic_func_call_no_desc(id, fmt, func, ...) \ __dynamic_func_call_cls_no_desc(id, _DPRINTK_CLASS_DFLT, \ fmt, func, ##__VA_ARGS__) From patchwork Thu Mar 20 18:52:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027291 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 A50E0C36019 for ; Mon, 24 Mar 2025 13:24:41 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4C89610E3B6; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gV46RaXS"; dkim-atps=neutral Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id 632F210E687; Thu, 20 Mar 2025 18:53:38 +0000 (UTC) Received: by mail-io1-f48.google.com with SMTP id ca18e2360f4ac-85b3f92c866so15956439f.3; Thu, 20 Mar 2025 11:53:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496817; x=1743101617; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HpbhRZZt9AFd87SNc1x+tRriKokTIY/B2ItoxXJziSE=; b=gV46RaXSNIo9kz7kQeC25upgSrBydJmn/hxmgAKyLbrcLokXEygNxWTjkUo/EB7ihX nreDNVkiIVBPy8S0/w+Xa7avZ8/S7xen4G3I5dYxIwcYWNLAbdq/k26DlIG2NxmNWq+y J9yCeWz5a6xb4RgdFzJoiW8NAcnbhauvKOxJ50/rdUXLStXV1KStO55VRDxYSYnG+jZo cLwauand2+MO1/p+3A157mJ3HTCTynGfqguY0LdQDX6HYjh2b2xn3LnWNK1AKGwQqyu1 KdqBx955e38gu7+7rJKBHmMEeyR6dpr3fUmOky/Dm0TOVEI72cVByf90ZMHvT3cuTkIt 9yYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496817; x=1743101617; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HpbhRZZt9AFd87SNc1x+tRriKokTIY/B2ItoxXJziSE=; b=azkvelthhxfj5dMtpZ6qkDECxVGVQfVcJuMaGC98zsbnKP1EZNhed/nSnspaxaEPVF A13w1+KPpuNHYTjlmtZLPi1ubiL7fJWDaFS3ibhPSwlmYEJne8gM8s5UB5jUZXl95m4X iQVHuFdNZT/JeL+IW6+Df6ldLoVqfCYblOAB1O8Re8QEFff36Z/N8QhuBJFyqXsdKVyH v6URhpald+KD1J/5STkvPoJP/ji2DIBeGSDDtKQijc05fM084OC9foxMlBfxbZW92Hzw WWstc6Gf9mjlaWVDkuNvXvmDxCumtnlKZDrVIiT1tESe5fyBkhxv3RqT+QKXQGhNYh1o 30ig== X-Forwarded-Encrypted: i=1; AJvYcCUCviAI6eS4/lo7dxIkTwnikascxbMRpIgQJ27YqC/M8IgPVLdAr8Xv55io3H3ofEdasqAfDwfj@lists.freedesktop.org, AJvYcCUc2KHUnZmVW22XBaLVv47tTGKk45S/mHNiwsD9kpdw3z0XcpGcq7O32vJp/zbq21Oetp3BR+fygpU0@lists.freedesktop.org, AJvYcCViu9JklVl4qp2J3WLk1meOkoWmDdAF0iCoWQzum4DAEXHlBoiQ9gdlViKuL47NY0d+OP85UJ/lJd3KfyHSl83B9A==@lists.freedesktop.org, AJvYcCVoDcxLqJTWbuK1kqVWyX/B4l4py618zsN2cz3u9M6u2tOPuXILzy8108aCTSBxg7xV/dsF52Vt3znS@lists.freedesktop.org, AJvYcCWibK9qR0X/+XEFSz5cSC/rdAWna4xJfZ8QiaMY6zk7SAP6+JUEIY9W8eGNYB8bnkmI/259U9jmWE6oN0boLQ==@lists.freedesktop.org X-Gm-Message-State: AOJu0YzrRDg7U/laEl3NUG66FHssQjaxfWFjRgEEOjPRqreEEybxdsua KwhFI0ndzAcduS1yMMdjF7TYwqYx52tLBWttplvul4j+q0M4RWeD X-Gm-Gg: ASbGncv6/df9NZzCD479FiOyz5ITabfZ7e5TOwfpYTaodjKkrSiWrhag7HBJ++k21Tx qcuDBuvdR/wjOXjT/OjFlgTn9ly/FWtr2Ly6y9LlDAMlumCMnHjCuIQkr2OdZnPGvOz10mJnPOy FebjS7bM6RvlHZU0Yvhqfwxlh0+0oLr6XBCNzxVr9RRJdIJonV59OiuaHx3vTlc3Ded33Zfbwp6 EQoAEn/oftFnxuW609JuA1TLAv+KNLB7fb59immspEWFZh8JQ9IObd2ESrnH2BMp2pFHsJs8G7E jFBsuJ/AoANgQMi1co34tVBlrsZMa3ffz/ojIGprkGNdqjsEmJ/zeB+4KGYDCyavbV0TByIOfBo z4Q== X-Google-Smtp-Source: AGHT+IFuMQEbeQUc6coivxGrnHYjElXfmW7jKz6VfBVmZjpWHuswcV+q2LjK12WbmEyPhHwatFPU1g== X-Received: by 2002:a05:6602:c8b:b0:85b:4ad2:16ef with SMTP id ca18e2360f4ac-85e2cb0e8d8mr39024439f.9.1742496817484; Thu, 20 Mar 2025 11:53:37 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:37 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 30/59] dyndbg: drop "protection" of class'd pr_debugs from legacy queries Date: Thu, 20 Mar 2025 12:52:08 -0600 Message-ID: <20250320185238.447458-31-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Current classmap code protects class'd pr_debugs from unintended changes by "legacy" unclassed queries: # this doesn't disable all of DRM_UT_* categories echo "-p" > /proc/dynamic_debug/control # name the class to change it - protective but tedious echo "class DRM_UT_CORE +p" > /proc/dynamic_debug/control # or do it the subsystem way echo 1 > /sys/module/drm/parameters/debug This "name the class to change it" behavior gave a modicum of protection to classmap users (ie DRM) so their debug settings aren't trivially and unintentionally altered underneath them. But this made the class keyword special in some sense; the other keywords skip only on explicit mismatch, otherwize the code falls thru to adjust the pr-debug site. So Jason Baron didn't like this special case when I 1st proposed it; I argued 2 points: - "protection gives stable-debug, improving utility" - __drm_debug is authoritative w/o dyndbg under it. I thought I'd convinced him back then, (and the patchset got merged), but he noted it again when he reviewed this series. So this commit names the "special case": ddebug_client_module_protects_classes(), and reverts it to Jason's preference. If a class mismatch is seen, code distinguishes whether the class was explicitly given (and always skips/continue), or the DFLT was assumed because no class was given. Here we test ddebug_client_module_protects_classes(), skip if so. Later, if any user/module wants to protect its classes, we could add a flag to ddebug_table, a means to set it from CLASSMAP_DEFINE, and check it when applying a classless query/cmd. CC: jbaron@akamai.com Signed-off-by: Jim Cromie --- lib/dynamic_debug.c | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index c44502787c2b..13de0dd3a4ad 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -193,6 +193,17 @@ static int ddebug_find_valid_class(struct ddebug_table const *dt, const char *cl return -ENOENT; } +/* + * classmaps-v1 protected classes from changes by legacy commands + * (those selecting _DPRINTK_CLASS_DFLT by omission), v2 undoes that + * special treatment. State so explicitly. Later we could give + * modules the choice to protect their classes or to keep v2 behavior. + */ +static inline bool ddebug_client_module_protects_classes(const struct ddebug_table *dt) +{ + return false; +} + /* * Search the tables for _ddebug's which match the given `query' and * apply the `flags' and `mask' to them. Returns number of matching @@ -206,7 +217,7 @@ static int ddebug_change(const struct ddebug_query *query, struct flag_settings unsigned int newflags; unsigned int nfound = 0; struct flagsbuf fbuf, nbuf; - int valid_class; + int slctd_class; /* search for matching ddebugs */ mutex_lock(&ddebug_lock); @@ -218,21 +229,26 @@ static int ddebug_change(const struct ddebug_query *query, struct flag_settings continue; if (query->class_string) { - valid_class = ddebug_find_valid_class(dt, query->class_string); - if (valid_class < 0) + slctd_class = ddebug_find_valid_class(dt, query->class_string); + if (slctd_class < 0) + /* skip/reject classes unknown by module */ continue; } else { - /* constrain query, do not touch class'd callsites */ - valid_class = _DPRINTK_CLASS_DFLT; + slctd_class = _DPRINTK_CLASS_DFLT; } for (i = 0; i < dt->info.descs.len; i++) { struct _ddebug *dp = &dt->info.descs.start[i]; - /* match site against query-class */ - if (dp->class_id != valid_class) - continue; - + if (dp->class_id != slctd_class) { + if (query->class_string) + /* site.class != given class */ + continue; + /* legacy query, class'd site */ + else if (ddebug_client_module_protects_classes(dt)) + continue; + /* allow change on class'd pr_debug */ + } /* match against the source filename */ if (query->filename && !match_wildcard(query->filename, dp->filename) && From patchwork Thu Mar 20 18:52:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027317 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 2FF58C3600C for ; Mon, 24 Mar 2025 13:25:49 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6565110E3EA; Mon, 24 Mar 2025 13:25:48 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="f2PKK+6g"; dkim-atps=neutral Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6DB4A10E687; Thu, 20 Mar 2025 18:53:39 +0000 (UTC) Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-85b515e4521so36864639f.1; Thu, 20 Mar 2025 11:53:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496819; x=1743101619; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xYthOB5BI90Xc0sNqdHCeRWErBOeeonKxchWCKHo1mE=; b=f2PKK+6geYXUjcpAKg2c/6SuRyIWQL0IjBmhRsNCcHiWkd39i8PiPkLotSdtgNPhVV jdD083uAvlHqP0djt6B5Dquq72Wg1PglOMtKLyWhmHpGS/F46OgE/Qu+5ReyD7BMVky5 Fc8zZVzrE8gKsTQ0Z3HqZCVogMBdNN2NMhQW8mZIiY219G5mgph1UrXH9jxCEQPwNGpO m2gxmzUA0CPVY827bRbu7SvWX2l0kjijJyfBbkCg8uD9ENJwm2+m1WOoPmHsLMq/IPlR sBdETZ1sC8pr07jPmYdFvQOYKbfO7wMe7fwqc+/4EALc4jDqCNJuPSHnOSmYiOvIWNp9 4jGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496819; x=1743101619; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xYthOB5BI90Xc0sNqdHCeRWErBOeeonKxchWCKHo1mE=; b=kurVxJ2xkDAzsvl/VevJYS+exTCTPWfOO54f70v0Ucug11CdwiY6HYdwEPJMzXZimx mSuT/VPyn/7P5e2u5X+7BFKRJhkyxZO6mi4i+dPTYVWncaFN+yEc+P8KitTg6D59Kv4A VUiPW2mxlzcCtHukgoNyiM+W0m6K/LiKAzGq3vopnOcZy34kGGbJYUL+uEkXhoGpamlX MGdA/McTztzz7KitbJ+xffSsxkokXZaYnI3Ivy9q9P502f8vDQmrFE8KZl+vqiSPWPxs Vf4oGjUmKSmKiPmbOlxV6Izxdj3XdAirVhlgCSFCkAM0XJ1wzGmRcUsO3jkLBtTqbRUq H2Zw== X-Forwarded-Encrypted: i=1; AJvYcCUaBRVajBaup5KxHQyUhSgOzyBmuVUJMXdFMUeCmJ/Wh5ZO/gLXHt6ZfPYjDvG42JTWoeDfVPx+1dTw@lists.freedesktop.org, AJvYcCUiVnLo50/5ZYeXrnpJx6iSo5++iT6QS02gEIBXE8B+4Hi6nasCgdYjOvJU/tUJUU4iIgIShIse/VtFieKBxw==@lists.freedesktop.org, AJvYcCVhOpOoZy1N6LoOxkt+824d7+CTNVy36EglVppxm7V5DCdHKIVB9CBZW5VeK6eV+KpOwBlc/Omnzkbt@lists.freedesktop.org, AJvYcCXUxvRuUCTekIEUxUZ6eMDcy7d4SckMyO7ylLQtE//VPTZtOz+yi5j45MhL+RZvo43d/blElJYsBRzCdIIw6EJlOg==@lists.freedesktop.org, AJvYcCXlWXVYtWr2+fKYx5NWr8ZgaXD6hY+xOFTIR8liTb0Rg8vLPieXvBHBadWvnnFqNG+XhkGiCPU0@lists.freedesktop.org X-Gm-Message-State: AOJu0Yyv+FLwwVLZ/t5XpU0vx4wHbXVSobmCbKlW6CrfjdgFiNv7+J0a 9r3/z+tgcnfBvE9lSQ/q6jLOyyAIQ9v/Mxg3dKBvJBs2CamAMxS4 X-Gm-Gg: ASbGnct3doq6y2cUzgiDPamXEbDv2KWAJpCjff2Sy1XPt+GXB8SNvkIvL2SQ76YKgSU NVadoC0IivVEzlI/fYyYc92CDRy1QfyQd++AcFnz7W0KT5ZrG7mG0V0CfTbuVshyUkI2N9sjtFB fr+HT8kCp3VTkMFme67My02BV9syyJRNktClStZuoldb4N0gc/5RFjI72yqHhh98lRkE7RG2VKg cXlyNcZCsy38aXWtUN7sZcbSuNPpv1gqhdI+3KcAWYD3ZXnXXT/aYtjAT2QFAkOVs5Ils2Q08Ry 6Jenr0V14vDUqn6DWxjE5cGFHZ0uFfOFJTHgXp49f+ad0L7pMkeG62mjqtPUK9MfiDRUw9KYshe M4Q== X-Google-Smtp-Source: AGHT+IG1ZN1PdCnSE/0Y/ZVD9TfRAzj/99OndZsm+wv+t2UNLScww8gqg4Ce5ePaZukZWiLiOE/e0A== X-Received: by 2002:a05:6602:720f:b0:85e:1860:4757 with SMTP id ca18e2360f4ac-85e2c909634mr64857939f.0.1742496818693; Thu, 20 Mar 2025 11:53:38 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:38 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie , linux-doc@vger.kernel.org Subject: [PATCH v2 31/59] docs/dyndbg: explain new delimiters: comma, percent Date: Thu, 20 Mar 2025 12:52:09 -0600 Message-ID: <20250320185238.447458-32-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Add mention of comma and percent delimiters into the respective paragraphs describing their equivalents: space and newline. cc: linux-doc@vger.kernel.org Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- .../admin-guide/dynamic-debug-howto.rst | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Documentation/admin-guide/dynamic-debug-howto.rst b/Documentation/admin-guide/dynamic-debug-howto.rst index 4ac18c0a1d95..8e2083605bd7 100644 --- a/Documentation/admin-guide/dynamic-debug-howto.rst +++ b/Documentation/admin-guide/dynamic-debug-howto.rst @@ -78,16 +78,19 @@ Command Language Reference ========================== At the basic lexical level, a command is a sequence of words separated -by spaces or tabs. So these are all equivalent:: +by spaces, tabs, or commas. So these are all equivalent:: :#> ddcmd file svcsock.c line 1603 +p :#> ddcmd "file svcsock.c line 1603 +p" :#> ddcmd ' file svcsock.c line 1603 +p ' + :#> ddcmd file,svcsock.c,line,1603,+p -Command submissions are bounded by a write() system call. -Multiple commands can be written together, separated by ``;`` or ``\n``:: +Command submissions are bounded by a write() system call. Multiple +commands can be written together, separated by ``%``, ``;`` or ``\n``:: - :#> ddcmd "func pnpacpi_get_resources +p; func pnp_assign_mem +p" + :#> ddcmd func foo +p % func bar +p + :#> ddcmd func foo +p \; func bar +p + :#> ddcmd "func foo +p ; func bar +p" :#> ddcmd <<"EOC" func pnpacpi_get_resources +p func pnp_assign_mem +p @@ -109,7 +112,6 @@ The match-spec's select *prdbgs* from the catalog, upon which to apply the flags-spec, all constraints are ANDed together. An absent keyword is the same as keyword "*". - A match specification is a keyword, which selects the attribute of the callsite to be compared, and a value to compare against. Possible keywords are::: @@ -133,7 +135,6 @@ keywords are::: ``line-range`` cannot contain space, e.g. "1-30" is valid range but "1 - 30" is not. - The meanings of each keyword are: func @@ -158,9 +159,11 @@ module The given string is compared against the module name of each callsite. The module name is the string as seen in ``lsmod``, i.e. without the directory or the ``.ko`` - suffix and with ``-`` changed to ``_``. Examples:: + suffix and with ``-`` changed to ``_``. + + Examples:: - module sunrpc + module,sunrpc # with ',' as token separator module nfsd module drm* # both drm, drm_kms_helper From patchwork Thu Mar 20 18:52:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027305 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 9701BC36019 for ; Mon, 24 Mar 2025 13:24:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F2B2810E3CF; Mon, 24 Mar 2025 13:24:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Y4+3BvpA"; dkim-atps=neutral Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id CCDB910E68A; Thu, 20 Mar 2025 18:53:40 +0000 (UTC) Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-85da5a3667bso37831939f.1; Thu, 20 Mar 2025 11:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496820; x=1743101620; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+JojmC+9FxP2Ro0EyDJ7vhOxZoHEZd1XTtPdoBZyU2s=; b=Y4+3BvpA8UADqsgKrDpdgEiDq3Dz91jdI/9DZKdmFOL6V3IQfuo+KG7NKH1thoqM81 h2lK3pFmbKI54iA5CbeiPnIhcA42/uDa5JwyYEpka3trvgoKdDd7Fca+meiKSx+INtGf 6Yd2jVNCyQ6y5Wht/w/LLJHmMboktUUvPBgsKB0OjhvLtGcgDBmeDrSqSx+Oa+ZoHqVe mDuWzrxjkRhtpVsar8kGT5jG723d0WHtfdEkFU+AWrVoxcdQeL8TSw71j5lObvbw5UMJ BDf/VLeONoBQqKPfj08WWGXcfNYLGZZkD42Cx5PDOEFgOgJTAurel1SIWx8PW9TTL+OJ 5sjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496820; x=1743101620; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+JojmC+9FxP2Ro0EyDJ7vhOxZoHEZd1XTtPdoBZyU2s=; b=egmJL6PKvtErXYHGeA6mgz+h4LcOyLPkl0oevCrxN0XANdYsayJwC+oGHB1X6o5dmc DwEOGne+dRwg6fT3IfZIJXbFAnyLuR1zkrFJSaLBuaa/oKSEgTWy68q+e7g67QNaIxIe Uq0CCZB+mUdEC/Vslq38ggs5xeQVzdLK26+n8+bICxCZP5pZzHpOsBSyh/vPiEj9UMq9 WEO7pwa90mfLNAyD78O3acAy+d385h0QKxYdvqREWdZtWyvd36jpVByFctNlx6dO85oJ OEr1ESTgij/w1o9c/EGFIAXqFoYws9Ydr3ESoB+JB/Tiqkz/iul9Ln9x4x0g7sxYvwsy tePw== X-Forwarded-Encrypted: i=1; AJvYcCU2/89fDPttbr3hn46BA4Qd9d8oCAKa2xkT52LtVcRqgui7GAinTxVJiOjRLWDlfhWIAmstdeHtMoz4@lists.freedesktop.org, AJvYcCWEglOVD57KYEh/Nx92ZN1krug8MEIMvlyr2yvtdermOTTd0y8J5WVqLMf7tomGrOcDtMiEjRPhgsko@lists.freedesktop.org, AJvYcCWzJh9xIzkh0gi/TW2cUrZvJsDd7a/ori6ODtFifntq9LEy8ffJbUaq7oKEQ0uBR3Mvr8cShU3c@lists.freedesktop.org, AJvYcCX3dzlh2Z3eEBavMHrdFfU6LwtRmhzHTPX1+maWM5FRdD1feLBA+Odo5V04/b9rY8UTFJAAkFLPOKOeM+okoA==@lists.freedesktop.org, AJvYcCXQtksER0qC52ZUs2g9ACt+YCmn0QqreddmLZzoI/JFZunh/9k9/CFvoZ7iukHgdMvvsbYOK0CdPgS/fcA8EKv8kg==@lists.freedesktop.org X-Gm-Message-State: AOJu0YwD9AV6Ff//PpPXnDFDflb7nksKyLCCYArbAxh3WV0D3ctCRYm1 MGesgZXlcCAPij3AViFqABgPX7cTd+B0jAMxeZh1IB7VuOpT+iSb X-Gm-Gg: ASbGncsj1lV/OQ8uAeB+gvdFvUvGiUT268lVJazobMWVx9q9t2KNKbKBlIdxIVmTUvN S6AvA1ElxD1aAA+VkjcF691lNNfOKnJpdstIMruEuM/fY+M9NjzCDmOp2uYlClV8mEiPY3BRR2c 8nVxgpL9ON/HkZsETfCRAIRLV8AE8qnIU29n/gx9EOpoqTFur4uPlE9zHPpKdDL0ZM5HH2tKvgQ FNTquH95QmMIhsZYL4upXDs7E5dlPDPFYLJiWL7Jt/oHwJwWV6iZh+IGoqnUgzsoAEGXM1O2KEN oJYtHoNnUKoIGj6Xzg+hyHXNPrJ1YsJgdggxuq9VrBKuoz7ghotnCpUckUvkaNHTkcH/Wj2oHy1 9WI7MXIyypBYP X-Google-Smtp-Source: AGHT+IG04lf95fJO+S+3AZcgEaNcIF03DKuyxl+Fgiex9RLp35StpaNvWFb8uwJT3IqqzXUNqAF8Fw== X-Received: by 2002:a05:6602:398c:b0:85b:4ad1:70e with SMTP id ca18e2360f4ac-85e2ca8a7acmr52986639f.6.1742496820040; Thu, 20 Mar 2025 11:53:40 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:39 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie , linux-doc@vger.kernel.org Subject: [PATCH v2 32/59] docs/dyndbg: explain flags parse 1st Date: Thu, 20 Mar 2025 12:52:10 -0600 Message-ID: <20250320185238.447458-33-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" When writing queries to >control, flags are parsed 1st, since they are the only required field, and they require specific compositions. So if the flags draw an error (on those specifics), then keyword errors aren't reported. This can be mildly confusing/annoying, so explain it instead. cc: linux-doc@vger.kernel.org Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- Documentation/admin-guide/dynamic-debug-howto.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/admin-guide/dynamic-debug-howto.rst b/Documentation/admin-guide/dynamic-debug-howto.rst index 8e2083605bd7..d2928884c92b 100644 --- a/Documentation/admin-guide/dynamic-debug-howto.rst +++ b/Documentation/admin-guide/dynamic-debug-howto.rst @@ -112,6 +112,16 @@ The match-spec's select *prdbgs* from the catalog, upon which to apply the flags-spec, all constraints are ANDed together. An absent keyword is the same as keyword "*". +Note: because the match-spec can be empty, the flags are checked 1st, +then the pairs of keyword values. Flag errs will hide keyword errs: + + bash-5.2# ddcmd mod bar +foo + dyndbg: read 13 bytes from userspace + dyndbg: query 0: "mod bar +foo" mod:* + dyndbg: unknown flag 'o' + dyndbg: flags parse failed + dyndbg: processed 1 queries, with 0 matches, 1 errs + A match specification is a keyword, which selects the attribute of the callsite to be compared, and a value to compare against. Possible keywords are::: From patchwork Thu Mar 20 18:52:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027273 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 E3413C36017 for ; Mon, 24 Mar 2025 13:24:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B671710E34E; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UmsDLuy1"; dkim-atps=neutral Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3248310E688; Thu, 20 Mar 2025 18:53:42 +0000 (UTC) Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85ae131983eso125343639f.0; Thu, 20 Mar 2025 11:53:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496821; x=1743101621; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iiJ7Gpr92Q6ANZI0grpR2HAyoakBNuE25K03SLq7bv0=; b=UmsDLuy1kawwx4II0SxABZmEXenLdHN4aO024ka4xc76ApaP76/KdaZgkR/vp0KfZh HKq4LNDciF+jxvDJCBvpj628lGydU36MxTKW99TeEU0A7jHHPxghyokdHF9gBDSULoyg a8KjlI+o1+CKx6UXV7tpomF2mYKEVi3A/NZEUCYBCsfevnEtpv7X3iGCeEUXIFYEp3wd Lqi1zxo4sqdQ2StWKbLcOaa8eRitUn3l+acc73w3ds1gSNOgsKiga8dWPfeBdyesqQaX /WuOoqipAqt7wZmSFQ1n6BcJT1o93pSJWeXYQJmIh1Hu7XRqVYybjXrWrFaon64GAE94 fM6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496821; x=1743101621; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iiJ7Gpr92Q6ANZI0grpR2HAyoakBNuE25K03SLq7bv0=; b=lBo7NZ1KIKWS9Uv4ZKSK9a0qDMobGIwRL0g/gEwg/B44IYHuVsI2wZE1phPE9rmdvQ LOZzG0yamFwW9uQaSkU3/OUgz3ECBFeOgB1vlZymPSGIGY/WsPphSy/an/S+GHEsVB7h 0JJV9wOPe6CebXIfRXUkzt0hM1r1cf9PlnqBqAv9b29aDWH7AASWvxM8wNtKu8j9Gt+x ko6w7B8M1Uk4M9Wq3rSaU/nCFzwPgWAuNY07CtYL7k2+BGBc9RttCPE6KIwoQdUTXTtd XXnqTVS92c3KPCmFyoIHdXh0pCTcQfhEU+vuT3nXoD6fVt+ePxQANoj2oYOSJEAZxvJX IvUg== X-Forwarded-Encrypted: i=1; AJvYcCUyhUJ3slRJg7utaBPc0u2M43UFjqMkOTaAMAOhv2++nNsHA+0rwHaMNb8lxiX7uSjFLfPTsDYhJX3C@lists.freedesktop.org, AJvYcCVgRVbmbXCM+s+Bfp506NVGf++ADORUudtNdi2bGaVlqIulz8Lr/4jVW+FlU0mJ9vYgjQvQjCqC2GkVWc3eDA==@lists.freedesktop.org, AJvYcCVrOU8grvMzmQVavX0eOaa5L54adz6O+yOvxmsOlwoyEdilbErESk1tQhErqGJ46oHN5zMCXUQl@lists.freedesktop.org, AJvYcCW0d5Mf4FbZkzdwym8oCfuFuyv7osQOqLejbvTe9IUSp8Ioa/w0yjYiyvwlpRtm1c+D75SpbSOXCyJnBfrXPaEixw==@lists.freedesktop.org, AJvYcCWfVpJa/sOZ0mEUFK66+Y6mOBr6Vw7qcrYTloR13DrNIQ9z8KwYhJgqYGh3bEvFJh/qdC2xm2EwUwJw@lists.freedesktop.org X-Gm-Message-State: AOJu0Yy947QUAmsBBdTCtIt7W7uwzYAq9PezikgA+eRca+eKqyxTxQ1B RT9LORySqgYF45YxE+qy5LOOq0Q+q5j/wOXTX5bNWCT4jfYU5a3L X-Gm-Gg: ASbGnctU8ZTKax0PcYT1KjAycBSBPGO+YsuFR8hD5V5NY0ga3XCzdRTRn6YYA11fmbX AB4bXwijTgoQ4TdP5tKN/e/00uxmuC3k5xUVCAtaDpCjKdjmwYsHCohQXXwOy8LegL94dxHVY5D nW0WT6eHyhlVlINnknaxdgm0YCfs3vVke/3oxnEEEocGqiyy/T0cKYqOcvtOLdFeplfokmcSFIz i+5jXjS/7StDyx90ISuDciw3EPD2C6iMRR2PvYoL4zlpM5xouRbypVnsg+nxihGhKY+DWSmLR4z /98fKwDhY4R8rdGYqVjxbkuEAK1MD754LgR9B4tOo2UJ/AHJjnH7qJs7Ag5iVxnv9CXCdaLULbU yWg== X-Google-Smtp-Source: AGHT+IH4i8LbvrmrRpjy8J+JJRVU0+1Vb1Ug4cLDBgaSWuZTQzWXN+4Vhhh5tVc2tWWaiXCHMDRfQg== X-Received: by 2002:a05:6602:3786:b0:85b:5869:b5b with SMTP id ca18e2360f4ac-85e2ca899f5mr52693339f.6.1742496821278; Thu, 20 Mar 2025 11:53:41 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:40 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie , linux-doc@vger.kernel.org Subject: [PATCH v2 33/59] docs/dyndbg: add classmap info to howto (TBD) Date: Thu, 20 Mar 2025 12:52:11 -0600 Message-ID: <20250320185238.447458-34-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Describe the 3 API macros providing dynamic_debug's classmaps DYNDBG_CLASSMAP_DEFINE - create & export a classmap DYNDBG_CLASSMAP_USE - refer to exported map DYNDBG_CLASSMAP_PARAM - bind control param to the classmap DYNDBG_CLASSMAP_PARAM_REF + use module's storage - __drm_debug TBD: some of this might be over-specification, or just over-talked. NB: The _DEFINE & _USE model makes the user dependent on the definer, just like EXPORT_SYMBOL(__drm_debug) already does. cc: linux-doc@vger.kernel.org Signed-off-by: Jim Cromie --- v5 adjustments per Randy Dunlap v7 checkpatch fixes v8 more v9 rewords --- .../admin-guide/dynamic-debug-howto.rst | 80 ++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/Documentation/admin-guide/dynamic-debug-howto.rst b/Documentation/admin-guide/dynamic-debug-howto.rst index d2928884c92b..9422dc4917d0 100644 --- a/Documentation/admin-guide/dynamic-debug-howto.rst +++ b/Documentation/admin-guide/dynamic-debug-howto.rst @@ -243,7 +243,6 @@ the ``p`` flag has meaning, other flags are ignored. Note the regexp ``^[-+=][fslmpt_]+$`` matches a flags specification. To clear all flags at once, use ``=_`` or ``-fslmpt``. - Debug messages during Boot Process ================================== @@ -393,3 +392,82 @@ just a shortcut for ``print_hex_dump(KERN_DEBUG)``. For ``print_hex_dump_debug()``/``print_hex_dump_bytes()``, format string is its ``prefix_str`` argument, if it is constant string; or ``hexdump`` in case ``prefix_str`` is built dynamically. + +Dynamic Debug classmaps +======================= + +The "class" keyword selects prdbgs based on author supplied, +domain-oriented names. This complements the nested-scope keywords: +module, file, function, line. + +The main difference from the others: class'd prdbgs must be named to +be changed. This protects them from generic overwrite: + + # IOW this cannot undo any DRM.debug settings + :#> ddcmd -p + +So each class must be enabled individually (no wildcards): + + :#> ddcmd class DRM_UT_CORE +p + :#> ddcmd class DRM_UT_KMS +p + # or more selectively + :#> ddcmd class DRM_UT_CORE module drm +p + +Or the legacy/normal (more convenient) way: + + :#> echo 0x1ff > /sys/module/drm/parameters/debug + +Dynamic Debug Classmap API +========================== + +DRM.debug is built upon: + ~23 macros, all passing a DRM_UT_* constant as arg-1. + ~5000 calls to them, across drivers/gpu/drm/* + bits in /sys/module/drm/parameters/debug control all DRM_UT_* together + +The const short ints are good for optimizing compilers; a classmaps +design goal was to keep that. So basically .classid === category. + +And since prdbgs are cataloged with just a DRM_UT_* to identify them, +the "class" keyword maps known classnames to those reserved IDs, and +by explicitly requiring "class FOO" in queries, we protect FOO class'd +debugs from overwrite by generic queries. + +Its expected that other classmap users will also provide debug-macros +using an enum-defined categorization scheme like DRM's, and dyndbg can +be adapted under them similarly. + +DYNAMIC_DEBUG_CLASSMAP_DEFINE(var,type,_base,classnames) - this maps +classnames onto class-ids consecutively, starting at _base, it also +maps the names onto CLASSMAP_PARAM bits 0..N. + +DYNAMIC_DEBUG_CLASSMAP_USE(var) - modules call this to refer to the +var _DEFINEd elsewhere (and exported). + +Classmaps are opt-in: modules invoke _DEFINE or _USE to authorize +dyndbg to update those classes. "class FOO" queries are validated +against the classes, this finds the classid to alter; classes are not +directly selectable by their classid. + +There are 2 types of classmaps: + + DD_CLASS_TYPE_DISJOINT_BITS: classes are independent, like DRM.debug + DD_CLASS_TYPE_LEVEL_NUM: classes are relative, ordered (V3 > V2) + +DYNAMIC_DEBUG_CLASSMAP_PARAM - modelled after module_param_cb, it +refers to a DEFINEd classmap, and associates it to the param's +data-store. This state is then applied to DEFINEr and USEr modules +when they're modprobed. + +The PARAM interface also enforces the DD_CLASS_TYPE_LEVEL_NUM relation +amongst the contained classnames; all classes are independent in the +control parser itself; there is no implied meaning in names like "V4". + +Modules or module-groups (drm & drivers) can define multiple +classmaps, as long as they share the limited 0..62 per-module-group +_class_id range, without overlap. + +``#define DEBUG`` will enable all pr_debugs in scope, including any +class'd ones. This won't be reflected in the PARAM readback value, +but the class'd pr_debug callsites can be forced off by toggling the +classmap-kparam all-on then all-off. From patchwork Thu Mar 20 18:52:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027280 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 E4308C36005 for ; Mon, 24 Mar 2025 13:24:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6653510E360; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dv6XR1OM"; dkim-atps=neutral Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8DC8110E688; Thu, 20 Mar 2025 18:53:43 +0000 (UTC) Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85b42db7b69so12871739f.0; Thu, 20 Mar 2025 11:53:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496823; x=1743101623; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zAdNrl6o4nlJGGBk/KZ03CeLYIHiGo9zImsUibhTTyU=; b=dv6XR1OMf7BWOHAIIRDVAanUUJecCGzmh5uvTKlD4QJL8fdFfdC3uDXhopVG1MC+tG zzyNy9xRG24vzvV6b2aXAvhbmGHzemvgo4toCNG0tBJpUwYdMNoxmtlu6l3uPKEziVL7 PH/CQUEOMB/R1Nl5NRkBR0Orj5FtO8tT89CZ7r4+pyww0d/pqRXEbAYRXUM77LnqzJis SB8XEM+Fc+1RKEYkD3mLBnvWbhzSaJTj/o6MsXnp+Qx3zJ61WwB+lAP2iSDlOi89A5qt Sbw7HU8R8G1NtMk04w0S+sOTufZR4Jjt/McOU+93GM5+WZuU8TP+erJVbP4+hmRA1fAV B81A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496823; x=1743101623; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zAdNrl6o4nlJGGBk/KZ03CeLYIHiGo9zImsUibhTTyU=; b=OH0NpcHbmwIocdT28OVR3DcCqDb2ryERmpwa5loSalYRtNhdsOA3aiJivLgrgcNJdL kTNyj+3HwSxM+itlikymKVkJxfxZDs5OToc+Lw/IthX2KH3WySeNnC9ZgmJxwjEPZwFg wJEbNrfNR9AgbYlgeRtjV6datCupE7AiIy1uBd3mHyQ5abxw6M4G/m+/kcoSvkaUaN1J RQJDqq7XGRcqsphwrnMbC5EmFjQZ4AH3uXdYoSIg696HQARaXBQ+G2V2IGvlZYrX7CpF l2AQXr/4QLlZ2bpo3M5yEMddA/l6bUtJPgT0ENfe+l/DL+j+tFWRNwrNu0BO+y/wPstx hpcQ== X-Forwarded-Encrypted: i=1; AJvYcCU1lFwi8j5LgvR4RrNL2nIMRFiynPVIEYwu3xUCrCla8Iqdz8id38q+aAJCQNJtGwM4SF5t9+ExHK0A@lists.freedesktop.org, AJvYcCUmMtyeB9GBz8uZZ3j2ZR/TxgnWjdXMENKGEorDWA0UiMjI1YSInyl0UyxeVJ/5Flza2//217ssrZGCvOQlUQ==@lists.freedesktop.org, AJvYcCVDcZbU+qiuZMRa+v55uJpxUbqNvhJlUlb0qA9O1N3NBb6JPZYZgG+3JGXl8BkqAOZ0hq90oFxDu9JdGNW9d3KZ1g==@lists.freedesktop.org, AJvYcCXmFua9ioGtgK7LuQwFTeDnj0gnrmz3wLGGOBYoiWVo7fHGbC7fnWmmI27ZS0O42y2E0vi5T4PV@lists.freedesktop.org, AJvYcCXvsTcXgKJXYdLPkk6oJkxh2xNpMGCOdWijMy4u2GnOVJ2lcSEuUDPvol5zp6QM1TDU1hBZm5cNy1Ug@lists.freedesktop.org X-Gm-Message-State: AOJu0Yx3Dw3ggpub0TEQn6Ctj/jG0JRSeGQynJf6MOBaUZEPXOC+XFh0 fQ7UlQq+BdgNc2ZvOogyMhJWQPpWXFS4qAlBEsR6PQMQXzmzFoJa X-Gm-Gg: ASbGncuFpwLm47EFSU+l6YzvOgiGBh2VYF4BcDlER87wcSq38HWTD+GITJAhQGBklvR Ph6n17eimDWO/0Dayeb51jgoPNY93z5i70TFQ3NidEFZze1MCKREibPeMOYPuDCCy9ZRh3DRXXp ESKNV54BZ3w5rsvghg5n4XYqiPXzXjCwNBZVMq6Kt6yGC565IzehN95YviRPhyjwAb22jrk5KsF 2iD0BrJzY8rjaj5YWF2VhI3bnoqRpP/KnZzrnDZo5yuyS1tsp6qJxNBZn5QyHHJgAnRUgT//OLK JNWanZ8zinK3//l54ONpw6RmcU/SSbQoUlcnwnw8wBpfEWFGDRwNo9kU5oDslFQEi8QWf5BwLge EMQ== X-Google-Smtp-Source: AGHT+IEnonEy983P248xMfxfk4/ahHSFdlmfHVC5Vin/zWCCx+HHiKMw3js9r1od9l49MZlN3oIx4Q== X-Received: by 2002:a05:6602:2748:b0:85b:476e:ede2 with SMTP id ca18e2360f4ac-85e2cb39bf9mr41321139f.13.1742496822840; Thu, 20 Mar 2025 11:53:42 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:42 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie , Andy Whitcroft , Joe Perches , Dwaipayan Ray , Lukas Bulwahn Subject: [PATCH v2 34/59] checkpatch: dont warn about unused macro arg on empty body Date: Thu, 20 Mar 2025 12:52:12 -0600 Message-ID: <20250320185238.447458-35-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" we currently get: WARNING: Argument 'name' is not used in function-like macro on: #define DRM_CLASSMAP_USE(name) /* nothing here */ Following this advice is wrong here, and shouldn't be fixed by ignoring args altogether; the macro should properly fail if invoked with 0 or 2+ args. cc: Andy Whitcroft cc: Joe Perches cc: Dwaipayan Ray cc: Lukas Bulwahn Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- scripts/checkpatch.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 7b28ad331742..0c4f578ea6e7 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -6037,7 +6037,7 @@ sub process { } # check if this is an unused argument - if ($define_stmt !~ /\b$arg\b/) { + if ($define_stmt !~ /\b$arg\b/ && $define_stmt) { WARN("MACRO_ARG_UNUSED", "Argument '$arg' is not used in function-like macro\n" . "$herectx"); } From patchwork Thu Mar 20 18:52:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027262 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 762CCC36011 for ; Mon, 24 Mar 2025 13:24:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EC60210E346; Mon, 24 Mar 2025 13:24:22 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="jDs3ND5F"; dkim-atps=neutral Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id CFA8510E68C; Thu, 20 Mar 2025 18:53:44 +0000 (UTC) Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-85b43b60b6bso41411139f.0; Thu, 20 Mar 2025 11:53:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496824; x=1743101624; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TtBnrd8yWB3oKPUJX24gJEUHr1Wu50+TDt3ZzWgKjdc=; b=jDs3ND5F441XqeVSB6OPOIflzBSDv8wzl4HOe7Wag/ZfcuxGVquQ77ooJR/pVjpBhf +kmtufu1AnPZ7QTtqaq/1HVBM9f7iTRZe5J26lRvuRBAirZYK1hyIwx+1KKyCyTa0Oex s+K7KPxE6+1EOf1WxNz+21mEa9ZBg3CqYmh9EQylksre7izdHht4M4A+Bp2YT8zoc9SO ORV2VPZ082BFoPyqszwG0P+i05uNcQWxbS6NpwpTbJ2u455KZDGMuekmEGgBXOwPXdjz /RTYdXK66y6Gs+0aWcb8ZBkWgKJT76HCGJBW36nXwMfFHZ0jSnnWAZSRP3elxyBYy+mX 3ibg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496824; x=1743101624; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TtBnrd8yWB3oKPUJX24gJEUHr1Wu50+TDt3ZzWgKjdc=; b=BZOh4KLR31X6hufvJNx8XzYTC78gzBfpD36prhHh8SXtvRory7n3FmKHCepUt4puvh ShCSNqyJG0YiWjHCorGxXK7iPu+FTzlvBSqHUoY43c750hsDUkespLyZn8/EiIzI5EDf f4yfhfc+C2WyZJwFDYfYMvtC/dgFVMXzkUtrrb0tUAHtBfsy7YFwSYFksOQWB6KoNII3 MZ92IqUQZ17O1RgObSMtS6hmpgyowPhzZ9NhtcKxE7kYT07c8O57fdvOGEThVuy/C2W8 uFfAXKmvJGEHZ/XuEOtix41B6YAgd6EUIfdRPnIplxtzEldgO0s7ba8aYLxnDCAeEMNv 59AA== X-Forwarded-Encrypted: i=1; AJvYcCU7FqmqxItr/Duly2J1cu8yVrhndFyBV1CO3G4xquEnpPlPPIe3UwIA6GeUajcaywSYqWYWhfWN4bsP@lists.freedesktop.org, AJvYcCUzSVFzbmFuKAr5m+QLQamHaegzPNBWWcPFzuxuwHSk5d4jBhEAz5WgyaXKQL2HAHQghYTlB8onFjWM@lists.freedesktop.org, AJvYcCVTpOEoXdOdzcBPTDupVlTreCHsIA4UzyEOJu5svL1KdN3EfDdQ7J9SjZUNq5gLMd8pAwk+m0WwtnrPD1xyBW6aUQ==@lists.freedesktop.org, AJvYcCVYBG38gWXbM/j/PoIuccn1vbsteEy2ahQr1FpLWB6DHssDqmcJNdH70FAnQ4Zyvtt0RiI9Nj6D7/RpuRTHdQ==@lists.freedesktop.org, AJvYcCWrQ6ErT3tX+LmYMwbJeia8d20w18cM/jkSRwcXgo6iDdAZGpgjD9aW/h9MS9goa5PhBRwrwH1P@lists.freedesktop.org X-Gm-Message-State: AOJu0Yxp9hT1vncKWwjpclPn2z/BfYnSgPoRIlfXjNY9zht0DU3AzLB4 lv8xhIr/d974X28eRndwvYlAzkou370LHxHMt5E6mVgNhO5gjGu/ X-Gm-Gg: ASbGncuMuYy8I81MAwPTt5RSG17cDs6Ax3raMBpUsOWl0xrltd9AsNMxNot7EL3VeEJ 2P9qQzg21Pys4Qoja885Fd0e0CcpBTA1GaGpzOnzvBrI4+3GgeB72EAKZCWB/p5dhqsel1N3jFk wGMTRmmAhw9ZL9EpUX4/hqoZNUEQAjJ5OJ/JlNwElGTumn6pDtCyoXKjG0jsXWvy+KSmbTRnwk2 wjZYAeNkeC+A5YM3xM25/QY+myj8YjjpiRKy2/Ydo+x5RMnNhg7DxTNlP4hQDTlenW7WVULphWF 0aJ/0IJ1NpjT1TPxfUM6dh0X5KUyPApY3xn5kLLIJOC3Vy50WaC2iTDBxTQhr2meGgPgd0yDHU/ quk9Vx6cDz/3f X-Google-Smtp-Source: AGHT+IHFvyQVRbturEwDcbCPHLoZwk+VN5bfdFvOWI+5XsTyYwxQd9MOexegAMxgJSGfLg+Eu4mK1w== X-Received: by 2002:a05:6602:72e:b0:85e:16e9:5e8d with SMTP id ca18e2360f4ac-85e1f0179afmr538360939f.7.1742496824100; Thu, 20 Mar 2025 11:53:44 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:43 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 35/59] drm: use correct ccflags-y spelling Date: Thu, 20 Mar 2025 12:52:13 -0600 Message-ID: <20250320185238.447458-36-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Incorrectly spelled CFLAGS- failed to add -DDYNAMIC_DEBUG_MODULE, which disabled dynamic-debug in modules built with: CONFIG_DYNAMIC_DEBUG=n # 1 CONFIG_DYNAMIC_DEBUG_CORE=y # 2 CONFIG_DRM_USE_DYNAMIC_DEBUG=y # 3 NB: this adds the flag (when 3) more often than strictly needed; modules built with CONFIG_DYNAMIC_DEBUG=y (!1) don't need the flag. Fixes: 84ec67288c10 ("drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro") Signed-off-by: Jim Cromie --- drivers/gpu/drm/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index 19fb370fbc56..704f94efc804 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -3,7 +3,8 @@ # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. -CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += -DDYNAMIC_DEBUG_MODULE +ccflags-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += -DDYNAMIC_DEBUG_MODULE +subdir-ccflags-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += -DDYNAMIC_DEBUG_MODULE # Unconditionally enable W=1 warnings locally # --- begin copy-paste W=1 warnings from scripts/Makefile.extrawarn From patchwork Thu Mar 20 18:52:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027258 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 DD115C3600C for ; Mon, 24 Mar 2025 13:24:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A80C210E342; Mon, 24 Mar 2025 13:24:22 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="h9dF6QwL"; dkim-atps=neutral Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2770410E691; Thu, 20 Mar 2025 18:53:46 +0000 (UTC) Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85b4277d0fbso49356539f.0; Thu, 20 Mar 2025 11:53:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496825; x=1743101625; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9Bsn0H7+fs71frfQ+1OquFl1HD8Y6SgOd3dNDu3Wz8I=; b=h9dF6QwL6H7ha9rtyczCvr+w2eQpJSYvgKBNI5SmpVC/2+5NjMGc8mXGsrcay/OQ6e PxEk2NuBNsaaGHWiEsLnOcltao8qr4DqoBNnI+vjRMKDInzbjAv2oKZrFHvfVa4pujVn ikjlLTjxw9TuOYx+qYF2vxJ/UN4VxvV0tMaZQswSDxm+uosIateGZbY3fQUYYndKK4gM zPnD7smYPJL51P/zfoDNxzh//SM5TtyPIDB34+p0HNdw5a1agA0GZ13n/fo9pNFQJ/6d TT6NuRSyX/Wo6e+AbukYkNza3LFLZgxkdlhm62UFN7lFmkRJr99TIE4UHl9kQUKfpNhz cKEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496825; x=1743101625; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9Bsn0H7+fs71frfQ+1OquFl1HD8Y6SgOd3dNDu3Wz8I=; b=B5axzQKuomxdlcf8/fbKsGW44Xjj+rvLq4f0rKo6vyd1sb5c8oKGhSoqUKin3nk7tB jylSAiQdocRPvrIK2EP+2qNXD6WN9b7XZ6GDKPylRAJxoxzHhfosM2Fsy7aMAVCCLX1Q yKNkT5B4TctLo4CBcfOJ2ImtqnBPDflCUe/qOh6aRDCDrYeuQF/kU94nr5MHGiUDP46m puEtUzWTwrZivW+FaNsIarMUWMBYe3C6zJ4oakb8WUevpik+ZIisekTwSBvjGW9/W9VO VqarjinlTvMQUj0z9nEyhyBZpI17CPj0j4kspTrvxaFJxOy8/lyfWy7KD641zm8SWnxc WiXw== X-Forwarded-Encrypted: i=1; AJvYcCVPnyyQMVOtyXNBwECSLOL6UbHGJzZx7wb1+rkbeJw/ckjq4NM8PmhIPESeBjFR+a+FxGQ2WUpnYm+y2FuiCaoJsA==@lists.freedesktop.org, AJvYcCVnEDv1p5rqi2ChWU6VwNOC2HjK+Zq++JEUC7hYix2dcO9LDYW43paQKGoNKr1Ex00RwkgxupPTJkQlJTaAeA==@lists.freedesktop.org, AJvYcCWVpTS0lAIe9vdieujqLGWpJRW5C3TsUVY8ALdBXv47jP1d0eM3PUUvlB4CTH0BeXWIQNIAMe794GxY@lists.freedesktop.org, AJvYcCWgoevG57HdC+nKzi5V1BxPH3y6giktsiUFkngDJ3ST7nP5h/etXXREdov/7zPUqdCX6oKPo462@lists.freedesktop.org, AJvYcCXKbgZ39remSNVoNJWohvyIxlKF/m8CY6MoVLHPr98wYxsVNVmlzSWpvEbfLCFtKbrbPDPjSOGgLaCe@lists.freedesktop.org X-Gm-Message-State: AOJu0YwAjAo3S1R7KvZ0VD0N5sJAyaaF4Zfma9SPCvdRbeGzO4CZtAVt CoZ48SB27JaTpmbvdiOJOWtAxXhNnH/OzJ7PkalvPl/pYUOB9VVhfBwPSvbu X-Gm-Gg: ASbGncuCnqMFe804+Hw0UbGlvx0ZMzPRun45xgz13EDwiRHtIbb6f2+E1DoIPnxqSKG 4DznX97wPpqswopsUUskqQoxrLpqdL/DWMPZQy6i9YwoG4sRagYFJOkShbryERz8w4072RIKpEM QCkY7FpTPnFpS92i11rCl5FoGnrNq10oB7Y9psUXUA9P0IUcN8GyoqKONIW+RShPqw3F4xJ9/JO 0mDfJczIsz2I3CseZ1CDvhVyyrnl82+HDEfNGCwM9F9ZGNUeO+CuKur2IddCWjay2ii5qONOoWr PcTqLQ0hOAMtvj8Awxs0rlajhC9Dja1BKlU3NOD0+StkW3kqRKHRGDdwX2ivDEOP9vci6095Jt3 rzQ== X-Google-Smtp-Source: AGHT+IFBsswm/PB9JzXq4uuRlWaB+fwcfKZNp5OK53APl/ScwLJfw2dIo+UeZ8s3nXlJQ90V+RQYRw== X-Received: by 2002:a05:6602:4c83:b0:85b:577b:37c9 with SMTP id ca18e2360f4ac-85e2cc5fe8fmr34189539f.12.1742496825365; Thu, 20 Mar 2025 11:53:45 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:44 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 36/59] drm-dyndbg: adapt drm core to use dyndbg classmaps-v2 Date: Thu, 20 Mar 2025 12:52:14 -0600 Message-ID: <20250320185238.447458-37-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" dyndbg's CLASSMAP-v1 api was broken; DECLARE_DYNDBG_CLASSMAP tried to do too much. Its replaced by DRM_CLASSMAP_DEFINE, which creates & EXPORTs a classmap (in DRM core), and DRM_CLASSMAP_USE which refers to the classmap defined elsewhere. The drivers still use DECLARE_DYNDBG_CLASSMAP for now, so they still redundantly re-declare the classmap, but we can convert the drivers later to DYNDBG_CLASSMAP_USE Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- this ignores a checkpatch WARNING: Argument 'name' is not used in function-like macro #70: FILE: include/drm/drm_print.h:148: +#define DRM_CLASSMAP_USE(name) the macro is empty, and correct. only 1 arg is expected. --- drivers/gpu/drm/drm_print.c | 25 +++++++++++++------------ include/drm/drm_print.h | 8 ++++++++ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c index 79517bd4418f..a3b70d104afa 100644 --- a/drivers/gpu/drm/drm_print.c +++ b/drivers/gpu/drm/drm_print.c @@ -55,18 +55,19 @@ MODULE_PARM_DESC(debug, "Enable debug output, where each bit enables a debug cat #if !defined(CONFIG_DRM_USE_DYNAMIC_DEBUG) module_param_named(debug, __drm_debug, ulong, 0600); #else -/* classnames must match vals of enum drm_debug_category */ -DECLARE_DYNDBG_CLASSMAP(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, 0, - "DRM_UT_CORE", - "DRM_UT_DRIVER", - "DRM_UT_KMS", - "DRM_UT_PRIME", - "DRM_UT_ATOMIC", - "DRM_UT_VBL", - "DRM_UT_STATE", - "DRM_UT_LEASE", - "DRM_UT_DP", - "DRM_UT_DRMRES"); +/* classnames must match value-symbols of enum drm_debug_category */ +DRM_CLASSMAP_DEFINE(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, + DRM_UT_CORE, + "DRM_UT_CORE", + "DRM_UT_DRIVER", + "DRM_UT_KMS", + "DRM_UT_PRIME", + "DRM_UT_ATOMIC", + "DRM_UT_VBL", + "DRM_UT_STATE", + "DRM_UT_LEASE", + "DRM_UT_DP", + "DRM_UT_DRMRES"); static struct ddebug_class_param drm_debug_bitmap = { .bits = &__drm_debug, diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h index 9732f514566d..e86ebb716b4c 100644 --- a/include/drm/drm_print.h +++ b/include/drm/drm_print.h @@ -141,6 +141,14 @@ enum drm_debug_category { DRM_UT_DRMRES }; +#ifdef CONFIG_DRM_USE_DYNAMIC_DEBUG +#define DRM_CLASSMAP_DEFINE(...) DYNAMIC_DEBUG_CLASSMAP_DEFINE(__VA_ARGS__) +#define DRM_CLASSMAP_USE(name) DYNAMIC_DEBUG_CLASSMAP_USE(name) +#else +#define DRM_CLASSMAP_DEFINE(...) +#define DRM_CLASSMAP_USE(name) +#endif + static inline bool drm_debug_enabled_raw(enum drm_debug_category category) { return unlikely(__drm_debug & BIT(category)); From patchwork Thu Mar 20 18:52:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027292 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 669EAC3601B for ; Mon, 24 Mar 2025 13:24:42 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5B2E610E3AA; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mulBmyaM"; dkim-atps=neutral Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4AD0C10E6A4; Thu, 20 Mar 2025 18:53:47 +0000 (UTC) Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85d9a87660fso112647339f.1; Thu, 20 Mar 2025 11:53:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496826; x=1743101626; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CgDI/aHiLK+dNOZ45pw21AxG10xFqv/7yudaH0jzRkU=; b=mulBmyaMJY7/zr5Xvjx6E2SwXa8vhOCXr9WE4y54vx11k53Gdewqr/xGs8M0nWEDDN lhszGxpIFTsFrAgK6vzXoEaEGl4BufOGNjLhNyaMAlgP1sUGLzTV9v0zGk5lHz0nnzbs DWyicCPZ+1Pm6sdwAuVUa00cXnN0cfXpUyNZS3EcEhMobpJu3IE8tv/GFs9K7kbRmwiM V9HmOVtO8h0aHNUXwWy4OiL9XbT/7Hf2glaoaubKGDz0U6DWCsFujnW1eYEzyb5vkQf0 jkiwrVPW03eK9iV3cJuFpYGO4E55iActSaVSB06XkweKEXbkM4IG5lh84lPGc1WAGtT9 9x0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496826; x=1743101626; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CgDI/aHiLK+dNOZ45pw21AxG10xFqv/7yudaH0jzRkU=; b=nayb0wGA5E6isMo/He9xZ+LH4mtYXjD+Hj+ommrSYFUvfEM5Lk5Jb7vQNNneHXvTNI ox/rpcIG1DBaw16plkIf8pY1wFGmECVAYO3puKVu820yEIFZT9dqoBN5qj1GVKeOd0N/ a++5xzrvS6R7Cuftc9nS77Cr9X0Mqvp/wY92bTWjKk2H9IX96HVAGYFJ8LA4/1c3lb/v 4WQftoLpTo1ms3cMkNRaT3mfuHNKupyLR6OQUeNgEecksegYOqxEoc0odQ99rkrpj3Yw ctY5zL2pMxPpJNdRn32BjVjgqOAdqWivPcFu8CtMhM28AlglMKN/vQHNr2aVjqBL/ORY jFBQ== X-Forwarded-Encrypted: i=1; AJvYcCU3N5GhO/2LtvIQ4XO4bg+PZAi38sZ40Gd8LRUACY9MxOJWDMT77guNaoxL8tm6HrdHAdW4Yp0i0XUo@lists.freedesktop.org, AJvYcCU8z3QcB+VtLzS4QblbZ9as05gz0mukE7g2NET78m1uumWeujWFVtewhkBm30jegCEMglnmwCcR@lists.freedesktop.org, AJvYcCWDiDj0elmUYxoTCdv56E89udMmAzSwzKZptpbUYYRcmBlfdlOaTH9017collPV/6Zm3b1PqEWPl//VYZ/q4g==@lists.freedesktop.org, AJvYcCWUmIDG7ONW/SDzuiPVq6r6A0L0p4V+Cw8P9qYIOVBkQZRw+9x4PytNIw1+jFVI1gIEhR+BlD54MFF8@lists.freedesktop.org, AJvYcCWsE+zuYdwXsteo1ijdtwu88XfHTlUyXGzaKjWSq9iqbn7RZQyqyxIBcNI26tDCpLAoHd7KKT7jAtthwY/YDhzHKA==@lists.freedesktop.org X-Gm-Message-State: AOJu0Yy6SPfs41TfQKKBAX7QLsTdc4c2BUGna6vrE2YOb1z9yoB+tgkx TUZQHegDT+9PAdHhbfDHJIkHSCHHlR4+kuoZQaPKA/6mahDnE43rPxxTiP01 X-Gm-Gg: ASbGnctx+0QfSWlHGRrrZu3XUY7DDYU1Z2+upTX/YY9qY2AE77Ygj0yad9N0u4hIT70 dAEvbmE0Jl9c5no+bFaUqtGiJbs7kj/GZPkHSwEp71X6SyMYkbJbs5mcLpeIgBT89FtsHXz7+SL vHYYq0XQWTuW1jfW23L1/g68l5ogMb3YuJRLnyEyxlubm71UVtMMiNIY9qPaDNB7JlDRnpSxi3r q4zX2hdN8mKX5JYAnxE6zt3+TloJGpfBkpsnTTM9rI3aHSUw55AIz1Tu6muQcAhxxDSBa3eFYNr 5KaCvbM85jFYBj1SgW0VGK60rBTWnt7W6gp5LxtGQZenwhLbHmPmPkiDLB4oVJVM61Bcfwp59q2 nsA== X-Google-Smtp-Source: AGHT+IH3per7MoX6CWSL0WNqymKLyYhHLAin9x57NXxWEpGpz2bnHtHQVSAlR4WrR+FYtRpO9rivXg== X-Received: by 2002:a05:6602:399a:b0:85b:58b0:7abd with SMTP id ca18e2360f4ac-85e2ca35536mr54055539f.1.1742496826529; Thu, 20 Mar 2025 11:53:46 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:45 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 37/59] drm-dyndbg: adapt DRM to invoke DYNAMIC_DEBUG_CLASSMAP_PARAM Date: Thu, 20 Mar 2025 12:52:15 -0600 Message-ID: <20250320185238.447458-38-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Invoke DYNAMIC_DEBUG_CLASSMAP_PARAM to hook drm.debug (__drm_debug) to the DRM_UT_* classmap, replacing the ad-hoc wiring previously doing it. Add DRM_CLASSMAP_* adapter macros to selectively use DYNAMIC_DEBUG_CLASSMAP_* when DRM_USE_DYNAMIC_DEBUG=y is configured. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- drivers/gpu/drm/drm_print.c | 8 ++------ include/drm/drm_print.h | 4 ++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c index a3b70d104afa..46d53fe30204 100644 --- a/drivers/gpu/drm/drm_print.c +++ b/drivers/gpu/drm/drm_print.c @@ -69,12 +69,8 @@ DRM_CLASSMAP_DEFINE(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, "DRM_UT_DP", "DRM_UT_DRMRES"); -static struct ddebug_class_param drm_debug_bitmap = { - .bits = &__drm_debug, - .flags = "p", - .map = &drm_debug_classes, -}; -module_param_cb(debug, ¶m_ops_dyndbg_classes, &drm_debug_bitmap, 0600); +DRM_CLASSMAP_PARAM_REF(debug, __drm_debug, drm_debug_classes, p); + #endif void __drm_puts_coredump(struct drm_printer *p, const char *str) diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h index e86ebb716b4c..8758449491b8 100644 --- a/include/drm/drm_print.h +++ b/include/drm/drm_print.h @@ -144,9 +144,13 @@ enum drm_debug_category { #ifdef CONFIG_DRM_USE_DYNAMIC_DEBUG #define DRM_CLASSMAP_DEFINE(...) DYNAMIC_DEBUG_CLASSMAP_DEFINE(__VA_ARGS__) #define DRM_CLASSMAP_USE(name) DYNAMIC_DEBUG_CLASSMAP_USE(name) +#define DRM_CLASSMAP_PARAM_REF(...) DYNAMIC_DEBUG_CLASSMAP_PARAM_REF(__VA_ARGS__) +#define DRM_CLASSMAP_PARAM(...) DYNAMIC_DEBUG_CLASSMAP_PARAM(__VA_ARGS__) #else #define DRM_CLASSMAP_DEFINE(...) #define DRM_CLASSMAP_USE(name) +#define DRM_CLASSMAP_PARAM_REF(...) +#define DRM_CLASSMAP_PARAM(...) #endif static inline bool drm_debug_enabled_raw(enum drm_debug_category category) From patchwork Thu Mar 20 18:52:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027288 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 3F374C36011 for ; Mon, 24 Mar 2025 13:24:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CA44B10E387; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="eprbrChU"; dkim-atps=neutral Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4F8ED10E6A3; Thu, 20 Mar 2025 18:53:48 +0000 (UTC) Received: by mail-io1-f44.google.com with SMTP id ca18e2360f4ac-85e15dc801aso94064039f.2; Thu, 20 Mar 2025 11:53:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496827; x=1743101627; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=//eNVK5QvyJuFs0uWvNcaJY74v2ESo+w6BQZ02tQwac=; b=eprbrChU6Q28hJx1Nhrj9F8BSZkJ8x8aU3S4UNQjZPw+rBim4yzOYLKd2e57OFa/dE HQbRJPySFK6OrdbOTIMXus2kSWkjufIRrPZVIEZtgC2ZFJkvnGX9tLjAIkUq0sNrDZoC jPIw6lmUq/ZiJaoXqJF4AVboyBRLE2GipBdhy7//Lh+fkqrsYDQUqvStz2qF0p4+z7JZ eOA/hhMpXGtuXl+uCcKMyxPbwNUZnC7HCrw2YY7ib3j3oAw0Gc8jBfgqzuBjE1//Cg95 etwnJioYzAOLrxihqRZQLHUF117A3Fdl/rK05JUFYuFDZUJlx9rdNYI+kF+/SDmkTVuJ hqNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496827; x=1743101627; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=//eNVK5QvyJuFs0uWvNcaJY74v2ESo+w6BQZ02tQwac=; b=SRJ+B75MPDDMIG7RK3V/a1XbIHfIDGg5PWCuwXUMkH55WKPCN3KQ61/Gnn/D95VPep EA0m4kjzpt3OtoS7JZO2Py0ctHxO8YuTgrHIEeAFDkOzsH9myPIk7Aip4FsPksdOG1IH ccde5UBpZ7f8qc4+EFb9Sq00yI0I+Sp54TKnaDhjXXKxZnqwsQO2qfIhDARdiHt/PGGh t5Orw2JqV/0OdUfiCTP5KrlbBGQDV8O4EfLX2A1cs9Ce675eiO9RJVKekfbpmtjsNOyR yY5Jr7RfGris0H/v5jE91d9ZTaT0GM33kXl0LdWuhQ9fQs5S8nBiHKwiAaEl7Qbo+6rG gNlw== X-Forwarded-Encrypted: i=1; AJvYcCU7Y9sS8Kj9jvj/cFAGixABL2B2BpSyrwqRzjQsWGCLM3UH2eCxnkCn2VKo/ZAqs8ScM1Ci4L7aS9JT@lists.freedesktop.org, AJvYcCW+6UnaN8PYkorG8KqdafneXvKXkTWZIqj0AGAbdiQmVvkKSylh/IvLLZic9MeYWHZ0JWFES7YY@lists.freedesktop.org, AJvYcCWkfEhwr9LpHYYu4q3zkoaSjHoM+JJeBXX55BgqUVg0wHbCH5HeYrW/kwD1r/jFOQTaxHfdHJOAU84KYNGNBdbEGg==@lists.freedesktop.org, AJvYcCXXTXBG+KbAejr+jIKlJkXxiqD9I8TH11vMy2WXvWYz1nHlI34HT7uWgzqZ8rFtgl74HJ9LG14rD0kiVoAlYw==@lists.freedesktop.org, AJvYcCXuD8dkeyhmNH/jacPy9I7X8ZuQ3VMVTdvjLWNbUU8T2FlC/4YKdgvxCFGLDLHsBB6uF0I8NN2pWMt4@lists.freedesktop.org X-Gm-Message-State: AOJu0YwB0OZTEzMJcds6Snjk0Mh2++eGobfmlTpBavH5SVD3lUrLMwlL UCR8+fRB1d1/JY1sL9N8tcKZatQK+rfUXgrM8OIZ6BxWRUMzejr0 X-Gm-Gg: ASbGncsGJE6ZABXk2rv/Q7DaxHlfl9owrmCCloyWwhHxo/KBP/sIWJVcP3OAvJN0N0D ZRVSRvu8CoPXh+HkKXjZTNM90puh+oRIhM8h8dAn6SdfosovChMv0B5IRDvv7t0HS7dZ40d1zVD nlR4i0f3e0QUgUr3efuuioI4QQQuoDUIqLeE0/oqOHdRzMtJlx6Kj/fMusQ9E5DR7PRlaioGD5n 1NJX5r/vvnBZHKWpUzcteYupDVr9y/0keIwWgAqv3Yo1b9NToVWo4KhPJ4LeTY7o/A8FJ9WFBi3 5yNBAXmx4mh1baOgAyqF1g2UNZ/BOyfAZ4uFsyDnF5sI6RgEVlUII1xWwATc88r/IuYDdIsV/w9 4A+U8SbRk9xgX X-Google-Smtp-Source: AGHT+IFFpgYTl7JZFiyS9WTpaidYWi/5SdS6fsq/viN+YEp3rM9RCo7TNcLP3VJ/VtmR/8cq2dJk2A== X-Received: by 2002:a05:6602:3e89:b0:85d:f316:fabc with SMTP id ca18e2360f4ac-85e2caa92d7mr44469839f.8.1742496827493; Thu, 20 Mar 2025 11:53:47 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:47 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 38/59] drm-print: fix config-dependent unused variable Date: Thu, 20 Mar 2025 12:52:16 -0600 Message-ID: <20250320185238.447458-39-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" With CONFIG_DRM_USE_DYNAMIC_DEBUG=y, __drm_printfn_dbg() gets an unused variable warning/error on 'category', even though the usage follows immediately, in drm_debug_enabled(category). For static-key optimized dyndbg, the macro doesn't actually check the category var, since the static-key patches in the proper state. The compiler evidently sees this lack of reference and complains. So this drops the local var and refs the field directly in the macro-call, which avoids the warning/error. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- drivers/gpu/drm/drm_print.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c index 46d53fe30204..41ad11247b48 100644 --- a/drivers/gpu/drm/drm_print.c +++ b/drivers/gpu/drm/drm_print.c @@ -212,9 +212,8 @@ void __drm_printfn_dbg(struct drm_printer *p, struct va_format *vaf) { const struct drm_device *drm = p->arg; const struct device *dev = drm ? drm->dev : NULL; - enum drm_debug_category category = p->category; - if (!__drm_debug_enabled(category)) + if (!__drm_debug_enabled(p->category)) return; __drm_dev_vprintk(dev, KERN_DEBUG, p->origin, p->prefix, vaf); From patchwork Thu Mar 20 18:52:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027267 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 F1D72C36013 for ; Mon, 24 Mar 2025 13:24:31 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C875710E34F; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="QJc2LBjo"; dkim-atps=neutral Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 64F4810E69F; Thu, 20 Mar 2025 18:53:49 +0000 (UTC) Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85e1b1f08a5so33942639f.2; Thu, 20 Mar 2025 11:53:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496828; x=1743101628; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=M7K7xRXZftnouPQnYRpMXoKCruxhJlULif2fXsuJr/A=; b=QJc2LBjoVvxsPWfMiwn2/om3/rNanFGf+mvF/df7AyIcoym0ikA4cSZ0Lr0QHFM1bM 8th/8fsnylGrrK2q0tdZooFE5+wpXybb04mo1vAntaS+wF5C8ADYXf7bRwpXIzmy+IS5 wysR+rrc4VH4z++DoKpsfyrEyyxekdtSyviHkFo9osPHSEiqksTioFvfzSqbqGLxg35p HkJG1fiuFBxNBOSAKsJR0axNGZFae1pr0eVod4gys2Bs9VCKyqcGNcdk9xe7SkFJG/JJ HmQxOgnWjIsjyOsTkKAXBu/vnEQP5fzXsxkm6OSsblJ67qVu3XKI29oRTenPp5F1YHTr mEvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496828; x=1743101628; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=M7K7xRXZftnouPQnYRpMXoKCruxhJlULif2fXsuJr/A=; b=TlGzK4ucm6qaN8SpyQVN0BlhcOwQTWKM64r//2+2XaVKtAW9p/sTzA3pm0+vGY3E+6 BnyfC1LdT3EdM4E+6OT5JHJ4N3Gl0fzSayF2fSiV1eRfnPhLJNWtV3HGzRWVHsCpB1gF P14Q/k803UagjRtUdqy9xXp/D24urt0wKEhWzmQGHv9QHhBE91aLdFKNKUZqJy+Vii3J VaOWVyQSSMLKF9kQ6n9dO5IQ1QSAk86Wf12KaG+jMOolgPFp/0rI22TXVXk0utxf1HEf pO5uPzFHJvpxFJULKmp0E+W91d1ifwXItwWbICEJsTWAnI9T9+LPSZ9pjjK7mZWTTHiW 4Anw== X-Forwarded-Encrypted: i=1; AJvYcCU/248tRqZw/LVbTR3seVXWaftWabidrFN52WeJvuRkhxiMOhgTBN8sgwMIYLXq67ZnJcX2xmcDfw+N@lists.freedesktop.org, AJvYcCUNrRoymRbXu/Ffb24fAUlfAbJA7zfyI7o0eAoPMKxVEb+lu3cdYzZ09/GsrEgHRt9JdAv71r/F1lT4cWUBFg==@lists.freedesktop.org, AJvYcCUWuO6Tk1PML18o4GkzBj+R3vWuqB77UmIc1Mm3bm3GEuCbLmYaH39gghPbQq40m5E5RtgfxHAs@lists.freedesktop.org, AJvYcCWwnsEn3ITZ1iyhVISNvszgbobyTs2VwhLV05l41FNDeT/ofFMYQrOCbGzZhHkNE0CAtm1d2lIhGYRj@lists.freedesktop.org, AJvYcCXDcSyIK2lhfBog7w7xaI8APJ81CDBPfbjKROhP+CcNedy3sMRE0n8WvP6/sxdFB8e8Rd2AR+Gv53BGVbd4QaXexQ==@lists.freedesktop.org X-Gm-Message-State: AOJu0YzGawfGLVungwO+kPHrKu9zig09QkaiIqkxrs18CaZT5f/YGSkl yrsizHvzCuIVScbCVl9o2mDDKSfOIaEGJtYX5K26esRQ0oh4MNal X-Gm-Gg: ASbGncsD/S0sH8lD9b2SmZqBdjujcaiQOXGc/62wZG/9tPz1PbR14ExrQ+V20dQR3HT 0GZor18jpfpoqr+2kaOvgzde1TWsp7ecYm7N5mJKggWiH+X+uZqoFmDtFRAxbI7j5rzaECgtope 7K9ZX0RlzGxmJ/2wsL6b/8Rbx/VoQ4r2FTo094nQ/P3ljALRumP0jfQxtaHLYEZJLuJZ2qAPfBv 7qRrmEgcDAbOj8XaYvnobrb/NxEMjDMygpjXKr/7271oY8s/VRxcHhSKx7NFtbqQrXLL2IeK/OU tz/C57Pw34LuAV1rXiE8vuoZ3+6pq2zKXMSyLB7IOdDZj06z7xiztPL10vLKvL/4SsfSun89vLt oAQ== X-Google-Smtp-Source: AGHT+IFH7Hg90LlweLnnOLq0HO0JR4tzWTyeAt9Zt7MPpyA0RDON+RgSb3+P8+rQoDbSr9vz+Nlgpw== X-Received: by 2002:a05:6602:3896:b0:85e:1ee9:1c18 with SMTP id ca18e2360f4ac-85e2cb1dda1mr39264939f.9.1742496828643; Thu, 20 Mar 2025 11:53:48 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:48 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 39/59] drm-dyndbg: DRM_CLASSMAP_USE in amdgpu driver Date: Thu, 20 Mar 2025 12:52:17 -0600 Message-ID: <20250320185238.447458-40-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f158936b60a7 ("drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers.") Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index c0ddbe7d6f0b..e1367f66c4d2 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -234,17 +234,7 @@ int amdgpu_wbrf = -1; int amdgpu_damage_clips = -1; /* auto */ int amdgpu_umsch_mm_fwlog; -DECLARE_DYNDBG_CLASSMAP(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, 0, - "DRM_UT_CORE", - "DRM_UT_DRIVER", - "DRM_UT_KMS", - "DRM_UT_PRIME", - "DRM_UT_ATOMIC", - "DRM_UT_VBL", - "DRM_UT_STATE", - "DRM_UT_LEASE", - "DRM_UT_DP", - "DRM_UT_DRMRES"); +DRM_CLASSMAP_USE(drm_debug_classes); struct amdgpu_mgpu_info mgpu_info = { .mutex = __MUTEX_INITIALIZER(mgpu_info.mutex), From patchwork Thu Mar 20 18:52:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027306 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 018CDC3600D for ; Mon, 24 Mar 2025 13:24:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9FD0110E3C9; Mon, 24 Mar 2025 13:24:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="YIbIOK/O"; dkim-atps=neutral Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9FB6410E6B2; Thu, 20 Mar 2025 18:53:50 +0000 (UTC) Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-855fc51bdfcso64466439f.0; Thu, 20 Mar 2025 11:53:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496830; x=1743101630; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=W1gVL5lJAtRX3Sj7ZSt43epD+xZQUqg7ig8oqq/1rgA=; b=YIbIOK/Oh+hzY/IySTGQs8BwSh5iqbeaEFTlXJtKkGobOeYBoqmLLdeBFNFYImu9OQ Nrp5Fr4jVzjIQypUrqvvbBhgMso10RaGQj35H7Rym+03+t7Zyy2oga4vxCEDS2idI1PS 3Lkis1RhV2DC3WSruZr4j3B8p2XSur/MT7R43bH7XB6+FqiWFt5pI72wWeEf708WKHxP SB9Ln9xxflMvBiqE4maKqX433A9IH844tYkeMYU28SoRpYh5rpBHQx7BDGA5H6WFrbts U0zJ1hMqUkcu8Xkw25+bPzbgLwZ3M1LU35Amwq/ykc/HmHbCfkD0/d4hNEuXcUVUMhZ9 /3dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496830; x=1743101630; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=W1gVL5lJAtRX3Sj7ZSt43epD+xZQUqg7ig8oqq/1rgA=; b=qIvKpiAaYWTmpFqx2jtK4kJ9wIR2K57ku5/Ec8Xeqy+OSVyUVBf4RpCO4VSFLKYEWM tqbPpakEheX5cScPhA+gdzHCjpZu2naNoXfNWE0CqjbyFCdg1M1mzY4LcdQlftzDVJTv qQZLSoz8CcPPXNF5wzwV17cMRXvRf3kwLjT89xSiC2kyip2fxnfinrRMRK0+BLmNzqZg txNw8bjMBzJxiS3P23FMbyUVtIp8HzCJttU7jENp5OMVq9ikE22GJADoNKrGyQHcuiX0 oEWAKvgw08wh5+7ajNhOjd5LpsqePQurwWfCQyql04KvdDpnrl4WiGFaWbdGwKxVOAvv n3uQ== X-Forwarded-Encrypted: i=1; AJvYcCU1uGfaPbKe+4CSIwGcvQh19Jfr/BOywSTTpD7XkKIDqrEsWaK/z9k8vLnCnRZcXk0DjkgLHaRrssxo@lists.freedesktop.org, AJvYcCU735Hzvm9fJ/VhCdGR/zhnFOYDaQyovE5Hy4WjBNz79aH8OmwYiQDPx28Pdm71gVuoI3SU9A0s@lists.freedesktop.org, AJvYcCW5gpH6uNSWViafhKEdLeJPNHxgYO96D/4fe7b5p2/HSEP+MOeiw8i2HgHERsI9Hf4LqUKCUvfh7vTsc6XaTIJrDA==@lists.freedesktop.org, AJvYcCWYleDCopg7O94d4qpz1Vc6/ELELU3EknfE4mXdt55XK5ZuovjpvoyubWKrJjFdxwA0QgLCjMtKMgwt@lists.freedesktop.org, AJvYcCX/Cg0PmlOsoQWPtE6Vz7kr7mS8AlBmMdi68jIvNY8s0xqt2pyjDkF4yaL4mjEPypQfWiRfiHgp1FyC2AriMg==@lists.freedesktop.org X-Gm-Message-State: AOJu0Yw7SwHd5iMxNB0BnUo0nrpmc9/bWxBNW4+OaRHiavWTZtKnmujb fDsJRX8nmkuk4QVjwbLg3J+ul9yXWEiyAzKr4+oPVsadRXEyWuXv X-Gm-Gg: ASbGncv8FUXw0B6Zbs6hqy9SDzFKBj+Ox48wlyn49YKL5Bd/1YscxlLv8nm54VaYi8e ZF2xxDX9gK8sLk8Am0ixeIE5iXldwuJW8oDDlV89ye/FYvGECAcj1TxrR2UMNa1S0/bd7tNPvcz 3jpQNm5ii1N52DjuGNOfzOsAPxzSq2MHSdfhd4GKAkClMB8G0L90xVyTDlI/tOdTykNdBjtUr1U 0M4H6UsbQpIznONUkUezSZAv3cX9tmGqSjwpcwsSNEVU/eAZfCBK4+JiLYnU3SEp9DgCRcdl7xW QBD/Bnw9jb5Jjh3PnoW4bnmo1w9feDxpqnIV+OmiZ8WWBHrJ0yEuvlrXQUT4lYp2d4WNhmHuwmh E9g== X-Google-Smtp-Source: AGHT+IE1Zxq7CiZjQgYwsnaWE10QdCmVkXBUfaT6ifKAFgRdb5GHq8Wsf3mZdsiEyRGMPQIP52/JEA== X-Received: by 2002:a05:6602:3991:b0:85b:5869:b5f with SMTP id ca18e2360f4ac-85e2beed32fmr86356739f.5.1742496829800; Thu, 20 Mar 2025 11:53:49 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:49 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 40/59] drm-dyndbg: DRM_CLASSMAP_USE in i915 driver Date: Thu, 20 Mar 2025 12:52:18 -0600 Message-ID: <20250320185238.447458-41-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f158936b60a7 ("drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers.") Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- drivers/gpu/drm/i915/i915_params.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c index 37746dd619fd..2dc0e2c06e09 100644 --- a/drivers/gpu/drm/i915/i915_params.c +++ b/drivers/gpu/drm/i915/i915_params.c @@ -29,17 +29,7 @@ #include "i915_params.h" #include "i915_drv.h" -DECLARE_DYNDBG_CLASSMAP(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, 0, - "DRM_UT_CORE", - "DRM_UT_DRIVER", - "DRM_UT_KMS", - "DRM_UT_PRIME", - "DRM_UT_ATOMIC", - "DRM_UT_VBL", - "DRM_UT_STATE", - "DRM_UT_LEASE", - "DRM_UT_DP", - "DRM_UT_DRMRES"); +DRM_CLASSMAP_USE(drm_debug_classes); #define i915_param_named(name, T, perm, desc) \ module_param_named(name, i915_modparams.name, T, perm); \ From patchwork Thu Mar 20 18:52:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027283 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 141C1C36016 for ; Mon, 24 Mar 2025 13:24:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9DC5110E36F; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mioWcy+w"; dkim-atps=neutral Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8B27510E6A8; Thu, 20 Mar 2025 18:53:51 +0000 (UTC) Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-85ae131983eso125362839f.0; Thu, 20 Mar 2025 11:53:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496831; x=1743101631; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GOnjwrNgNXmQwo8Xc/3OEw5JLT52e2RrDPlaTkjrhJY=; b=mioWcy+wQFGKpipymYUGE5TB6k4kqIv/AAg77kKxLs/4XKgEDew3zuqTXWIA2sTNVM bVr0SXm9aujVoB4mXcPN6S1KYt0UX9OKZwvxgRHlnHcUNK8DkR8jCuwB1y9AAeU1pycb Mo9Vj5mCKAxOFCDipUmB1AoziyToWphmhDfNulrOTmphqMBu+CVkS5mK8PjMAOUYVRy4 1qcS9EIzjzeH81/XoHAXFdrChHVEjZk5SQvtAkSsyTCfF4U2tDIKgxcstDl8NgzkM3y/ HRqMUVlws3Y9c184H5VJGgJAVkTv6WIZZdwfkDg23HGUqE7TRKfJAKfW8/SgabO9wc57 PVPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496831; x=1743101631; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GOnjwrNgNXmQwo8Xc/3OEw5JLT52e2RrDPlaTkjrhJY=; b=R3acM36SDMhxhsJuJXlzDV0UUfABrGEr2tjgN7hJqMzfzHIlsgRAZAjXA6w3xAj508 ICd/eJ4a7N2nME9i+GOE30W0qfd2x0rvDrt1N3aFICSkNLmq0MJcUYRuajRz00nLJauX ucxJt/ReymFrmWuU40+RX4B7a2bttJT7gL71M+1WZL32HrSJAC1FTwVkp4ahydQ0m39y YkczFoBG4YPlWE2oe8/++TG8+pBMDGaoBY32YcQlFoegVc9Syd0MPAm7B4gWQdLWCiAR 81UKCm9SOYWgNurTWE0hfjV9DVP7vb7NucF9xwlkDTC1NgwMfBvZA0Ei1DCWAfdUCUrd HS4w== X-Forwarded-Encrypted: i=1; AJvYcCUA3KXVCE2/L9iOA7vAOIlCFgUFiGv2RvBdeiqWm0CklCVRe5QK8jIKyu3ZK6lwOYGEjor2PggD@lists.freedesktop.org, AJvYcCUHUGamU/7LRS24JyECb7w1xcyC8HqSzw2v92ki6o8XmOpaTTmteNbQCOTQAFRoBe7FcsbSWS9UNZDe1dizsg==@lists.freedesktop.org, AJvYcCUxCYYFrdHdFSEa0GLBdfNLiHi7GoT5tAHCKGO3O8C28Z+iiIWgWT7Cep6jXbgPaEqha+xCu7p/zaOE@lists.freedesktop.org, AJvYcCVnFdhpK2N6qbfrvBvql+FQY9BujUkF/s3BApRSSvjHqv1nU0xsRhvydxY5jguqBLKSrGrq7+JxgkB6@lists.freedesktop.org, AJvYcCVzTy3wsL6/CXtpcW9QgzHYaaiPExJN8ZTSls8jxp47v7yObFfRrgTZxCzGfk1jBx/eoEjzQYN2iIZk+fq8JgnJIA==@lists.freedesktop.org X-Gm-Message-State: AOJu0YzfWYpiuko3x3Q1N9xotoXX8jGdX8ON3Y8szLSECLh8bFmfuG29 0s9aj8X9p5Y9QydX24Yw5khMADGdPPat8ILCrbBNCCvXP67N79Nx X-Gm-Gg: ASbGncug1d2VAlQhaHUjQQjLbL6R9RJ/TEnJnmNnWrYJtJotwcAqcMxtvdslzLnU76+ J9bcM+fqgJPTyI/LehlSvG6ZrM1OJjSM2Ntz9QTPTgvgDZxopg0W6KQp+10KhMRgV9RRNZfbuz6 k2ROA0CK4+30K+sMkLCxoUQS5d6PJN8w4OhOVLZsNtHiN8mdvzlcfFZ9ySjR3Jsv38VEHBN5Mb3 zCqvEliOd7S0yewWXPLZNaQaEtGHEvASt8nZC029vjZPfbPDBCCzwqwR/C2QZ/fv2OHQH0eAwes QD4gvaITerDWVBpaMCi8uMTSpZNlIbORIis/O7RCDjzzoGCKO39dyShw2frfTe4LanJQkj+WRr4 uQw== X-Google-Smtp-Source: AGHT+IEkXfyfgc8DOtUffsyGAP4ytd6cOqEMSx2D4ufj2/8LvypyXJa5qCoVaVVDmcFvkRtysEUacQ== X-Received: by 2002:a05:6602:3a01:b0:85b:3d1c:87d7 with SMTP id ca18e2360f4ac-85e2ca36477mr39378439f.3.1742496830852; Thu, 20 Mar 2025 11:53:50 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:50 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 41/59] drm-dyndbg: DRM_CLASSMAP_USE in drm_crtc_helper Date: Thu, 20 Mar 2025 12:52:19 -0600 Message-ID: <20250320185238.447458-42-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f158936b60a7 ("drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers.") Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- drivers/gpu/drm/drm_crtc_helper.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 0955f1c385dd..1d08d759f238 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -50,17 +50,7 @@ #include "drm_crtc_helper_internal.h" -DECLARE_DYNDBG_CLASSMAP(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, 0, - "DRM_UT_CORE", - "DRM_UT_DRIVER", - "DRM_UT_KMS", - "DRM_UT_PRIME", - "DRM_UT_ATOMIC", - "DRM_UT_VBL", - "DRM_UT_STATE", - "DRM_UT_LEASE", - "DRM_UT_DP", - "DRM_UT_DRMRES"); +DRM_CLASSMAP_USE(drm_debug_classes); /** * DOC: overview From patchwork Thu Mar 20 18:52:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027293 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 31EE4C36005 for ; Mon, 24 Mar 2025 13:24:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 29C5010E3B3; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dDDYcQKd"; dkim-atps=neutral Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by gabe.freedesktop.org (Postfix) with ESMTPS id A064610E6BE; Thu, 20 Mar 2025 18:53:52 +0000 (UTC) Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-85e14ce87ceso35284239f.1; Thu, 20 Mar 2025 11:53:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496832; x=1743101632; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9YY4p1KIoF8NcF+Z/sMeox8vZB2Tw1a5BANUy2dvOpI=; b=dDDYcQKd8a4iejnmBWd1VbwW6GhB1YJvuELlIYSGFCWU0K2desYGcFByOzBFwxe28R PRaGWRKI5zPUUg2ui6/Ok8YH6MOQrroUnhLhRNJoIxhuPPh5fvXYKo0+L0Z+o2/kHN5t FOeOY0nLvjVCqX7GhKtcDggmByIockRMQ/4PtgLl6O+lbJUKdV4ZBnzuvdYAPeNqVxqv 3DN2MONuZJn/w6XKkWNzdOubcmpacOGAZKgms9O+MOeG6cZiE2n1w/pfq+PuSDqkPlC9 XBl1JkOB3jN+WgKv8O4vTS3sDIrPzx56ZwNtysLfQhDAJlBgl83P2FrWfigoqBldzRUm BVbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496832; x=1743101632; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9YY4p1KIoF8NcF+Z/sMeox8vZB2Tw1a5BANUy2dvOpI=; b=J07uBsub8bGzUUKdWUm+VGAVchHWTBFscYM+YLGCXDkp76ysWU8D/4BUlvV0u0LAOG jeZI21y4pYHJti+7bcoS5V6qhjYSCQROX6s4XUhcU7Ha+Bkoko4J8a6npfRQbhVPMJak 8fVxSR1b8x+bNp5cLuCGHeClh/MdbaVHvWHQ80WPWP6X0vM8sSNb8+4aJDI33BGG0UYZ 1DFn2Ucc2Dqv9HKxRY1/pVrOqSgY1jhvOiU4q8ySBEA4uSImONsAJmmRvsosppzMaC/Q Jibdp5Vac3OkFKxwrbXmgWuG4q+K0s+sM5UkiPlmnnnnt5/UyJ9EVsKojoR5hGkaoUbK uasw== X-Forwarded-Encrypted: i=1; AJvYcCVBrN8TWfZFnXwRxn10bV3DBL9mrK+bYMMckh6OtSCm0EM3MGp5aXLp3qFz09m0QpX8tKv8KDG08pXi@lists.freedesktop.org, AJvYcCVQBQzHgIxdPF18y9HqwwU+STpBUeIRg/mjgS4cwiquf70YYYKOsaZ/o+TO4DxFm+J4q3b3hyGePGiTeWzSvQ==@lists.freedesktop.org, AJvYcCWpq5YiNk5MgxBIQovdEIYgEcC4lCj3hQWemHpz+txaNdRjfbNQviQt3RcD3dgZS+t3gLJCroS49fdR@lists.freedesktop.org, AJvYcCX8BbJuH9tTWKip9QY7TojFuWOwqYX7++vLz5UATW21dJudnz35rZi8ZVpyHFmKJlOOvOCB8LOr@lists.freedesktop.org, AJvYcCXuQJwYGj+PdrBaTY1C+eH1PQQlb65BUcO6pAqkZA1QSairK2RpptDU5etjFsfqnQdqa+HIemdr0OmK/guq/wpWvQ==@lists.freedesktop.org X-Gm-Message-State: AOJu0YxWHLIV1b9FBQOlGJhmJFGqARe6UjcwSFXmbk12kpoZ+yY8xueQ U0OCp4/8eRRRtW6qaIJopz5bwZnNxhOYvzPNr2n6Nb1NKLA1R02w X-Gm-Gg: ASbGnct/dQ8RedNoRo1+OSjceVs2+I3YsOky/5WpGB5snzL7Xt6dgz+cAuIo2BLxuj0 hoLBWpZVF2XHV3p8exi4AuR741wjb7VwnBHAtRraBDqPNWLlWe0nXsaN6kgleRZX7fDjYqXg83F JiYfpQMgNbvHGrt8S5teNYzD+LLSxslE9Q+g0yJWdr4keezf8F0j8Mfr3MmsDb7b9EQQOaG48KC cYTvRtyoMprKL6CD7TnRYWt6x4/02h7fv3GZQF6ZRbx3txWoKn4MDR+g+SoHJ6yFaAfyO9e7HMu HmdhOPQcj2vZm0B6y6Q1dadHtL+3l/zWcui2KFlIR+Y/5xmQJweVBXFlARZidKNyIXyv7q1FUMP 1/w== X-Google-Smtp-Source: AGHT+IFRfc+XzhcXsN2Drd9zujyOgJy6REOdYhT/1Oijm2SQSUJCYNpgS+yjBgNdLmsoPBETLNSPbw== X-Received: by 2002:a05:6602:3a13:b0:85b:4d78:cfe7 with SMTP id ca18e2360f4ac-85e2bec5c71mr92629139f.4.1742496831849; Thu, 20 Mar 2025 11:53:51 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:51 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 42/59] drm-dyndbg: DRM_CLASSMAP_USE in drm_dp_helper Date: Thu, 20 Mar 2025 12:52:20 -0600 Message-ID: <20250320185238.447458-43-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f158936b60a7 ("drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers.") Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- drivers/gpu/drm/display/drm_dp_helper.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c index 61c7c2c588c6..68ba17eb2541 100644 --- a/drivers/gpu/drm/display/drm_dp_helper.c +++ b/drivers/gpu/drm/display/drm_dp_helper.c @@ -43,17 +43,7 @@ #include "drm_dp_helper_internal.h" -DECLARE_DYNDBG_CLASSMAP(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, 0, - "DRM_UT_CORE", - "DRM_UT_DRIVER", - "DRM_UT_KMS", - "DRM_UT_PRIME", - "DRM_UT_ATOMIC", - "DRM_UT_VBL", - "DRM_UT_STATE", - "DRM_UT_LEASE", - "DRM_UT_DP", - "DRM_UT_DRMRES"); +DRM_CLASSMAP_USE(drm_debug_classes); struct dp_aux_backlight { struct backlight_device *base; From patchwork Thu Mar 20 18:52:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027307 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 E9603C3601F for ; Mon, 24 Mar 2025 13:24:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D537E10E3DC; Mon, 24 Mar 2025 13:24:36 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="jmHn0hGA"; dkim-atps=neutral Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id AFD0810E6C5; Thu, 20 Mar 2025 18:53:53 +0000 (UTC) Received: by mail-io1-f48.google.com with SMTP id ca18e2360f4ac-85b42db7b69so12875539f.0; Thu, 20 Mar 2025 11:53:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496833; x=1743101633; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PH1+tp+xqUGCykXZdLvGRvCsZKn18R+wsUvu6RBydR0=; b=jmHn0hGATMcLojRUFF+ivs0+7Pw+VaaJ2W7xxGU03+GcuNUgYN7P0gPopgk5Pwpauo IwFw4aTB4irRGnWsPoAyoPhAvXZanCVGE8QXJfnG6OUNx7UcQkdd23imY6pIeazIArmT waggU9BonpccJErgboWdwaoJ6frDLtwO5vviDZNuCnrdoYclT63TzNkxWk9x1YbKk/DS FiyrAw8doqdcbGEJIZXdIhOmrJkX4OEwe0pV3dc8ox0nUDIApxg0m3q2liEinl394dHf JCZ8WwGyL4JdEUQITqLxQZM78i5lqgCsA4F20krd30eoKKO3RbnWgnQFXTNKsYWt6AqW 6sDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496833; x=1743101633; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PH1+tp+xqUGCykXZdLvGRvCsZKn18R+wsUvu6RBydR0=; b=GsbeWzcQcqw6HZCj+k6t5towZRkKOLsYFXYin5TY+QXSXeJnb6hqnDdvKcA39w8//Y MNvbjwJBAegFoqjLYN6xd/hBgzFeLckgd6f7JOCw5/wXDokbgePNhYTK4vbW6NHcCb1O ukDgmy6fqPtS/JlDYr1yspdAGizvIAG+4qtZNitzGdWkYBbnd0rN+q+QBklj+yi+XZYt an66mK/dXI0so9Jx/KCMDVwFkVq9EwZSTFmFHI9Lvx5SCLlc+LB4FbUNbjReUIVhlJ3M shydn7Qaz/pSO37hdqfzUBtgrrnWG5P0Om2Rcun9FhrqvujAd8tuyhcgzzxl3dAJAfkl MZgQ== X-Forwarded-Encrypted: i=1; AJvYcCU5Da2jva7yeHxkLQYuuj4sWlBh+4SBVqqMr3J9eJJN2PX9chr0GSqc0pFMEtITxQ+PXP4g7CMG@lists.freedesktop.org, AJvYcCUEmhe3snq7cD7Rx4yxQJebb9BoEJzWLnsSF9WXaij0mwtmVScp0tWYxY/suv74shqi9b21+wkufZuz@lists.freedesktop.org, AJvYcCUn0xX0ONGoKaijISDSUkqrr0ZTHTrdjFeSruqzK+CfXifStmjPlI21tXEUVjJpa8v6CYW3PzAOq+Hb@lists.freedesktop.org, AJvYcCV2M/C4FiY+odJ8D+HwPTj5oImDzG/67wa73EVKQg3CYdvfUWjewE4r+zUGVqpHL4P0k1JLv/JYPGjqSMDQWw==@lists.freedesktop.org, AJvYcCXrRsZ6zV/NtGiAqbk9S+boX76/mvq3B031F/cBsGSkc5pfgZp5uhKQ0fJsb603zrPqcwhIRpL4X6nW6xol1h2Zpw==@lists.freedesktop.org X-Gm-Message-State: AOJu0Yz41LEeAUlxv/AQ9YSKRrF3e4tdBZTjWpxDvR7N53FIm4nb25dc Zjwwc5+SpPiSAvQ85pneEeDTqurhTpVftBKb/UCuLTtbEO5GPjOi X-Gm-Gg: ASbGncu7jtY7KDBbf21F6in17wq9WsHxrfJgsszKBVQm3tWiyjCbFO42otxw85BhzKU 55XfLQ14RAw0A3uzx7biHUx+LH034786jYhlFBf0QUE6VwYBKxqr6pK/+21zB0YzQAxKOm6w4ZY DvIyw2HjC331e5PxP0R2IYjpSYyyrvE7ab6ggkiltV9AMvVesp7lqtXEr/jyGSvr/J1hY+iSwDA sq7OE1J2Bv4UJo/UM7AW9R6UB7yFJqNMmgAxPlejYHlQ5W9nzR17wZzVqWBNhnOuQnUKdAJ8/ce IO6a6aSeMPbUusMXy9t1WU48I+z3N20D/yAa5nNSGizayGU5UToZoPpl9MtY3hE0eRzhEzVQtsn FGw== X-Google-Smtp-Source: AGHT+IERrpcV67cSumqUx8Ys7+zY1a9PbB2qOVJ7aGj8lv1MneNGgrFe8EVAoLmayS6rXv/6VpfxtA== X-Received: by 2002:a05:6602:4142:b0:85b:3407:c8c with SMTP id ca18e2360f4ac-85e2cb0f65emr41157539f.11.1742496832935; Thu, 20 Mar 2025 11:53:52 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:52 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 43/59] drm-dyndbg: DRM_CLASSMAP_USE in nouveau Date: Thu, 20 Mar 2025 12:52:21 -0600 Message-ID: <20250320185238.447458-44-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f158936b60a7 ("drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers.") Signed-off-by: Jim Cromie --- drivers/gpu/drm/nouveau/nouveau_drm.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 5664c4c71faf..bdecd27efabf 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -74,17 +74,7 @@ #include "nouveau_uvmm.h" #include "nouveau_sched.h" -DECLARE_DYNDBG_CLASSMAP(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, 0, - "DRM_UT_CORE", - "DRM_UT_DRIVER", - "DRM_UT_KMS", - "DRM_UT_PRIME", - "DRM_UT_ATOMIC", - "DRM_UT_VBL", - "DRM_UT_STATE", - "DRM_UT_LEASE", - "DRM_UT_DP", - "DRM_UT_DRMRES"); +DRM_CLASSMAP_USE(drm_debug_classes); MODULE_PARM_DESC(config, "option string to pass to driver core"); static char *nouveau_config; From patchwork Thu Mar 20 18:52:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027297 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 4678CC36017 for ; Mon, 24 Mar 2025 13:24:44 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 09DDF10E3D1; Mon, 24 Mar 2025 13:24:36 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="SrLNERo0"; dkim-atps=neutral Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1F19710E6A3; Thu, 20 Mar 2025 18:53:55 +0000 (UTC) Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-85b58d26336so94051939f.2; Thu, 20 Mar 2025 11:53:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496834; x=1743101634; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=N9QKot+Tk4Bgkz5Rby7fJAPuBANHR0qgjbLES/Oc8d8=; b=SrLNERo0TBqPWk2SHy8KlshKIvwmbjf0OmVRgha6HukpQwYUiNL1FcDuqtlDQtufHU hs6ehLY3jXpdDV/SH2s68MFH6Vmel5mn5isMaJ3TgugEWn1accWF8kZPr6+NLXXErnQJ a5hXH6ILVzJ2MO1N1IiHplEp6mbwW/P+cdx0lof+AElc/66opW4jWa91hrIhcS0Ch6GR Zgt7ZcGZ1ehcoba3SP8MOoEKa9MZ7qEsZygxif2dBFoqSYWS2IOZj5SmivbBRBj+HxuJ PiCR6Zn4zOtYn+8iNUdnJLCOVcI5Ju/F4252qiHmghqEC3msfkiCu2gVbQpLyXViUunk p9HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496834; x=1743101634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=N9QKot+Tk4Bgkz5Rby7fJAPuBANHR0qgjbLES/Oc8d8=; b=ojtrgK6/YTigcV6+sHGgv2BnMCC8z7OTzxkV03XzaJXdc9hzdXoEpun7SXnhlCd5pq rMme4qt3d3Wdomwp/Q4UslobN+Uy67041U4A9qSfcZg6kBt56E410WGaHAHq5ZXyUfAf V8iiJnH+NA187WRVTCqRPaFZAqx4VE2NB7fEDAO7YUlVeLJX9AKwivaHZsLUJizAsIv3 2SC4a9GnKMFplMy5qDAuD6FwWmzd7FmiRZXZd9QHZG/ndSceT6OI3ItNP3ccDcpN7YNQ LlXAnTREgpprGG39y4r7gSZPn9Mg51OccAVMZVRj+Xv7GV5/TLd0Z9a2zxlpmv3cKsyk 2rDg== X-Forwarded-Encrypted: i=1; AJvYcCUeLXKUb1oqPjBYasAxm74buFr7NUENk3dNXGnsgy1jBctLWPpDAKxv9pRGQ6CLJ/y5lL9xR4uDk3nb@lists.freedesktop.org, AJvYcCUlJIyITIdk0TrqrwukRoFpL5NLdbmaDNnExyulfXLLXPpKL1ZLHt1cB6oQpdeZwWUY2AVyteg87s7XlNu0vkVI8Q==@lists.freedesktop.org, AJvYcCWTAKk1pUe++IRwUlZA1HBrnMJQTqwgC3VK5mV6PTh1TwnmqPx/MfuQErsp4oDkDDUD5kPheoS0@lists.freedesktop.org, AJvYcCWyH8JZbhsyHpLsZG+7zhEuv+/aAFojyJlRNGEwNBN2CfHPB3re9VPBAhW4Jjl4akIWKREAUUP83gQsc6t7aw==@lists.freedesktop.org, AJvYcCXrPBFun16LwMfRp0lGG49k6qSUyftKHJvIboIuQdBY6A/Ghtfv14Boif2Ad4YEDcLenyYQSUpo9FqW@lists.freedesktop.org X-Gm-Message-State: AOJu0YyPBoa/NAL7JhbMaFyHGhnjW9nvHcO9IxYjRFy1CXjJ9qEDisB5 EKFexrhw5qDFEE29iZZFOVyP1unpYe5CeDEnNExk3dF0XNEkei6T X-Gm-Gg: ASbGnctZztfDImIx9dVwwNuTVsyUtN4ny6PAxwp/ycBLfFnHrzPtr8z8dppnAjP4M0B vauAc7VeslfmPqEEpf/yydDDAmcul2oUlx3owlsSCw7uR1W4VVStK4fudCtNSY/8+s54ymkdQjb ahfBrYfR0nGHOt2NnF9ZNkFsXtC7eHNVVz6GKBuwcQgfSupNVQ4X8SBiIqSv70w4p1rwJJ9l+TT tv27n6rAfJx2qssSmtK0K4ADKyQjJ6pG5AqATh/aRWSNLyC4eZbU9M6TwiqKzNE0ZmbLLAM0i31 glN8HtWEPc1xvO6yOwh74//uy9pPwAFnr1LidzqwsbnHzABMoWmS5AtWTgYzqE+Ras2nCXT8J3a Ldg== X-Google-Smtp-Source: AGHT+IFfy+Zv4FYAC/PuIemcn5jp6axQXB+zw3jO+0pK/TsGPc1J6v/eMPg/pfYlNqXYocVPsCUG2Q== X-Received: by 2002:a05:6602:2c15:b0:85b:577b:37da with SMTP id ca18e2360f4ac-85e2cc62797mr34378439f.9.1742496834340; Thu, 20 Mar 2025 11:53:54 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:53 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 44/59] drm-dyndbg: add DRM_CLASSMAP_USE to Xe driver Date: Thu, 20 Mar 2025 12:52:22 -0600 Message-ID: <20250320185238.447458-45-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Invoke DRM_CLASSMAP_USE from xe_drm_client.c. When built with CONFIG_DRM_USE_DYNAMIC_DEBUG=y, this tells dydnbg that Xe uses has drm.debug calls. Signed-off-by: Jim Cromie --- drivers/gpu/drm/xe/xe_drm_client.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c index 2d4874d2b922..756dba5c88f8 100644 --- a/drivers/gpu/drm/xe/xe_drm_client.c +++ b/drivers/gpu/drm/xe/xe_drm_client.c @@ -21,6 +21,8 @@ #include "xe_pm.h" #include "xe_trace.h" +DRM_CLASSMAP_USE(drm_debug_classes); + /** * DOC: DRM Client usage stats * From patchwork Thu Mar 20 18:52:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027277 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 A331EC3600D for ; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 618B210E359; Mon, 24 Mar 2025 13:24:24 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VLozY6t/"; dkim-atps=neutral Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 65C9910E6CE; Thu, 20 Mar 2025 18:53:56 +0000 (UTC) Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-85e15dc801aso94077439f.2; Thu, 20 Mar 2025 11:53:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496836; x=1743101636; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lmnUjD6NKJR963XR8Ej2QuH8oZFh+mV0bkdDgwQtC1c=; b=VLozY6t/ImsaxGl8Pejmswj5enADWjw5LtyAmVyg3AccTzva321mKtmm1GihfNbUi1 wzBPwbcW6EJhXp+v3bbl8z3dzvDXn1BHQYiRGONLGCXTi034SXX1J8x3lPsWNl6VaeTb vl85p9+3/tLevx/ds7W6rzSRM1W93I12UILd+171T5GpLlWx6AHnFouWMeTdFgWU5HS/ 16yzvZHjTdF8/KxkBI90fGawwmzLNCrR21F32y/AwjUv3YlLjJG0WGYijdCUJ+trAJP5 WUs+JrtSWQWq1cLMgYS7rdpOG562On32kJKLv+6omQ7PTr77Dw4oF4pha/+luXqZWsr7 ENHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496836; x=1743101636; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lmnUjD6NKJR963XR8Ej2QuH8oZFh+mV0bkdDgwQtC1c=; b=H14HLeG3mSbgzTcOxTxxXTyoOpyEB30AhUUJ12mqqkotfwKA1QnvJLAMqlJpbdfqkI NRXbZTvuOGn2tu4vMjXylMq2O+3FlyvaY5F21+CIEjfrkCWT3a0h4WzpFW/jSWX0SnvX 7LIfGGTBITzCHfoJmzPzR9hCClg4MUOM4n5h1drcWhpi1m7O1OMI0ihzAgFz6w2Heth/ ci+Gc0i6Dvf/kYzAiMLGg132nO7iBkFJ52+ysuyHLdUFYsp/JRUUBtVsR01e2KxgjBUH XthbUfijN7K1xjV4PBkr5gV3tyrvctvpv0Jfiwa3YVqevQL/t1Eerl+6usFB/wvfhs2f qfSQ== X-Forwarded-Encrypted: i=1; AJvYcCUAaQnP1mLjEpbNOGyPxhEj+w+2IKPGbXx8jBKmduZJutw+zz782XukO3SciyCm5MhU5uGEe0mt@lists.freedesktop.org, AJvYcCUNlzUxZy+PljL3n/0VyUGqF5Cwd5dGtH6g+74lICqwjRh+OwRB0dWTSmyD19eB53dLqrRS5Vml8sDkADufjw==@lists.freedesktop.org, AJvYcCWFfxcN9XIV4yBcoHhctGNcPEXFbMC+WIPZa4gBambW0c9pscnsFhSoAmoJBKj3i+tA5HShOCoplIIF@lists.freedesktop.org, AJvYcCWmYx284L36QYE0Lnw92k6ignhil49E+oalTpH1VoI98R7vHcirEB2Zcb6QMHJecdsjYMWUbE1zfqEh@lists.freedesktop.org, AJvYcCXImvYk+Dde9K1wUOjbY6UFgq3kkA6De+49M42MpurHNNoGxkRerazSIG8ynBewhSCXH6Y2MpNU0qu9e9TWkS6yAA==@lists.freedesktop.org X-Gm-Message-State: AOJu0Yxxf6k/IYaZPfC/Ivh+fvKuqo99/CqPk/yJ3ahYbIfOLFgV+mdW vr4Fkwt9p+i//yZyEs5myi5DekhVHUzf2ZPmDXyMyCUR/SAPS4vN X-Gm-Gg: ASbGncuCwf66YJ3c59jxbve1eskvhqAUEZHhEg1zUjWvnjckv1z+VaQLj+XGiZ+h+B6 8WpIIfIjgKcLFezPHb3grMrkzi8ynxgm1q0lJITTn5jl4oKM4e9Ueum/0O2DLr11AZ4B5PkxGD7 se3dwe4ijluFvxvkTeWbu6lOWtHk5hgRoehyuo6v0nYhNHKQUdqaVWBckbLD649nX31OoIiRpPv CquhCgiCv0OFEjBECDT10HbTso+sXtWyjLWu/AdwtBg9WpcDnYXeHOsC3EKf4/S9zvjkjC42VqX 51tQlgiv/tqQKRFOkPFpyiDnpRzxWnWIClMHLcuKwNl2I5LT5S1xf6IxAJYiODGJTZCb7lD37YR UCA== X-Google-Smtp-Source: AGHT+IEE+IsH7hIG3IwpuXTfje/wS/kbP6qcYYW231aMk+d0pYaAsvECTE7km24gsBf+wVdEupvShw== X-Received: by 2002:a05:6602:3a01:b0:85b:3d1c:87d7 with SMTP id ca18e2360f4ac-85e2ca36477mr39404939f.3.1742496835558; Thu, 20 Mar 2025 11:53:55 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:55 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 45/59] drm-dyndbg: add DRM_CLASSMAP_USE to virtio_gpu Date: Thu, 20 Mar 2025 12:52:23 -0600 Message-ID: <20250320185238.447458-46-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" virtio_gpu has 10 DRM_UT_CORE debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs. Signed-off-by: Jim Cromie --- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c index 6a67c6297d58..3bc4e6694fc2 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drv.c +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c @@ -45,6 +45,8 @@ static const struct drm_driver driver; static int virtio_gpu_modeset = -1; +DRM_CLASSMAP_USE(drm_debug_classes); + MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); module_param_named(modeset, virtio_gpu_modeset, int, 0400); From patchwork Thu Mar 20 18:52:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027313 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 AE3CBC36005 for ; Mon, 24 Mar 2025 13:25:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 21B2E10E3DF; Mon, 24 Mar 2025 13:25:47 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="g5KAO4n6"; dkim-atps=neutral Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id 89E8E10E6CF; Thu, 20 Mar 2025 18:53:57 +0000 (UTC) Received: by mail-io1-f48.google.com with SMTP id ca18e2360f4ac-85dac9728cdso28606739f.0; Thu, 20 Mar 2025 11:53:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496837; x=1743101637; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/3ieg6OYf20TvXEjKUEioS2vPpvBZB2Yv38SKV0x07E=; b=g5KAO4n6cNIFTiATtVuJn0S8i+trcLctIde5w0PJpxehteAU2xBk/cp5GtDcKoyKUs 9Ca0C8OoTPudIvJjJzCad00OqYyqaFF7o8TW9YuBInMgbO5DeZQJ+4OCOplU6GVRTEgT NA7nfd+diVIK9zZ/Ip9QcPcMxZ/MELwCXCZ66XimQIStfkkEh/xUt3AL9cj/4WI6thGe I/JL04ABdRnaitcKcyyYbGxnf7E71sMN67EaP1mRL4iTJvtgc4W9bHik0O9rDge17nyM cS4i5wMbQXbY/Q1TIcbFmBu5NGHIw9lbOVDSDQYgXnt0R5z5mjqA9rSJmqTsL6hA7rLr Pbtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496837; x=1743101637; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/3ieg6OYf20TvXEjKUEioS2vPpvBZB2Yv38SKV0x07E=; b=eDZbJJbsY2WSpgj0Gapr12bWpxbhznqCiAuq5dxcFivbREcDe0DgYxJAkNk+6i1Vdj 9FCvUy74Q/IWBmY3/rG2HRzgepPw2y4hqmr2DzwuLHZfUSgfijW6KgFnhcxs/j/aV39m CF7Nj3D4wH9LJf1CDo+HkwdgNMyQY/M8I6kW9cVZt6XZskq4v0zBMEGR00+6d6Oqm2ZX bQfY9vFk9dAIvsYEv5Cdd3fuUKaLlYOYcgq7OcVxNZx8284WfMCaT1epckxcIptFR5Q/ bI9GPQxQ6CvDTpaDWvfzVh2WfB+TlKFkv5aKmGo1yXWkuGoOYa7x9LZF6i4u12+rYpFA iGbQ== X-Forwarded-Encrypted: i=1; AJvYcCWWHMj8rjfpX/4+xa6Puo7c4QoYiqtqFkgbHOJdyMFdjF+qFY6Z+q4RbGgRlQh/iWiBbp3YF/6+mlIGbMUqrg==@lists.freedesktop.org, AJvYcCWo0xOSryWsfHk/QgmLdG9UwwmbalMorifeFNAz5hxAyeHy5avUGhMGaI8JuZc0nBhhKgIdcFwHXyol@lists.freedesktop.org, AJvYcCWoZ20s9aJbZJ7tSJ07d3rYApS38KX/b2+9YMQ987nc+GyHI2z+j1jh85Hp/L0ZHimtklx1RxVG@lists.freedesktop.org, AJvYcCXfJz1iVJTL9xuJHQZlgnotC9yKMzalEthT1UHWCZHZfPibW0as1IQLTRq0OYyAskPnIUy/9UZsz5w+a/qxWSGqVw==@lists.freedesktop.org, AJvYcCXw1xHVb1BLeaAxnj2idisZjWOMiB9eyymlhdJjAYdUHwfPiRzra/GQR2/tDp2yXXPB3og8OWZOFNYi@lists.freedesktop.org X-Gm-Message-State: AOJu0YztT62LmmuXXlnaCLAG00iHRHWUVg6g7AIvie/BbD1aMmbQAVzs 5xYH43GYBJTGwqP5Yid5bHghL6qd8+eAEvepK8zrkRD+arpduw4p X-Gm-Gg: ASbGncswxDEX0T6rk9+iq4dZWgbnIc29KPo96c1Xv0vddvwMqON97BRGoOeHkJ+osib w+h8+i9FGSfqxbUTMiNDu3vJpTScmOFcZoy6VlXiZdQhe4Uv7eSmDz8/ycXe2hUk/dULI5+WP1s RqCoIvJ/1WvP7ZLjOl5dv7NVkpD/3cMtlWH4cuu5pWhfz5TNQggbM29etJiwh9LuRATuBAZYnpE BlwYKNn6XiwBCszEZpxTqKdzn5a5z4nSRHt3twOCawufI16KC3ZWRte3b9u/B4eUu2GG4QDKF5G BIYQxayGeILh618cZ8m41J/bSKcQRvnXg2jdFpKE9EIpGYZKL/U9v4IanQS/zXBjH0ipEchBLN3 0VS75tSJcg5IS X-Google-Smtp-Source: AGHT+IEV5S9iAZ4P4kAl5psRQa2kOypMVf8ugJ/2bScFr4uYQKD/pc1j30FSkS+FGYaEZcWCdvjtbQ== X-Received: by 2002:a05:6602:488b:b0:85e:1879:c708 with SMTP id ca18e2360f4ac-85e2ca388bbmr48761539f.1.1742496836822; Thu, 20 Mar 2025 11:53:56 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:56 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 46/59] drm-dyndbg: add DRM_CLASSMAP_USE to simpledrm Date: Thu, 20 Mar 2025 12:52:24 -0600 Message-ID: <20250320185238.447458-47-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" tiny/simpledrm has 3 DRM_UT_DRIVER debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs. Signed-off-by: Jim Cromie --- drivers/gpu/drm/tiny/simpledrm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/tiny/simpledrm.c b/drivers/gpu/drm/tiny/simpledrm.c index 5d9ab8adf800..bcf2cccac0ec 100644 --- a/drivers/gpu/drm/tiny/simpledrm.c +++ b/drivers/gpu/drm/tiny/simpledrm.c @@ -34,6 +34,8 @@ #define DRIVER_MAJOR 1 #define DRIVER_MINOR 0 +DRM_CLASSMAP_USE(drm_debug_classes); + /* * Helpers for simplefb */ From patchwork Thu Mar 20 18:52:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027274 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 BF179C3601A for ; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E591110E353; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="eng5vj2e"; dkim-atps=neutral Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) by gabe.freedesktop.org (Postfix) with ESMTPS id A039B10E6C9; Thu, 20 Mar 2025 18:53:58 +0000 (UTC) Received: by mail-io1-f49.google.com with SMTP id ca18e2360f4ac-85b4277d03fso43918539f.1; Thu, 20 Mar 2025 11:53:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496838; x=1743101638; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ck+/k2kUl1gxvAy57O83XENj4jmXSLh8yxG6/aZ/GV4=; b=eng5vj2eS3E0Y8v3vph4qe4l4g++jwuuj5Ww6G+wh9gYxRyQNEtvBMZ7o4TqXrEPa2 0r+A1mhHLmO0D/HMif8EWNizU+/YYCXZ2jzEoL0Ui2RYyOHysJBKfEXnXD7Tlouh1gAQ DpAIvBmpbh4ABDWkjAYnUHi7L+D2E3DJZfcYq6O+zB2Mm+RuXL9NIlwP4Cc+DQZynWdq 3kyn3Fkr/CedrBMEPo5gnh9cS+CMRbsH2ht0VsR/X5Z44b05u5RxVGJPfXz3yaB9YWV7 KdMhgWUHJVm3X3puSGGjs/TJoxtBCNo95IE4fd3vDJBwrbU5ZctstvKv5tlInknSrjwU IkWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496838; x=1743101638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ck+/k2kUl1gxvAy57O83XENj4jmXSLh8yxG6/aZ/GV4=; b=bLIZk1c3D7eKPUhJ8Abb+XwDW1ry4L6lDWYJpd4N9Y7ZkRrmFiL6QW8N4Yz5vRgD6z +FMnKVG1Ep41B2EBmpTIDN5Eynmubeuj6o6sFi54KzF8lIzDtbl802K4m/SdTxoEHioe COn3m/fZfVqeEkeqSpoxV4r9s5iSZdie8SiWPUxUKq6hPAItxeS2ohVher1sZeR5elSD ythQH9Vly4dL+ssdILBIGgvwpx3bYwj2+jcGLbli/gcynVrmnFkOoL263zcfypdZxU7n 7CZodlqiHsYfwxhNEFqd5R+1AC0gxSBJh/XaKVR+b7EIMrTsiM/95KZvK3Dsw2sPXin3 gedA== X-Forwarded-Encrypted: i=1; AJvYcCUCXct9bS0IaB8k+B3XM2wQ4tSfSpl6sH9mnVJLj1bHnUKtqQvDKp99hiJvYIhjhBvOro/40V2oTxITyl5dshNC/g==@lists.freedesktop.org, AJvYcCUEXyFmA+W5ILlgfhDZfO8J4tjddICujMR/OBZrPfWn4i47ofAv1clwR6y00EP6niSGhlxDi7e8@lists.freedesktop.org, AJvYcCUseNjcfFFG+hFA7LXqmoz75hu6/FRlmSV5yffkqAhSvri+Ct/1iyAkr0zTKN4ULXaEpmq7sbYmtdoO@lists.freedesktop.org, AJvYcCVYwK7Po4iRNRcoFdR7QJdazo27funskv/q7/u/A25EQwKqizj5pK938FQMnvTbkqggzmIhEagaMmgNNefXHA==@lists.freedesktop.org, AJvYcCVqcrc7tqLK45Hgoi3wYdhXxPL7wW8JDkEWLVNXnfrpIVJdYftvfc2Zp6ME4yQQZjwOXQ4lFVGWR85/@lists.freedesktop.org X-Gm-Message-State: AOJu0YyqKYm0n5WyN+/mq1RgQg/msj98VrKjp0p699YgK+aD7GsmiY/C L81OLTRuoN59Wpf84yNe8ZsJgVOqaoPm4MMv02bly4PMqft9jckP X-Gm-Gg: ASbGnctHXpqMDwav2M3aDGPIpIhaqMDZEwaHEiNZARipt2orsOq5CVFZMPn2lsV87PX cI4gHYM8ZmNQRc9b7AkRkhbE09/ehKgfpBVqe4qXYuKweztgqjXr+Fm3qrfmLXAzX/xabhBnKhP l8K5IlM9Nt8vVuMjfKHhRbjy2SAhN/xp0vtnjIDfkzmsRf5HeYvjhmTp8G8H1YGbf5APUWx6Jg2 97nc0XzsnYIMeO4eEjuHHPq6XDagaLM8gtVTS5oQA/I0mB7/UMoYO/RLScUnrkt5EfUItJnVYTP QnOtnzZTFxKHr7vWHYtiQu3/t7jUG7FlPKiE0f5Rkfwlz4105nfAibZ2QATb6+BrNT8LhM6yqA+ Tzw== X-Google-Smtp-Source: AGHT+IGUEti7ctdmH6bFLDYmAxNDQnvD0h8GxVJRFPAW11NDjRFBr4OYo/0+VvPBBTOSLXboR9af1g== X-Received: by 2002:a05:6602:3607:b0:85d:f74b:f8a8 with SMTP id ca18e2360f4ac-85e2ca19fa0mr39028039f.2.1742496837861; Thu, 20 Mar 2025 11:53:57 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:57 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 47/59] drm-dyndbg: add DRM_CLASSMAP_USE to bochs Date: Thu, 20 Mar 2025 12:52:25 -0600 Message-ID: <20250320185238.447458-48-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" tiny/bochs has 5 DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- drivers/gpu/drm/tiny/bochs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/tiny/bochs.c b/drivers/gpu/drm/tiny/bochs.c index 8706763af8fb..dbcc8ba70dfa 100644 --- a/drivers/gpu/drm/tiny/bochs.c +++ b/drivers/gpu/drm/tiny/bochs.c @@ -59,6 +59,8 @@ static int bochs_modeset = -1; static int defx = 1024; static int defy = 768; +DRM_CLASSMAP_USE(drm_debug_classes); + module_param_named(modeset, bochs_modeset, int, 0444); MODULE_PARM_DESC(modeset, "enable/disable kernel modesetting"); From patchwork Thu Mar 20 18:52:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027314 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 390C8C36010 for ; Mon, 24 Mar 2025 13:25:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 86D2710E3E6; Mon, 24 Mar 2025 13:25:47 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="MNJtjW9j"; dkim-atps=neutral Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8141510E6A4; Thu, 20 Mar 2025 18:53:59 +0000 (UTC) Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85db7a3da71so81529439f.1; Thu, 20 Mar 2025 11:53:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496839; x=1743101639; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mR3GZQ988EXrhdMWSVSfrBHjk8VugzTeXVmkAtrRrJY=; b=MNJtjW9jakCt5QKXlLr5okAvGLJPW6pWsrt8xEC34vdr/iWvYZXSXelpcxW8npous5 P6DtP3FnUwLbOrFeGn8DeJeP05b8Tde6AIVh9b1r8S+Xuup3QvxtIvdhHU2GYRwgUf9I wsQytEezEj+kwyp41i3XmmraJvezXhhUni/4ZhzMbLq7GmD7lufhTQQXUCWVkBH3mbCe 8LIQ64nIrEV127Solc1c3roFO2chRZDgLY59ilbTOAdP4Ls5ANT9IqWnZnYH+pp1qjcC Ko6uJ0cLP2ujj3gMmN7eWM9J6RDmoRUudTMxK4ra8EJulLVBCHPEotrTt4yADNT0HA/y Uwcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496839; x=1743101639; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mR3GZQ988EXrhdMWSVSfrBHjk8VugzTeXVmkAtrRrJY=; b=H9cBV4zIxHgfq16BAOcqiS2vQDoyM4R6ua4/zqafPG2mGRHQaGeUOnPMk7CwjdNbEC iqIEeWGvqeUSg7kj+Jib235Dxxk+FnfxFkJ6bSbvPF9XmcjgOY2wMLxoDhNqz5XtN+Ob nza23/ZRMGvvSloJ3rIRmKnJjNH/Y1800yhhmqMw80Ih9eUZj3LZMuvu5439lNmGVCX3 +1fjurzHKw/9SPNAZMwcsYbOjBzAFlGbeqYqPoBJhMri0EQKzjjVFI9JqXb7GU3Ip5yp AJa0b7c9Z/plr63Bq+47++xnoYDxE41L6ifWy9FGttfnQ0Cymy8uQrLMx6IO0YQ8tIkp FJSg== X-Forwarded-Encrypted: i=1; AJvYcCUkI9KFbzpRg7hpqofCVAxb8xhBb66o6TOM8OdhSnm8aJRMm0mOL6ZVG1TpwR9eiFsPG1jC5D38@lists.freedesktop.org, AJvYcCWgazDjIFTBbCdDyhJf+vEEo5LFXpeeBEUFPNC8rLpVuJ2Vxg6AsN5EDVNgXQJ/xmt/twlOovbTmylZlJDD1Q==@lists.freedesktop.org, AJvYcCX8jVaTZPdDkTL3uKu2iTT3s0GnLS9VJ5wOjbGvjUs09lq4ajP0nZoDteVrO3FSvw3wPXaQH0qfUuLp@lists.freedesktop.org, AJvYcCXAWT6GVsyGimhZa1YYcdKFzmV707la7++Ji0Z9FOtLSGZdM4RROV7AwBv0yeFuOd6OhkyhHaGl9bvY@lists.freedesktop.org, AJvYcCXcM6hPOTcCcPylHPH6dpmhiWlzTtxXXzVGT3RxYpSizyOvBl2oOer0g3WBS2tymhhpS9pt5e0eGDtkTnfTMQ54Ew==@lists.freedesktop.org X-Gm-Message-State: AOJu0YwjSLvfddSe32VOCalHUCyix54F26nvT9zfYwjkmQCJAr5cnpxt qOD2veNaeoXgbnixKcrFN1fS3jngkG2iEFaYhgKetf0Y8uv+DXjP X-Gm-Gg: ASbGncv+jSN0OguMhL/VLBEWj3A8yswTGHGeW4k6z1yuSTLBpujfPwazRWf7u3oTOQr NT8BDLVYZ8sFMDd+ALkOSH3jTqBBMK9Si8qvUyLPd5ou2pfloJpRsTldRio0FG5TVyIyRcS3X2D MqJubku8I2QXZr5jjG0pzeW5g1383Gj6DTFkh0KkR0fji+YUqDYk+LleU+AJOOEesfZ39mk9tBn 49+ShwV5pElgwRZ0M/HM+0At05cyPU/ejnLfIu1eHTwfOZV2qaw6FYuaPams1mlHK9ExgkaXdbE 6gIJeWgaS5yIi/BsWLg7nSW5E+XoeN9YZuvYEr9DqylhuJLjruKLT79VJm9XoE0YKFbCbl9NYsU wRA== X-Google-Smtp-Source: AGHT+IE/8vAD9xn894tiXvAQK0Gxh3uyYswy4zA7uBx2cF18ny9SJTNkmwBTELmd0JQj7p9EY0kClA== X-Received: by 2002:a05:6602:2762:b0:85e:2020:2396 with SMTP id ca18e2360f4ac-85e2c8ff5a6mr53200439f.0.1742496838785; Thu, 20 Mar 2025 11:53:58 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:58 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 48/59] drm-dyndbg: add DRM_CLASSMAP_USE to etnaviv Date: Thu, 20 Mar 2025 12:52:26 -0600 Message-ID: <20250320185238.447458-49-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" etnaviv has 5 DRM_UT_CORE debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs as well as plain-old pr_debug()s Signed-off-by: Jim Cromie --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index 3e91747ed339..70759b7d338f 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c @@ -25,6 +25,8 @@ #include "etnaviv_mmu.h" #include "etnaviv_perfmon.h" +DRM_CLASSMAP_USE(drm_debug_classes); + /* * DRM operations: */ From patchwork Thu Mar 20 18:52:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027260 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 28B3FC3600C for ; Mon, 24 Mar 2025 13:24:28 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DE8FC10E344; Mon, 24 Mar 2025 13:24:22 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Hek7K1GX"; dkim-atps=neutral Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id BA43A10E6A8; Thu, 20 Mar 2025 18:54:00 +0000 (UTC) Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85b5e49615aso98874239f.1; Thu, 20 Mar 2025 11:54:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496840; x=1743101640; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XVuxeJKKK9Rs+v9Dxb1+k9xlxA6UW5kge7MRPvzoPYI=; b=Hek7K1GXXe5rjZ7lcEGUtH7ZXZpYj1gDY6aQh5rfCtpYD8JcnYUjb9Lu2Fi4tpWGZt /fTxFoVTPkjTj/fxEl6MOLZ5tEo5wz/TnwVJyvKt7k+A9SUJ/71SOCFfj1iXcBKAQK0b 15jGekiZZZMck+/LJRDCdFCjK9FPz2GfOPrB1oip3UXHG+YZaqF2NM9A65cZkeGLYP2Y A/lWYkA0YX9tp37WHgiX9p+A5uCxUBB7nKJJ6rbrJSPmy+8l8dgxceN/aRS+EgMjrHlZ YmntU0oDLTbK6tpUWn75SPE7/UcqTEG9eo2LqQlMkHClU+kn+02KWKgajyVp/9Un2Zpn bGzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496840; x=1743101640; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XVuxeJKKK9Rs+v9Dxb1+k9xlxA6UW5kge7MRPvzoPYI=; b=oFFe36JoRzR6VD8zs5dJq/dQ4BWGG15+bOcuZgsOOUe8k19U85gKgJUC/fyIq3K9Jo 9n7stePcVnp8PpZK7tFuNvCxqhhHoeazS8xq8KGeWcnWFt8dipZPb3edF7n1O4O/4r51 mQsCxzo5S6+t4W1UlCCZk8U9+hRlIB6QZXhtY0D7ZkDX/rcTSXP2M1iW4jbZxpXDYCBG tDloMWbgupA8bA+gMGWZMeOm7UwXm+HFM3a80D3CB1dSAeQlvOpFbK97MSPz7oKvb0LO UlQo/flCTzMDIox8JxzX22L3QblnM00u5L8zW09XpTsDV+TDaR1+xFI7/ii/u4rey/Rk ZfNA== X-Forwarded-Encrypted: i=1; AJvYcCU5YZtB5eV1NsIvDwFE8KfanUXveDHoJ/Zdq54Oi8hOR8W6HOBGFc+6YLPb5ZJNzln6HIXhpM2bPEhV5PZysU32sw==@lists.freedesktop.org, AJvYcCUr8teUEb5iYcpahbhDU5Shz/tqnj66PfjgnlF6n4Ffs0DJrB4TIBkL7iiB1TyU2Gkd9ivnIy0oFSLda1taGQ==@lists.freedesktop.org, AJvYcCWWa29nbSSc58eeZKxk03jvTJLJ5AZtlbelrhwXcaI22hyd6p1hVOVkmpUqdgzcC94rtfs1KrjaAqBq@lists.freedesktop.org, AJvYcCWj7UCSKA7QsuaPaabCyht2p9wt0HSYgWwDJSRFwdMr6JbwOBWxFXxOHxuoRkZdG6RObsCK7iP9@lists.freedesktop.org, AJvYcCXudTzSiqKJAmBxn2+euQvJFmIG2eBbdrx39KoZI4VH2sdm1UPHE+FecOxaM0czPLqopTyAJcCBnjhD@lists.freedesktop.org X-Gm-Message-State: AOJu0YxToFuchBgzGgldVdHAkLPv4G5YG/nI/8ZMOIwbVGCZT4Qhtq+h wf+IySwnV2UjXSr7Vxj/sJV613rx9r348hmWij84xtGgK0ARDoDQ X-Gm-Gg: ASbGnctDL4UrfpLY0AhFbRi83zKo+gwpVbCoKmGnQbPG+Xy2Niao1v1xM1Xjs5AIHOa pFBOws7VxNWi/mtkpBzy5BOsiWxZzWCSr8UUoFXqOjywyWIo66zrS/qI6aPvCRbtfPb9Qs/aLLT BkMvExwrH6/u20b/6Zgui/niCp+lxF0Yt8HehMr8aXqsFPFbhLuOUGXklThPSgtPJTniDjSCilS nhfagDMtiiv52q8OXScc12BZqHwbScBNZPeo8UXIXUXiDd+idFBUerIoFOqT7wFRf65+uzmzM37 DrPRGpmjhDJwxvInUNaUWl5/ImWUOuMSQ0cX+VZPHnXdaAyRj/CObMA0tyV16rfT9Re1j2GNlpQ b7A== X-Google-Smtp-Source: AGHT+IEgtZhnFWdPHG6hTurl2TJTpACa9ncEjZ7DOX6uv9rTIlbze+MtBpfCYmXm8khqb7FwjH6Qaw== X-Received: by 2002:a05:6602:7218:b0:85b:5564:2d51 with SMTP id ca18e2360f4ac-85e2cc52346mr35719439f.11.1742496840061; Thu, 20 Mar 2025 11:54:00 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.53.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:53:59 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 49/59] drm-dyndbg: add DRM_CLASSMAP_USE to gma500 driver Date: Thu, 20 Mar 2025 12:52:27 -0600 Message-ID: <20250320185238.447458-50-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The gma500 has 126 DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs. Signed-off-by: Jim Cromie --- drivers/gpu/drm/gma500/psb_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c index 85d3557c2eb9..dc72388ed08d 100644 --- a/drivers/gpu/drm/gma500/psb_drv.c +++ b/drivers/gpu/drm/gma500/psb_drv.c @@ -40,6 +40,8 @@ static const struct drm_driver driver; static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent); +DRM_CLASSMAP_USE(drm_debug_classes); + /* * The table below contains a mapping of the PCI vendor ID and the PCI Device ID * to the different groups of PowerVR 5-series chip designs From patchwork Thu Mar 20 18:52:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027289 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 47C40C36012 for ; Mon, 24 Mar 2025 13:24:41 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id ED57610E3BA; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="d8ci0dkF"; dkim-atps=neutral Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 119C110E6B0; Thu, 20 Mar 2025 18:54:02 +0000 (UTC) Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85b44094782so34872539f.3; Thu, 20 Mar 2025 11:54:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496841; x=1743101641; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Tgy450ZES2ez3J/XkWzr8/KGFStO5bXfg+gAZCZdzzk=; b=d8ci0dkFrBYDMJDdWUDYEUzakNQv4FBy9TA89cvbqYTOZGC+ROJOmcE3HX+eGbtNK1 kecPesAb49wdLMUOM+EPj/zgAjjXEEQrGdcuhpJgEX1rwsiiNbXWwy4mYx42PtyQ10SL nklsNtZ9RvSJpMq/OY7eOodaROdZAiBEGjGqqRY6JUGQbZ2KRFmQni5MKHZJXdeWvv2j WnoDAsyYeimrFPt75hVqn+Y2nCcAzlTVqAnJOQyigJ5bnrhxYvTqya84YVfMqH1DUTsT 4sPuEZlZmfRCd2w8nOOW2j6zRjV8MPERsBEGXZydWEboh4yMi/574VA4iy+pzSBX8Q1G uYxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496841; x=1743101641; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Tgy450ZES2ez3J/XkWzr8/KGFStO5bXfg+gAZCZdzzk=; b=IBBBYXi0EAjC73NxvxZV/RFqfK0qBvaNwlvr2LKg29TQRRFC3tbHP3HP1AlupwhJVJ bs3mld4L8dPnMgxaylQ8QNUOMhWgWta6CvEPIuFL9dkCITHTMq4VMc4frmY9ew+8w9e0 0uBA1zUrxjbe3GGevOz8JvxbMgU7SRDdkmU+VB1WilERY4VcZeMcRvJV/3VepBVm14kG vjCPny0c5Li/W2RJYonxLMle1z0YnUeMlk631DhpnicaZQVZ77A9HZ93FPWI/gG8iRbb 2vMEC7PUrbqcnnMTtS2bmv1JbPDV8Pry5caRHIbMWvzxR5QBRPJQOQzHivkrLl46PppP Nnug== X-Forwarded-Encrypted: i=1; AJvYcCVT5momNWrtJNQjDReE9MNoenVP0NA67BPVaGTSLE0Ct3QWGIT8Alv7SzjtPeT5Dw+vWBblwoeQ@lists.freedesktop.org, AJvYcCVtyuQ5I+LM39WvLQRkR6BZ2hoaX8OD342CBjOlD4/2APtMJqamQ2GAQ8/Lfdspm2wDY6cz0pJcUd/s/pNlQwWngg==@lists.freedesktop.org, AJvYcCW6/tcgl3M4d78xnSTCyRGojrQ9gfj2E5ZoUGdUNPBbWl2UKcRumpvPS4uzzBr54NvXAMxSFgAGtxaf@lists.freedesktop.org, AJvYcCWrfUZleEOGHpA03lRlCJLzWzh/kznUD9WI2zyQSHa9WcEAxGnrHrhU2+JVJYUB/Y7PxCM12Rx+JhviK6tCpg==@lists.freedesktop.org, AJvYcCXW8EYjTlAnmdBclXi2qHkavaQDU9/jgPFyR28vnDWMYaz1JlSEQvIAkgEH4cXKOkhYZ0MCdTtvQJEO@lists.freedesktop.org X-Gm-Message-State: AOJu0Yw4/X4nxPnoOY1MlWNhYy6TReSq4ieh6FfVfTc3PdGdmW+c24Rk RCD2xgWeg5awxwhtOaFUm/ZVk2Q3c1VtS4HPzOp+uykrrHHvOaoM X-Gm-Gg: ASbGncuSAablBx6shBhvGqhHYABejKHT0oGQPygplpg1pzpz9eaoKQRuesvTfsVtwdM TvqDI1qm5tNPmhvkO2EDqybpdANwSWoCRZBUMg0tKHYH06Oi8b6fLDEwIujujPSZs109uzljx4r JoDWEp7VOYAvu8tmyj+WMyGBKjnABa7CvXvXmXe0sw+TjjeSKB3ZuJHQ6ELnw9SFi+r+eJUYF5/ YSaiHF1hL9CNs13ZdbKBesIqbxHGvZRcACIgwfsokrHxSPe+8S2Oasgn6d8tu+Xonbtsje60O3Y UDETWG3TWJsfOv8Ud4OlCVbYSEIX9t3JbEcGyuDXlWpRQKOHrkCHZzl5ZutBVgAXQjykNh8mngc UBlRmedJEbJS4 X-Google-Smtp-Source: AGHT+IGBUJj0c0mSBRBgJSPDvGPw3Gh4UAbdxFlYAyO26LwXLIgnhQFAIJTPVSWIGcw7/GhzghR57A== X-Received: by 2002:a05:6602:c89:b0:85e:201e:3e35 with SMTP id ca18e2360f4ac-85e2ca18937mr56876739f.3.1742496841207; Thu, 20 Mar 2025 11:54:01 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:00 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 50/59] drm-dyndbg: add DRM_CLASSMAP_USE to radeon Date: Thu, 20 Mar 2025 12:52:28 -0600 Message-ID: <20250320185238.447458-51-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" radeon has some DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg about its use of the class'd debugs. Signed-off-by: Jim Cromie --- drivers/gpu/drm/radeon/radeon_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index 267f082bc430..6eaac728e966 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -253,6 +253,8 @@ static const struct pci_device_id pciidlist[] = { }; MODULE_DEVICE_TABLE(pci, pciidlist); +DRM_CLASSMAP_USE(drm_debug_classes); + static const struct drm_driver kms_driver; static int radeon_pci_probe(struct pci_dev *pdev, From patchwork Thu Mar 20 18:52:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027304 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 53EFDC3601E for ; Mon, 24 Mar 2025 13:24:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8F07810E3C6; Mon, 24 Mar 2025 13:24:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="TXrePw4U"; dkim-atps=neutral Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1EFFB10E6B3; Thu, 20 Mar 2025 18:54:03 +0000 (UTC) Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-85d9a87660fso112670139f.1; Thu, 20 Mar 2025 11:54:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496842; x=1743101642; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JTbNTI64Sdb94F5FeGTeZQmx91wNwlAKHYCBLiEXOdM=; b=TXrePw4UHTxj3YKy/gFx9OplMDSQ8l3uzquqX85StriKDP1Iax6XW3PQJo0DnilQt5 tOLOVcU4LOSYK1AqgtSaDVHR0Jhe+h7RRGzp+23uyRp16tAHgxLB71VL/bxYjkfALOA7 62Cv0vC22GRO0RlLIKxVPpKMtlIYkPUz+zRTQ68e47DyGSbbYm3EW6gLMNMOWuANYkan uQRy+5ljNPzB0NP/0vjww/wmOgNoBFy4a80X4VJZrGJc7Zcj3CcivVpBxokOITK3s7nE fw7haKs/rKsHmIfWt3KkjBjnkm+WtusOaNVBtERqUhoI3Agl7kYtB/57oqrRB91/SnAu l1ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496842; x=1743101642; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JTbNTI64Sdb94F5FeGTeZQmx91wNwlAKHYCBLiEXOdM=; b=c8oPX65yzVh9jlPp3W2XsHqY0/SdwGf3qlxYBVKo0kCioBS8v2rOJe6XOKGb0npwgd tZWdVp9XgIBKXlDF17jM7m+QiXXhAmLVOlG8V0GD7LEVq3R6qLJjd+roDs/QdI6Keu/8 Cu69aSMZQP21q3JebEt6JhW9lRKtRJRDb06N3sHqlSf0YhOVwXHqrKcqZBftcbALmp4g TOw40axCuoX4a6WLtB1O7B3QqDf4GRGg7cAApWxxtF5NWeT43SVFINNt+/nQiBCQn5jn IjCy4LJ5xsFcXMuL6b8r0RxkEugBz2v0cSE1sF8mdvhn1XWENQTu6vi+vdPCLCRgZnlw xm3g== X-Forwarded-Encrypted: i=1; AJvYcCU+9dvuK4FJpOm/UCXBWypmqmyBYCz5HZzBKmAB3Pjz6+8B0k4R1/s7W2WhxM34NYPA5oFC5I0q@lists.freedesktop.org, AJvYcCUjf02y7pmA5FUk9tkmFjopdvsO4KagDwHYA7pefGcgEj9v0Xp5mad4SDlnMiAVXtdNGqyKt9a1lJ8s@lists.freedesktop.org, AJvYcCVp7ThmOsgy07gxl/1hEXnHa+HpjweH7BXO5okuXsR4zSUMf1EqY3zNEEDLuoFnMqT8U5dOiGm7ib3/fNtDL20cyQ==@lists.freedesktop.org, AJvYcCX3hfkGQV2p5uEnnfn9QwFwb2xJ43tFBWKphFQl6qJwxWhNrFmBTH7c6NUgS3W/HtYuAdIBjmeBF5Ui0FEKPw==@lists.freedesktop.org, AJvYcCXoP3KoFmVljA2pjA29UstbPGnufK09IMdRVzAvVF+q2LtlJEr+2esx4g5n3lTWR2BSMhvPiZEjsyG1@lists.freedesktop.org X-Gm-Message-State: AOJu0YxiCYlC+VaP7Zoem1Cch2gE6YkpHJYE9xnmtizFfXzUcqyp1NjK mHbRHB3s5F1pki1pH65JBpwUKs4kJ7gLjkSMbeUufFeSwoDPQyIS X-Gm-Gg: ASbGncs8E9kELUFWBn0UgPFEVJT+EZzgv2NZFnOC6sDo2jLadBaMtu4u1ALE+indwsH kVvraxjsPbv6QMfiGPnaVJsmyte1XozCeePEa0rPAuPLhPN3XMKHUQN4uqSFeoGhPfgJ2ETr9oo LClTNPhfHkIHA5lhchAPKIUWgh6xwzwTfp88yl1L4VBSv9QapXMkgPH/GxLnP8z95sO7V/lHOiH 2J0u10+k2o0YHs4HHqs5eQGd+QjQFVFOF/7Q18jaJNBxvKZt9msb2KMTPyIRCyK9avOryQz6m+O sDgpl01Va+P8JRq1fb+myjuTJysPBc1sfsP8YyiBzUWELyNN4RqLvSjursKjHtOxpqKbZ/AcSxM FLg== X-Google-Smtp-Source: AGHT+IGJ+F5hgXSEX8LPUK8KbWY2gpleoQ+3CsjZCEJhiphZtgFJ/4Ts9qzOdYEYS2jHaPKn3rXpJQ== X-Received: by 2002:a05:6602:7219:b0:85b:5869:b6a with SMTP id ca18e2360f4ac-85e2ca35c40mr46952939f.3.1742496842400; Thu, 20 Mar 2025 11:54:02 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:01 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 51/59] drm-dyndbg: add DRM_CLASSMAP_USE to vmwgfx driver Date: Thu, 20 Mar 2025 12:52:29 -0600 Message-ID: <20250320185238.447458-52-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The vmwgfx driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index 0f32471c8533..2b4f862fe5d4 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -279,6 +279,8 @@ static int vmw_probe(struct pci_dev *, const struct pci_device_id *); static int vmwgfx_pm_notifier(struct notifier_block *nb, unsigned long val, void *ptr); +DRM_CLASSMAP_USE(drm_debug_classes); + MODULE_PARM_DESC(restrict_iommu, "Try to limit IOMMU usage for TTM pages"); module_param_named(restrict_iommu, vmw_restrict_iommu, int, 0600); MODULE_PARM_DESC(force_coherent, "Force coherent TTM pages"); From patchwork Thu Mar 20 18:52:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027303 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 1EB8DC36013 for ; Mon, 24 Mar 2025 13:24:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D275710E3CB; Mon, 24 Mar 2025 13:24:36 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bOYgzOIm"; dkim-atps=neutral Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2749610E6A3; Thu, 20 Mar 2025 18:54:04 +0000 (UTC) Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-85b5e49615aso98880039f.1; Thu, 20 Mar 2025 11:54:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496843; x=1743101643; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JhoA9XaTmEGFO/43twqabJw5GWuyyTcgJpDDhp+La9k=; b=bOYgzOIm256r4o0gEK0kJiykYxBRi2Mfrqj5Ouoc5Kkxj99jTSXxjCP0rAhi8VLq1b S0dUmL/PY5XsnNNlRs6cpZzbgra6xcMkElNeB/b+tfQorrHNjTsZGve8TckTLk0L9sy9 uUkYBEtsIKBqtqJ5vXd6jEeksGLx/LDY/zbpzEt1eR0XTTNhbRyQzS4l8uMb30YM/150 bZV/SrLL7XwRQ0hSkfm96vCy+XZAfSBPXWC4rvvblFii5Tv3wtPS2ZTpyadvDQbNvFP1 S+V1q5O8W1yaqntRHCxRDKRoST3qBWZULUzTuj5pIyQA0at00nEIZEeUho5KWMmQSCYG TfPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496843; x=1743101643; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JhoA9XaTmEGFO/43twqabJw5GWuyyTcgJpDDhp+La9k=; b=ewtlU9UmJxQ7v+yZ+PBMGPUh1bT88UgG18RYPROQpoyDc1RGydUV4EEY3PwLNb7Hh+ heLXin5eCPAr3dtJL6MnM+We5LRWjQCFvLOi8yqZ1U9Ady+0XfryQeTgXqg/1h+SgHmT JRTtWW0R4wxx3JbqlMZJWA6SOpSpptWwJX8weAQ9fGYAiIj4f0stBTRooIWigS+CMUdd sWXcdkeu2Osf3NrDta7iLgLEW8DVPUNGH9DYjuiXZtJk0g0L6NVxebR5R4q/7P4EvHMZ I5+sfUF1pU4KZ4XN7SIhb7UDHWukNOonHKmXsC5I4LUur0Id6obCuqRADOKD71JwecCl Ygkw== X-Forwarded-Encrypted: i=1; AJvYcCUFqOQP5sLtjpNdX6xWkkvN55XE+fGL/9uvRjiRfGMKe0am/ZQR8OQSDvpfQ1wImXJbfjEsjXCIg3+Wege3eA==@lists.freedesktop.org, AJvYcCUqZ3SkRDi6V2QJLSMocdWmU82jDZeRg0mzcaFkKZEq7Sv7Xb//MfjyXwuGYgVAb7XcbCwNfoHf@lists.freedesktop.org, AJvYcCVdjWmyye0QX9Wlb8zfxi8lxCjUF2YBjqGG57+ydYN+FdFOTNtlg2X0PvePrzOUwsqSHxs8BLW1RueKmNeejhXaeg==@lists.freedesktop.org, AJvYcCWeCfBO2tZUKm3Cwjzqu+IGzli6+9bPCSV7SkCkcrytreRXvhVAxo8L9uWvmyC9sZzM1LR/gEpYQDyg@lists.freedesktop.org, AJvYcCXurrkKaULH+R7or2RyUVwtNb7p8NM9Aan+W9C9GywtxCxDysyr+K+cxQ4eXNNQDqXeO9/x0df8WXrZ@lists.freedesktop.org X-Gm-Message-State: AOJu0YzO62mYYHcFQI7Ri8HD63Vln/Wra2y6bRbDFmr7+rs+k8T7WZvb 8+ejeYwiEhVJEdglAYZjIkwNDhnVTF3cfeM5ovi7Z7HfrNev1cETSYlXDg+J X-Gm-Gg: ASbGncvMFm7OVEslIarPL/xbEXlKdN3xZknciJiCqf87KaQ7f/ZktLnDjzGKT96iaXg twyK+JlTNbv4261U1eEDZ3iNsHYs1MSHK+ZgNbpCY93YmZA642XtSrh+EKkEUX2UbdQ0SF0gtQm qCEXlfBzxs9kciJay1felDXcNbhW1a853FdIoVfJzuMOVmHOCExuj/PHX0NbZv+yV4IPvDrgsMP WFc9+KnSj+b+gt2fN+bc+N/0kYjPc/vOGqjxJBlVrIvJEOAHtVhJVEp2SZ+FyuD9zenuyWYoCYx lqveIMM0XaHdcUrtiIp8wSYL4/HZlPKIWtwoVXh4Q6F98LMMSpUvbsKZmK0YBSJyPkLAQ5GQ1/6 S4Ech8ovYN5HJ X-Google-Smtp-Source: AGHT+IEgHOQE0JzedJrkXwHL1alAF/zpRzjzP5naMxSeByqgvmG3tMoR3XIdy0yOgUxGxTjx2CzHVg== X-Received: by 2002:a05:6602:4742:b0:85d:9a7a:8169 with SMTP id ca18e2360f4ac-85e2c904c6dmr48889039f.0.1742496843424; Thu, 20 Mar 2025 11:54:03 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:03 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 52/59] drm-dyndbg: add DRM_CLASSMAP_USE to vkms driver Date: Thu, 20 Mar 2025 12:52:30 -0600 Message-ID: <20250320185238.447458-53-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The vkms driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- drivers/gpu/drm/vkms/vkms_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c index e0409aba9349..4b9da64661fb 100644 --- a/drivers/gpu/drm/vkms/vkms_drv.c +++ b/drivers/gpu/drm/vkms/vkms_drv.c @@ -39,6 +39,8 @@ static struct vkms_config *default_config; +DRM_CLASSMAP_USE(drm_debug_classes); + static bool enable_cursor = true; module_param_named(enable_cursor, enable_cursor, bool, 0444); MODULE_PARM_DESC(enable_cursor, "Enable/Disable cursor support"); From patchwork Thu Mar 20 18:52:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027310 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 16D1EC3600C for ; Mon, 24 Mar 2025 13:25:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8199910E3D5; Mon, 24 Mar 2025 13:25:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZPwVCjCh"; dkim-atps=neutral Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5A9BD10E6A3; Thu, 20 Mar 2025 18:54:05 +0000 (UTC) Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-85de3e8d0adso13786539f.1; Thu, 20 Mar 2025 11:54:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496844; x=1743101644; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=phnE7T3rE82X9afYdUepg2ZaVnfZbBYGopazv1dsHzc=; b=ZPwVCjChXIGk0D2N8fGdhRP+UJd5ulgsrEUhQUo0cNQzsgdc+kzTLEeOZZ8KdVDIL6 qZjHypjE6gVXRgGWv3PTzHaTboeNd8lK/M+f+lWsXDamODolEC4bv1V42XFuO7vMwOzl nyVJ5rOltF1WEIRjG72QTOxRz7qyh0itBs4nJLpCcHMoF0+sgjQF52n4V9/PvgfZQbc/ LAqDfO4TktJUU8ymaCpbAg62xAvY5gGIG1/R81hbUQ9vhkZE0pQ9riGYaZOPSKj1NJ9e JMKNSIGR65fWlseVbVcnbot8EvJDExl42FFiLMHTyisQE4Lmbjr1y3cvT5nu0uayci7B e2FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496844; x=1743101644; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=phnE7T3rE82X9afYdUepg2ZaVnfZbBYGopazv1dsHzc=; b=f5ty9ommHMJmpSYcRpr6AKMwjHEg2kfzprGU+EWeIiUpfAAaAuVGzAxZh5xpsFZat4 T0dNsGOU4ogz7dPqskLMoN61h5uiGobRBPeOFnHLq0I7RTMF/+T/Y7PaxirzLz1KBGnW 3Ofn7DAcdoafxogu7QX50LFR6O4gOjGE4h28S5QJ0ykqglR8ccBbb01Fi5A4FlwNTC27 ZWteaSQ7newAFCysgzFkv9fZABsOUoq/M9VMDaGJZUYObBkvxkYf9ec3zJkTO7CyZ4kM lsyUw7gSqMudu1alwSiPJeGs14Rh8ygtT2oazyw1ec3xbwBXk39jY+exwBo2vY8YWp2c mweA== X-Forwarded-Encrypted: i=1; AJvYcCUZg0VM8dAAjebfP4uf2VqohknurUA1Id9n/vgHXrELxhE9PbTfmzF0xmTYYLsmDsEMbLO8kbbHNhif@lists.freedesktop.org, AJvYcCVDqpuD0zgFHYzVM+MJUMaZaYOcokXvtoo/aw3V8cZT0FOjJlp5/pJM5994M13ZlOwDGr9sRm6VZtU/r5RqCRcnDw==@lists.freedesktop.org, AJvYcCW6OoqQXjvcItZuPpiNmTmOv4uz6JUbw9F+2j1FxZtQxAUUi9AVOAouZlCZcRXOSQjLNVGk/Q5109GxLFmqZA==@lists.freedesktop.org, AJvYcCWdOI9oOg8BwVV3J5pCZsRHQq6ePkK7lnNqLwKX8Rnnagg81h0IFodAqiyXaIHh0CtFZNV9daxr7X2I@lists.freedesktop.org, AJvYcCWvtr8latIN9YIKzjnxar8wTxWFjTTPT1LFvJlT6/zXGz87aPLnLn+qW45keXyAhBdOtwQThruo@lists.freedesktop.org X-Gm-Message-State: AOJu0Yz24C7QFe1pzgFBo/1IgnOBgt0A++A6a7EboB4N8zhDZBNXx+T4 eb4ZwNUqKsEOwvC9Qgz9RZMuRhNsGnIjR4Uh0rsOkCuWTsiXL/iA X-Gm-Gg: ASbGncu6rFYEpReixpjS1p4kU2p/OQ85SqQ1bQXXxtn7WJ8kyQNK/DHq2eeBy/Yri5w l5+0w4GDR5j2U+3Tz9tJxhBizwacw7j2S+6QFLNQbqHP1tVgfM+o6jLCYs85xCKab5Ns3dtgCUv yDyfxBQrH2BYv9VwWcExDKVjjOytg+rKPrG2wY76AJjmb5ZM8CUqeEmGTPTqAmbvTGPT/PZChiV P2UDGBk5sabOjn5EycnxwCIpx5otOuJkZeW2eyVtWlbr0q9IJL/0geAr2toGW4RY+PUkf4vTDUE HK0Orq9GsQQoG5UaRDaJ5ZMqZTw2eaAduJsHHVi7ZClQuwB+5FabH/ce6ULTquaKQJlTn4t/dKY +bw== X-Google-Smtp-Source: AGHT+IEquWBiK+hoBl688ui0TzT9uiALVStKwkK7VjOSDZDveERfz+JuO98cZxCxxin9hgntP4lKOw== X-Received: by 2002:a05:6602:4013:b0:85b:3827:ed06 with SMTP id ca18e2360f4ac-85e2ca33995mr46254839f.4.1742496844632; Thu, 20 Mar 2025 11:54:04 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:04 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 53/59] drm-dyndbg: add DRM_CLASSMAP_USE to udl driver Date: Thu, 20 Mar 2025 12:52:31 -0600 Message-ID: <20250320185238.447458-54-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The udl driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/udl/udl_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c index 3ebe2ce55dfd..ba57c14454e5 100644 --- a/drivers/gpu/drm/udl/udl_main.c +++ b/drivers/gpu/drm/udl/udl_main.c @@ -19,6 +19,8 @@ #define NR_USB_REQUEST_CHANNEL 0x12 +DRM_CLASSMAP_USE(drm_debug_classes); + #define MAX_TRANSFER (PAGE_SIZE*16 - BULK_SIZE) #define WRITES_IN_FLIGHT (20) #define MAX_VENDOR_DESCRIPTOR_SIZE 256 From patchwork Thu Mar 20 18:52:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027275 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 76CC9C36011 for ; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F3C2C10E354; Mon, 24 Mar 2025 13:24:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="KZpUzE0l"; dkim-atps=neutral Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id A663F10E6CE; Thu, 20 Mar 2025 18:54:06 +0000 (UTC) Received: by mail-io1-f48.google.com with SMTP id ca18e2360f4ac-85b3f92c8dfso39676639f.2; Thu, 20 Mar 2025 11:54:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496846; x=1743101646; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=av5O5WnsuBn1uC/IGfMHk77btJQzrlTi1UNrBIeIfGA=; b=KZpUzE0lMQv/RieFNbcVBZBZmdOlbzNiZKrHop92MEFMXGphzZ4126B28soFs0BCHt hALNImB+dBu17LWoAs7WfZjCOB2rbCLefjJOULOGwtbEaYHQJf4Q0h8iVPxni+4Z3Ue5 I36+QJcRM+hMoHF2HIprUpNZQ0QT9UMltB8Fkih7WVx0iKEqeP/OPfXArg+ZpRD7Yekw LgSgaF4slsaC1GAkinXbdTzWYve2kCWpy1+Pyp14TZG46efy6+HrFVSKip+cqVZiedy6 vFZi+SHloF1g+/99jHhT/Lzafipe3vuzmoPt0fhsjaWP8zr4+k5aW8QUbJFbIDh9Tvim ueag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496846; x=1743101646; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=av5O5WnsuBn1uC/IGfMHk77btJQzrlTi1UNrBIeIfGA=; b=A/NsHolsoOjaraOgMjk3bJ8wRhbkQlDtUYGKOhRNzDZVgU8lz9J2q+qzbcdeO/SVVV aHRPepnNe9IHhFdFheCaYadQnmoYxX4BQ4AajYNQq9D3cd0s2T1B3qnQ59L1btTk57qG feCbBBqms9FR7oSfIxaraf6wg87ammgtw5Pri0UIAZNkTnN4Z8DNH6aPFaN+Y3nbPdbT LR0qhedVZoQLV6uBjGbron6O7KPGPztXrrmtF9BYDbCA2mFYsJMXZ7mFnJcNV17zSqn0 +8kx+AVQ20JmDtQ//cSw1HpbE4fu+Rvoizn+sc3o6/X7bePZn8N2Ueh0hC6BrmArKBY2 pZlg== X-Forwarded-Encrypted: i=1; AJvYcCWGX41+2jNt9UU2AUN5NvPDO+RQGYfIYdWKSiyBQWYVr5tBcKJxA2I6NvRy+M+vWG4nqPvnZyxahkvA@lists.freedesktop.org, AJvYcCWQ3M0soypKfYGcGxBr5gHQFDt06OXArRXJ8s0yHquYWFdRh150nBN/uGuAknpGJj8oOuczmVV2aWOE@lists.freedesktop.org, AJvYcCWkozVO740DA8UMeXNVI3qK/FMoP6J60ePt0qqRO634O0Q10XnLjrzW5DqD/Aulzk/3hoRyKKaR@lists.freedesktop.org, AJvYcCXGI+3GsrQbunYOcUHIdNYSFCd7ZORoiN2218vJ20zOFzVBVSerVLl5ttRXMgsuvGxzD0H2uFfcU/TM5P1okA==@lists.freedesktop.org, AJvYcCXfxW+X4U11LDny/X8rkKwXMNMAue4WX6K3LQPzRN43Xh+UuCfOoP1cJQBzLXWefies268amQGgab1NmKDLbHz/Dw==@lists.freedesktop.org X-Gm-Message-State: AOJu0YzbYWoGIo9nm8z+7F8P2X3ecReYogizsD67c8WTW3bsvB2X9AWS Wo7hPUKKCAfj5ySZ20RXlbPO7NQWO9XlNXvMSLKDuhwLM7lkWU2s X-Gm-Gg: ASbGncvtiXetlp6LPdmi1+Ap/DsaG2LNUr71KrsGKTApmFLhyVjCRupBt7cbWbncIoX 2leRL98mxAdnBLZTdiRk9vYEwqV3CdBZB4a//XrtbV8TBsckYDTTqN0gwQ9sljyyhHw3+W6E7F1 5dc3diJ0PduHCTM5dyXmDJw92093tcb5LyDFKcuRgzqi7tbRb7dvoRkheLXJt3rpBo0RviXJsQM x+6/bHiVX6C1A1tUD+zryiXF/8G0kK6e+JcWk1XCiL/jEXWlAhO53h5y1yudtJod65RtSrjVDle OW15NCclQuOvbaeRkq763m91iJQ7s6hOWGoaLy8rKWHUv8Q6QAb2Ox4IvoU6qtbwuti5jDh32DN ESA== X-Google-Smtp-Source: AGHT+IFrm0izbW5klOGAefVwIfXwq8vA34rc+9wleGItV26sAOFToBmsSmKm8djU5+LnJkwqDnPVZw== X-Received: by 2002:a05:6602:380f:b0:85d:9e5d:efa9 with SMTP id ca18e2360f4ac-85e2cb423f8mr36109539f.10.1742496845798; Thu, 20 Mar 2025 11:54:05 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:05 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 54/59] drm-dyndbg: add DRM_CLASSMAP_USE to mgag200 driver Date: Thu, 20 Mar 2025 12:52:32 -0600 Message-ID: <20250320185238.447458-55-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The mgag200 driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/mgag200/mgag200_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 069fdd2dc8f6..5b6ec1550da3 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -27,6 +27,8 @@ static int mgag200_modeset = -1; MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); module_param_named(modeset, mgag200_modeset, int, 0400); +DRM_CLASSMAP_USE(drm_debug_classes); + int mgag200_init_pci_options(struct pci_dev *pdev, u32 option, u32 option2) { struct device *dev = &pdev->dev; From patchwork Thu Mar 20 18:52:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027295 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 E21E9C3600E for ; Mon, 24 Mar 2025 13:24:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9250310E3BB; Mon, 24 Mar 2025 13:24:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="R/T5O/Hp"; dkim-atps=neutral Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) by gabe.freedesktop.org (Postfix) with ESMTPS id A9F9F10E6C6; Thu, 20 Mar 2025 18:54:07 +0000 (UTC) Received: by mail-io1-f49.google.com with SMTP id ca18e2360f4ac-85b38fb692fso2300339f.2; Thu, 20 Mar 2025 11:54:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496847; x=1743101647; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/NT2KOV5clgY+fvBVb0kMabH8vqyg2O7PfGhDz8vOzc=; b=R/T5O/Hpxo6kLkT3CoShBzQsCvGEMBYfW5upYEUjxlmK6STdfvgDcq3Sbnl65XQFir GJWTmDU5x4qbMFusP4lXIQ28BqBUNOf2P5oGqNE6P4w1qFVGZD2GHXLmEkCbaAQkI7ge sQakXiIQy9nxwTRdUNJ5vFGshjJeA1w87d+vTvYL0bwx2+dXjyslNtTIp9mYmudrbuNj Rvf1RatD/44Rr7DIf7G7Z4RLkn4JR8NCdwdNkmOfd5af8vx/77EVUXkDgDdHpM961vEQ 3lB4sPe8xA2Mdi99KNkRNYTX+H1Do9fbh1UqAjl9H3kuFGTRix5msGZ7MHGjvo/TIhj5 RwNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496847; x=1743101647; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/NT2KOV5clgY+fvBVb0kMabH8vqyg2O7PfGhDz8vOzc=; b=Z3gwJwQVdRBb6iIRxa1b9rRA3xttfSywHL261hopwmvuPcaKHrRVkY+C5XNj2I8ZzE 5ha7uHnceBsgPe52Ys+VP6/UOo+NYVUOvQLqkB3siht7jHj5FbwTiL5MaSsWa3FgXtKy zy10izEoDq8gUWpviUkPr2H2MbqURjJ8aprlteZMjS2UcUpYdX5DdN1/6Eu300MxuY6T BZ00qr46Cy9N9m8tCfoxJ6ilb1KVlaKW3HGF8rvx60FhN4kPHnURtzGMEG7Q0US6r7oM 9dBg13wX6/+IQVEGX9Bsd81qyaGO/P1pprWSvp6FxLIpSI+XwRYfmhkZ3RBDRXfP8eRE hEbg== X-Forwarded-Encrypted: i=1; AJvYcCU0WUOLTJu+e2OsHCGlpyFrGuyt9QiBWy4vBdv7ZT5Y6erlUcFp9jisXiqEkjspaBsCf6Oe5629QzH3yn6LOg==@lists.freedesktop.org, AJvYcCUCIxS2mQVosfnevBdcWFTzG6m6ZNNIMh1apSwcvymhsNBu4BApagtm2vUe3bntGLkrGkKVo9b7crll@lists.freedesktop.org, AJvYcCWI61Ov1nTwDAr3ydFaoGDJx1/sf7oOJzsKa97T1FIVoGHrhzOMh2HAUwElETttZzRdENoOx8h6vdvN@lists.freedesktop.org, AJvYcCXXs6Ca00LekR8OtQyL/ctlo/JbaOCQ+NF7qs4tIDvWGzXHKkYDT4PTEuG95SC1gcve6ShFT3h/3Nd+EYRbtNDuLw==@lists.freedesktop.org, AJvYcCXY7InOr5hpLa6GhPrtniUslQJ5pKGMEIzf8UW4LFgwoFyDo1muUQg5PgEarGh9fOSqC93NiGUa@lists.freedesktop.org X-Gm-Message-State: AOJu0Yyq2+1OO2Fmzbia6B3A5DdgXw6Z7xer4Tk2S2/voTSgQdM4TeV2 I4IHdlYl7pdrtItvpXHP1EZr0sbuZAKAAKE6E4Rb+G9hI5B+KF54 X-Gm-Gg: ASbGncveutL3IEOEDzWOPQaQnPl+sMncom4s7MbgYW+v3eL3ZDkm74lVoANwKrGB4J0 DbiSfTviD2+Eud8/XrLG9EDZD4VGjGPwVaXl3JQfTP3gtBtqfypIKhkq4mNPOG1S1V6GEAGYfy0 lps2DUhjdTWHF9VRi7EPuY8/T9leNvujD1yMz2qOuyGgBymMhkTB3dylH6j7DVqGrniwFCafzTH p40u45KUbuq26e9YcYeCzAs+OC19MkYVYZ7Leav4U9iUyO9h+gKQVq4xDBkXw5P82ND4owcV/HU TZeh/oG5uiMEjkcwJ5CBv5QP5QCS55E7IXp0PRoReGzT8fRL0/rihBr+9JptJJZQu5wOVHvCOA0 b0xOW/HGgs7Tk X-Google-Smtp-Source: AGHT+IEOoWWyXvNdTlGTPuLwOnrnKkh3QWCuBEv1RJzjp71NeU4mRZKpFk54KaxFPetJO0ADitvIXw== X-Received: by 2002:a05:6602:360b:b0:85b:538e:1fad with SMTP id ca18e2360f4ac-85e2ca335ffmr49889339f.6.1742496846919; Thu, 20 Mar 2025 11:54:06 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:06 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 55/59] drm-dyndbg: add DRM_CLASSMAP_USE to the gud driver Date: Thu, 20 Mar 2025 12:52:33 -0600 Message-ID: <20250320185238.447458-56-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The gud driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/gud/gud_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/gud/gud_drv.c b/drivers/gpu/drm/gud/gud_drv.c index cb405771d6e2..3843c0e47169 100644 --- a/drivers/gpu/drm/gud/gud_drv.c +++ b/drivers/gpu/drm/gud/gud_drv.c @@ -32,6 +32,8 @@ #include "gud_internal.h" +DRM_CLASSMAP_USE(drm_debug_classes); + /* Only used internally */ static const struct drm_format_info gud_drm_format_r1 = { .format = GUD_DRM_FORMAT_R1, From patchwork Thu Mar 20 18:52:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027300 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 38BD5C36014 for ; Mon, 24 Mar 2025 13:24:45 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AD0C710E3CA; Mon, 24 Mar 2025 13:24:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hMQp15MW"; dkim-atps=neutral Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id EE44110E69B; Thu, 20 Mar 2025 18:54:08 +0000 (UTC) Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85da5a36679so109018239f.3; Thu, 20 Mar 2025 11:54:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496848; x=1743101648; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=v1ua5S//H69kDLjZ/ereYDRSGWaurp/ZUyrfcdHp8ig=; b=hMQp15MWDc0C+Z/KJyoec17muSo2vRRoP/7duKyIXP9jQMR3AUHAIVtRkAZIMTUh8F qeNOU5g6adovIwOGGTE3hKFz+f3yA7EVLBCQqM1HC2qWoAyD15mdiXVKNxl/mZvhJYC6 q1FE+VK4CFQP1kfpycav/a+/HnBCUkFZWQvFn4gHPV1c36dHYRk5pWhYndAEh0KWd0Iv H2KQFr7kXCQ/69+rKnyp/W2nlvDoVt+bM5xnpg295wr4veLAeSDtT9x7vfS4haijbIT/ agPcK8/uo0WymJGN4u83AdVg0weZVA+WB9hZNvbakofPfuGKTnurBBpkrB43gTMMTJkR dVyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496848; x=1743101648; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v1ua5S//H69kDLjZ/ereYDRSGWaurp/ZUyrfcdHp8ig=; b=OG9dxVvLi/isRIZJPDdqL/qWFkx3/XEMd0j2flX2iPkI7oU9rZGnR/7sF5a7fr2u8J 4yaNsUoM7GEgKbwTez6UZpJWCT+w1MeOAM6wCJeJRF8KG7pSkIAkrHTpy3Ik8TUNRY/8 BbLFwiT7WzeeUb3u+amOH/H9R3rPJhE3quoZPvfZ2unp6HkIGUUHxgNBoan86C0/AoRH ljvyxMmV2pqOjx9w4i4OH1Mz+Nmy8JbT6wlW2GU1lrgLS8tt/44MMAg8BtkjmVkeEvkT a76quDcDZdGeAzi0vMD8MZ9KC1f5XgtS9+3T5LNvLPkLeYy8zC6wiPgpIZ3G7zij1kMB cINg== X-Forwarded-Encrypted: i=1; AJvYcCVqsr6OAg54fBdb2RTSDnIn/nhv3gHHcwduYS+UWXLiKh5JB/c5eafqKjfwuy6cEdVsnWi1JXrH@lists.freedesktop.org, AJvYcCX/XT8YiPUhVfnRSw9pusDMeUMc3LWS4ZD6vmVpA460WSh+0a7oBQKKUcpLF8f/rXajS1hoCXsbxD3O@lists.freedesktop.org, AJvYcCXWJh3Ewv9iqk2eiBgK1vvAUn+vBM3zkQKzjQCrgdDG4MM8tWhUb0DVNe46+PL8eAgDLz1k4GVCv7JWXhIgew==@lists.freedesktop.org, AJvYcCXb7nPKcfMkfD7R95/yPF/QL0z2IFbJ9MYggzxucvIDS7JJTfUvAtySAXooXzXXKikbgJBKtEHJuylNTq0/+G0qSg==@lists.freedesktop.org, AJvYcCXpo0cOC3in46V2OoxD9TYAYT1w1gViXA3f8UZh84BCL5t0JuXeL1NyxMJA3zeZGa8QlSWLjZLS/B4U@lists.freedesktop.org X-Gm-Message-State: AOJu0YzQq2VggP8s0NYVkkXLU5Trqf6s/rPsayRxilX14EEfR78HS91W 206clV5MRDrJnC1ldcT+BWNhT+U0TyAkzzJN0hkAV6rSCf/h8wQ3 X-Gm-Gg: ASbGncteNXTqvWaAXhnMZrBy53x9lIex1bAMQL0Erv+KD9V7GXZaXPlQUc+JbO4a7VK 8LUfvfPoKSVc9krLqQfYbnI2K7lpy0wn+oO9mYGIbMAcXXejAxMgiO1KS8/s47x61ULbT3IgC8/ f9K38BLwAxe/ybDgfEz1a4sXfqWPuUQkZslmIFAdb0JYe8TKjusLqWcIjckFbjYSBm1P07BoyGO sihyVJLOmnOS4bGeUIVO49GSXY41HZ/jLDCgJSlCEC00LotwF73WDr3uh8zrC7vtnKXT74YrNZs qnovIVl3FfQtSXed8hg7Wnpr8+d7BpPWAz0zdKAV10UWRlvvOBgEIHWU18BlrN+sSPPRaC+Jo4F x2g== X-Google-Smtp-Source: AGHT+IF1BVm3oe17yrUphtZQXL8NOfypQ6M9iJgJRk9AIUUygDykxaFcqniPfeAk5RCxls2FZZiEnQ== X-Received: by 2002:a05:6602:3997:b0:85a:ec03:b124 with SMTP id ca18e2360f4ac-85e2ca64293mr50159939f.4.1742496848117; Thu, 20 Mar 2025 11:54:08 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:07 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 56/59] drm-dyndbg: add DRM_CLASSMAP_USE to the qxl driver Date: Thu, 20 Mar 2025 12:52:34 -0600 Message-ID: <20250320185238.447458-57-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The qxl driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/qxl/qxl_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index 417061ae59eb..c18577a3153d 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.c +++ b/drivers/gpu/drm/qxl/qxl_drv.c @@ -66,6 +66,8 @@ module_param_named(modeset, qxl_modeset, int, 0400); MODULE_PARM_DESC(num_heads, "Number of virtual crtcs to expose (default 4)"); module_param_named(num_heads, qxl_num_crtc, int, 0400); +DRM_CLASSMAP_USE(drm_debug_classes); + static struct drm_driver qxl_driver; static struct pci_driver qxl_pci_driver; From patchwork Thu Mar 20 18:52:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027308 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 572DBC36005 for ; Mon, 24 Mar 2025 13:24:49 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4AB2B10E3C7; Mon, 24 Mar 2025 13:24:37 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FFMp1xqj"; dkim-atps=neutral Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2833710E6D1; Thu, 20 Mar 2025 18:54:10 +0000 (UTC) Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-85b4170f1f5so31715739f.3; Thu, 20 Mar 2025 11:54:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496849; x=1743101649; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=riXSD1tORrHtkttiQwAlqFF38I5b7O133kwF8VYREw8=; b=FFMp1xqjgEXoSse4NMtw226TiXaYam48oHv87a+LrLugU2jDm5Cv+Ph470xI95q/Q4 UTfZoqdrMfpawKMHGcS2EHN+gddORBGgUsg/X854XsmauMUJo+1pVA3emEHBWMLbyWBq BnUK1Jb6p5COQteYAxnLCoMC9aVhstc35gAPOvVmGDoxIleuJK+4F1V4eecUmWmq59OD /NKj9ytuHZMySPEjRXCIvXmOu4MEGHfhjXUAMQxBgVNNhjIo9pZrrrp8dw37NK+mWHI6 tJECK59QQ309niN9cnON1qyNsu4PfDcZhFsJjdZb+YHvsWAys6/VB/z3OUlJYvKyTuUG nxog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496849; x=1743101649; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=riXSD1tORrHtkttiQwAlqFF38I5b7O133kwF8VYREw8=; b=cCtrGpc1eorCfxTPPjGts0SYMQYJcUB1DNZ0gtucB/xLklASt3TV0kTkpm4oLG7S68 CiecZ0ICORlAATtOP/dAKGl2FbTsrGyBx9e7itrKpuL3a2SWaQYcYfNdE2/Mpms57FoI +giiFZC4DFpLgCx6Zc/J1p8iK2pPPBO3JZp+d4NCTN08XWBLp9WXnW9K655Te8pcEEDG jpwCBjS1l9HsvY3HVAFizwEcDpct4lJ1aD6C+az4+Ytznr66AvKDZdnrDVjrDZBnOpT8 6PhbDyqW7xgoElP8onswNVPF2GieMHNdXx8HV7NpEJKtn6OcHWVlfGBLL+oywdfYTqkr qgnw== X-Forwarded-Encrypted: i=1; AJvYcCU/vGyoy8zDc8uRl7Xn9Llj/IhQfEbvFt5KymweXrFmbvoJXUT64lkWrissmzREGxfzGETFwwLJus1z4f/Rag==@lists.freedesktop.org, AJvYcCUiHX6Gu6diVVP0Q3uM1vgD1o41oeoDS3YWZN+3HlZnq/c1cLfYkpOUBkjr3zifDcwDHbK0KZAuNkFDHNu5kE9P4Q==@lists.freedesktop.org, AJvYcCVjxRYQSUW/z0+0Nv0XPq7aiVrPybZ/rp1T0KYbbAd3X80hz7a/6bDakSmwo60k3v9yN6yhp8n77BBh@lists.freedesktop.org, AJvYcCWrUIB/8cbBjQLL9eXyIwllXKZwumdgs3Dp28dkzcYkk+70J02/siwKJUrOil/XjBDwilzJ6rLmozQK@lists.freedesktop.org, AJvYcCXXMUNqmQBg3x0XHt8ONNqjCoSN6J+a2CRle8QV/y/dISDO2CDjRHwnBy5Q4C8ucGdwXCk6Vtn1@lists.freedesktop.org X-Gm-Message-State: AOJu0YwKcO52mk3K85P8Ax3IRWMhwD1tjTsgRvEpsW8ZFyFzIkuw6f2A 2pNprUv3Izz4B9KNQIvfjOs8QR4qxfoUTJ6qwntf5rXScjgVFVOo X-Gm-Gg: ASbGncuxdXlwHi+lbfJRgxL6z2ocKHxZlQ3aYtyyHAv1wptdD7mvfWDYesvowaVUcU2 Ve1TR4GWl05GQmWK+IebUPCQWSe1tzYA/zkx8oxiSvk5asvtWkBNw293JWyHqXAlOEHPM5/1Y0T ClfDNL4Iu4NN80DwQTB/P8/VL4ooEESybsiWIDXvZ3fprmHclGyUh6l6cr025rPew9q+uHsGzx2 3CcavYBQxM2cQYPqVZhWIGXr1ZMHHUDo4/A9hIYaxQ1BpQDKTKCSNUQL9o1i5OaSDPNkdqINyYd 4ZaD3pPzeer8Vfup2/lSzfempvxxX+gWigd/H+yKeI5AFocpBx2xOBhghc/8EpRlwvCCyUtl3Mh wOA== X-Google-Smtp-Source: AGHT+IF1oSBpmraBX8zPImUtfNnxyTPneTMK46EMc6j1uPXohNjQQHHeHYBBNbkda865fA0ElyE4Lg== X-Received: by 2002:a05:6602:4145:b0:85b:37eb:f466 with SMTP id ca18e2360f4ac-85e2ca19f85mr41137739f.1.1742496849336; Thu, 20 Mar 2025 11:54:09 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:08 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 57/59] drm-dyndbg: add DRM_CLASSMAP_USE to the drm_gem_shmem_helper driver Date: Thu, 20 Mar 2025 12:52:35 -0600 Message-ID: <20250320185238.447458-58-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The drm_gem_shmem_helper driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/drm_gem_shmem_helper.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c b/drivers/gpu/drm/drm_gem_shmem_helper.c index 5ab351409312..481d18561688 100644 --- a/drivers/gpu/drm/drm_gem_shmem_helper.c +++ b/drivers/gpu/drm/drm_gem_shmem_helper.c @@ -23,6 +23,7 @@ #include MODULE_IMPORT_NS("DMA_BUF"); +DRM_CLASSMAP_USE(drm_debug_classes); /** * DOC: overview From patchwork Thu Mar 20 18:52:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027301 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 7A1D7C3600C for ; Mon, 24 Mar 2025 13:24:45 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7D7F410E3C0; Mon, 24 Mar 2025 13:24:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="fB2t99iO"; dkim-atps=neutral Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1DC3310E6E0; Thu, 20 Mar 2025 18:54:11 +0000 (UTC) Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-85e15dc801aso94097439f.2; Thu, 20 Mar 2025 11:54:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496850; x=1743101650; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/+QMYU6kMnFOETa/gyjW3XwbPIpROUU0JSPdCI4eHHw=; b=fB2t99iOcg/gEaCKwgNO22kmcxuHtBFT0BbUstgXz1vB3V+z/F+/2uMrgcdHy5TqSO D5Il1z9vpWZvgPiXIFYuQbdhpW+s0LB+/CsqsnuvfhaAN1Rx05jD6UggJ8YfM617WBtx fZTVx/NWkvuy/5yuZephtpFAhTewWJ9auudhUFloMpzPmyaCGSJZ/D0lYdn7geQ3WGhd AbdrXMQD7ZgbnAx+fFrKhmihlVq6JEZDFwUDUzknFamHFTp2Dci+GySjt31Nd3Ygy2jq q5yPYw6qmwsZJvJWRHXlM3HnoZunn0OzmIUmC0b7eFrRK5B6lvQa7x5tXwv0HkikepD2 LSDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496850; x=1743101650; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/+QMYU6kMnFOETa/gyjW3XwbPIpROUU0JSPdCI4eHHw=; b=WiFJQKWzUVjd0hhe4/s/BV9uuQlH6y6gjfbMPq4NQpAdOB7q8aP/slMgXsHvVPKdTp cC/BQAY1UvPEiFyD7q1KfIkuMiENkRr8XmIrCTftBb8dNOJll0cIefNmALlpDQGCnXw+ 48sqN04FjTK01mR8Jt9fP7uWeSVLjXhjY8Q4J6hS2WZ3w6Ny36TDRPNfA4GMZODvbiW6 YHP0WkxXaKaFSMq2cg66dvuugmxHhm+bGL6bqtLOWMprcAe3yRqJSIi42KS1y7VgY8qy BPW60aI0YP1NPsCmrt6dY85ipgRMp4xUo6irimJ4ejsBr0mynaYOj0Mzu8YQmauPw6BL 81fQ== X-Forwarded-Encrypted: i=1; AJvYcCUJtnjJuvmRkLGQGNytIXG2U8XelrxFCwoc11W6B9WzT8sSXmwaVkqHqddoKhn34NwzoErD08WVqsk/@lists.freedesktop.org, AJvYcCUxbmi1nnAsngo88lqFDhA5yxwah81wvaRBqsSzv+TrcyYfd0AEYacc+lhboB7/KjfdMOcVT67qUzMq@lists.freedesktop.org, AJvYcCX/SwdHpKP53f/xdXjyS3f58WcPxGIyfiTS/GmsAh/JHmfRsnPEwgOPuaX8pOn0RaQHsEHA/sho@lists.freedesktop.org, AJvYcCXT5+gJg4vqHIAwmMnu2Zp+t3pXUMxqtG+mACwon7oruNw1PWjslSfOouedIBmYid9iT19BbQ1sRMtcmFNXoA==@lists.freedesktop.org, AJvYcCXn2UjazX7Wy+7f2h6WCMN1wymAK1iRejg4x8Usm3is4Zi7975PEbC/OJsK7HezWzY316Ir5SQo+RSL+pRccgHOTA==@lists.freedesktop.org X-Gm-Message-State: AOJu0YyPuh3SubQVY0NJPyZ13xkXkdSfDmTXsb1K1DsrVnxGtKACR/0j 2tUFWpZ3SvaDmpjYLsicFU4o9b2FTI+TNGa1VZwGVU6OmNQSwNah X-Gm-Gg: ASbGncv6tSdgKGW8lpfmGLuu0EYp+VLjHqo7M8KFltxh4ZXIGpHkGF3Ntmv5KKxJ2l5 4RPw8eDJJpz1qObEECBujQR/Cqw7WaE3nFdfl4gf8BvCofxsu7vEzx+mL6Lcd5RQPBaBybGSqPz pf86a/dQWRnQfQ2gscV28xz71fMf8f1JPf+J8tJs96AqnkCFmaEsKVfUsqLOjP/BkPPo8X9yDZI VrAvDnY2aJEBH5lhScB5rDTpEcNLVESJH2QyK3wdyPd52TWNRRF0xy9SU8G8hG3DjXD9uwxAxqm Chjza2rYkNwc0g/GY3G/KXEMrnOBgocJ7FNzsgDISMN10CJ2ZtaaX70gf/Nh76se2D9xaPhE6PX KM80grfRs7nH8 X-Google-Smtp-Source: AGHT+IFM14DB5b0+Yb3xk+iy8bUVQ6+k06Y9+AI7/qq96L95YVo4adquNQGvMAtgqIcPJKOtb0c8DA== X-Received: by 2002:a05:6602:408e:b0:85b:4170:e1a1 with SMTP id ca18e2360f4ac-85e2cc7c771mr36727539f.13.1742496850400; Thu, 20 Mar 2025 11:54:10 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:09 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 58/59] drm: restore CONFIG_DRM_USE_DYNAMIC_DEBUG un-BROKEN Date: Thu, 20 Mar 2025 12:52:36 -0600 Message-ID: <20250320185238.447458-59-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Time for some thorough CI. Also, the previous 18 patches could perhaps be replaced by a single invocation of DYNDBG_CLASSMAP_USE, from a C-file linked into all drm drivers & helpers. I didn't find such a file, nor a drm-client linkage item in the Makefile. Signed-off-by: Jim Cromie --- drivers/gpu/drm/Kconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index fbef3f471bd0..c7d6adbe17eb 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -53,8 +53,7 @@ config DRM_DEBUG_MM config DRM_USE_DYNAMIC_DEBUG bool "use dynamic debug to implement drm.debug" - default n - depends on BROKEN + default y depends on DRM depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE depends on JUMP_LABEL From patchwork Thu Mar 20 18:52:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 14027278 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 902D5C36012 for ; Mon, 24 Mar 2025 13:24:35 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 62A0A10E35A; Mon, 24 Mar 2025 13:24:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NktylMKP"; dkim-atps=neutral Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3F88110E6D9; Thu, 20 Mar 2025 18:54:12 +0000 (UTC) Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-85e15dc8035so24817539f.0; Thu, 20 Mar 2025 11:54:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496851; x=1743101651; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dmamZMwYgFpi0j7+3VuOLzPrfkXXmhZ2avEG64/SS20=; b=NktylMKPZ+OSh6I1NaHwBaKwrVoH2nwx7GIZL7dHRlsGUKGvIHStAkJu74cre7Qy01 rzQHWYcTpYOf7qe1ZGMZauBF7GXM42zWQ9xEJtqxSgKks9FqoVrirkiloaajeOaJDm87 yFv5GJT/1KFr0xHXdqMBYs++M28XRu3jl0lY3j9A/23yjgI1FndJoaabm2J40PgwAjfW nJvYikUVsbwRO6Ggeo/oBqMmh3KBTML3Sg0C/Z1gTDLv43nc05lipgG7ul+DjN/oIP+q SkTtL/L5qBYncVtpRXVIvDwjiTfM8qDIvk7YW8/jRJRgNI2PmCRKg1nb+rgDw5IS6syr bPkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742496851; x=1743101651; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dmamZMwYgFpi0j7+3VuOLzPrfkXXmhZ2avEG64/SS20=; b=pMVv2upwBQRLp4GDb6OuYhYz/u4/7FhSIswjTkogX9k3CqhG6r4EjM+5Xz41ID5++w dqI/+jVq8Aru2A+/t0sHDT4UFgaTnC0a9FJ/EJPHQoLaOrPVTwXwDklVelZghFLMFLLy t8jWU9LIfjhGnzFaCVSr/GdbUHDJOazaVe82zcnQgmmOwqtdwiZgJCyL4ZZm94lL0odc j64EIYO17enXt6sPRq6m79SMd1Y2YLMklZb0O7RTxxBcr7m3iaNNqkudDPZWPW1+ZB30 q99g5+C4LhJLL17rbpX3psJaI5NGekg7Rlgk4p8vkQRo8wycgoK4NOo0itiiNqhGmTOY WZ1Q== X-Forwarded-Encrypted: i=1; AJvYcCUdK4PVEWC+U4jlQciy2pNuzH4LdNpaQRuY5XOguDmfyzIsJ8idid1U+kGMRH05wrVpzzaevHz+@lists.freedesktop.org, AJvYcCVwNacdtzT2yCdfSEBp/Ge+oM5vtmTJY6lAl4U+7Oiwt9aaukxP0n8k3iTh+hX6xZGQpZSgyYduy+A1yn4I/g==@lists.freedesktop.org, AJvYcCWG8fu+S7Fz+i9+V2XeEC4lbSvh6SOt/YSpWZURRdT7NelNNZRsQVRUIV+R6wmuda1uO9LMUEdOuEgY@lists.freedesktop.org, AJvYcCX20xZfXU9NhwUDXdQb4Bg6u59q/JAiyLw4FLUtn+NnyFekFOSGfEUwaaJAQDhEo0c6DWJBt48fmWtW@lists.freedesktop.org, AJvYcCXU/PKcpwCupfPjifcbEI3qZdU4IcL7ozY03YMXrRq7GUeQrSMbFm2NRmWhHh0ncWgU982VMR2fPepJyMsYI8jfiw==@lists.freedesktop.org X-Gm-Message-State: AOJu0YzwObBnECZHpw3BIUPmlRCHfCGfA7/fR7Cvzln3lnDIidcJ1fN1 g1bz/TRhtDuZeT8LaQVaJxdE5p5st8lgzKpM3o1K0rJwOqzecMLx X-Gm-Gg: ASbGncuY0FjBqFUYn5t3xDPbYQTMFkz9kkIdt4a2kKt4tYw0WKf5lTpkdszZcX9Rg1z INziCtcPniVXfCZqybYnIZk0KWzyzKReTsw98/8ySmyBou0jlIHYvlInC1RAhHjD/SiAk89VpXu w1NA7cIUKuwQpTHTiF/IwCY6xu9Pw8RqivohfYOpmnX6yOjGU5WVLU2vU8OLus30a8C7tLv7/63 nSaJVmyrJQUr3u/JaOT5YiUuYzPLZiGtL7l8JIwZ/xGSD++NZMZeylpgvOMDQtqE0iooHXHUH4y ryOWc3VSbLLDm+d9WeFTSU+DdMyMXd0mSOMnR7IgxPoDJyCYgPLXImJMzxqFATa5TpAPkioXjp9 Jjw== X-Google-Smtp-Source: AGHT+IEyrbzWzNkR3QwCwlCn6oXouTTauTHLnXeGSIezaRONhT+4uCAGUm+vEaKPMsebN3xP2W4/iw== X-Received: by 2002:a05:6602:380a:b0:85b:4185:1f91 with SMTP id ca18e2360f4ac-85e2c8f7201mr53612539f.0.1742496851514; Thu, 20 Mar 2025 11:54:11 -0700 (PDT) Received: from gandalf.. (c-67-165-245-5.hsd1.co.comcast.net. [67.165.245.5]) by smtp.googlemail.com with ESMTPSA id ca18e2360f4ac-85e2bc273e7sm7078039f.17.2025.03.20.11.54.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 11:54:11 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: jbaron@akamai.com, gregkh@linuxfoundation.org, ukaszb@chromium.org, louis.chauvet@bootlin.com, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com, Jim Cromie Subject: [PATCH v2 59/59] drm: RFC - make drm_dyndbg_user.o for drm-*_helpers, drivers Date: Thu, 20 Mar 2025 12:52:37 -0600 Message-ID: <20250320185238.447458-60-jim.cromie@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320185238.447458-1-jim.cromie@gmail.com> References: <20250320185238.447458-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 24 Mar 2025 13:24:21 +0000 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Add new drm_dyndbg_user.c with a single call to DYNDBG_CLASSMAP_USE(drm_debug_classes). This creates a _class_user record (and a linkage dependency). If a driver adds this object to its Makefile target, it gets the record, which authorizes dyndbg to enable the module's class'd pr_debugs, such as DRMs _dbg() macros. So Id like to automatically inject this object into drivers. I tried subdir-objs-y, but thats not a thing. In drm/Makefile: Add object dependency to drm_*_helper-y targets: $targ-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += drm_dyndbg_user.o Attempt a foreach: to add $driver-y += ../drm_dyndbg_user.o this appears to be a train-wreck for impl reasons, but it describes a want/need reasonably well. It might not be a good maintainble idea. Explicitly adding to radeon/Makefile worked: $radeon-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += ../drm_dyndbg_user.o But doing this is just as per-module as just adding the _USE() explicitly to the main .c file, which is less magical than make-fu. Also, it appears to cause make && make rebuilds. and try to link it to helpers and everything Signed-off-by: Jim Cromie --- drivers/gpu/drm/Makefile | 9 +++++++++ drivers/gpu/drm/drm_dyndbg_user.c | 11 +++++++++++ 2 files changed, 20 insertions(+) create mode 100644 drivers/gpu/drm/drm_dyndbg_user.c diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index 704f94efc804..1adb5a262180 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -74,10 +74,12 @@ drm-y := \ drm_vblank_work.o \ drm_vma_manager.o \ drm_writeback.o + drm-$(CONFIG_DRM_CLIENT) += \ drm_client.o \ drm_client_event.o \ drm_client_modeset.o + drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o drm-$(CONFIG_COMPAT) += drm_ioc32.o drm-$(CONFIG_DRM_PANEL) += drm_panel.o @@ -111,20 +113,25 @@ obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o drm_dma_helper-y := drm_gem_dma_helper.o drm_dma_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_dma.o drm_dma_helper-$(CONFIG_DRM_KMS_HELPER) += drm_fb_dma_helper.o +drm_dma_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += drm_dyndbg_user.o obj-$(CONFIG_DRM_GEM_DMA_HELPER) += drm_dma_helper.o drm_shmem_helper-y := drm_gem_shmem_helper.o drm_shmem_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_shmem.o +drm_shmem_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += drm_dyndbg_user.o obj-$(CONFIG_DRM_GEM_SHMEM_HELPER) += drm_shmem_helper.o drm_suballoc_helper-y := drm_suballoc.o +drm_suballoc_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += drm_dyndbg_user.o obj-$(CONFIG_DRM_SUBALLOC_HELPER) += drm_suballoc_helper.o drm_vram_helper-y := drm_gem_vram_helper.o +drm_vram_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += drm_dyndbg_user.o obj-$(CONFIG_DRM_VRAM_HELPER) += drm_vram_helper.o drm_ttm_helper-y := drm_gem_ttm_helper.o drm_ttm_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_ttm.o +drm_ttm_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += drm_dyndbg_user.o obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o # @@ -149,11 +156,13 @@ drm_kms_helper-y := \ drm_simple_kms_helper.o drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o +drm_kms_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += drm_dyndbg_user.o obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o # # Drivers and the rest # +subdir-obj-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += drm_dyndbg_user.o obj-y += tests/ diff --git a/drivers/gpu/drm/drm_dyndbg_user.c b/drivers/gpu/drm/drm_dyndbg_user.c new file mode 100644 index 000000000000..9e4aa87d4b58 --- /dev/null +++ b/drivers/gpu/drm/drm_dyndbg_user.c @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "drm/drm_print.h" +/* + * if DRM_USE_DYNAMIC_DEBBUG: + * DYNDBG_CLASSMAP_USE(drm_debug_classes); + * + * dyndbg classmaps are opt-in, so modules which call drm:_*_dbg must + * link this to authorize dyndbg to change the static-keys underneath. + */ +DRM_CLASSMAP_USE(drm_debug_classes);