From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E82D8227EAF for ; Thu, 20 Mar 2025 18:52:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496780; cv=none; b=dUqa71ThjBg9ueCLu1GVkaDHMgG4M6hZcpTPGDLkXC+roxcwnVS39lpJ7/wltidjdToFwOk+/uiVGprNUevN8xMPsJRL7BBJQyvnMtUE0jINaKi8yMoY6LUa9JtcvluMcwtYwsbLfNHPDQb0tnHraP3C9A3UxBQEuywSkhk3w9M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496780; c=relaxed/simple; bh=4AJQ9/fTZnBfTNmr54vZ5hCXDEoIiB04E+EP8sWh27c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=suLsMGEaqfxlo8Pxv1a6sjKZwujKD/FWy3/fHSZOt+QJUTjFypb0WIRxGR9dCcoQz7LZa9lhs6NxRINBXpSazKli7qlNX4nG45s0HqXXXjv2Bhe3mTSSuUS4kTp/RoogXI2POpWI1daFoyp6TotwKaXv3zSLq6LMDzLpWGXP5SE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=krHYCiGG; arc=none smtp.client-ip=209.85.166.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="krHYCiGG" Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85b41281b50so31008739f.3 for ; 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=vger.kernel.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=krHYCiGG8ikwI5yE6jWe++o0F6hFflFuERZ/noBCcJXTGariZ9xC6KB/MHhMy7CwvK HgI9IAn24qo1p7oERIQalyhPL7Wz7LAJtGwDe8YCwS5f4gAjAbmf6oByr61ufol6lj0h OLeZgA0CEw5KDJZwuMjqIn16HYvWQAfncCPzEcuEhGuOPz7FkNxHBeZ/ShDknLqc/PB2 7JqtGdxpFn8QgkMAWOQKU7EBg6YRpAt81ICUugzjibR8lHmspF1M79qO31ycJNnstgGj 2putzLPriFyn2s0XpFP6Bq57eCo8Wpe47r54rB9h82wfsG92gDT/4YeehHHYv32LS8Vr s1LA== 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=k00j9AtQuyVHZYEiUvUv3kzJ7G/5L4JC230QTQStS1ZkykeAidfF+hEYGaR7xYJLDB XJpMJew+pomtGbue6rj9zaxRxaR4ZPz/J4vWcyCTiMqGDTDk1gFha9Zq0lJAr+ggMx6g Ceip7VQKl0bmAXtzYBNgKDGt7DnNKPwzWVhlGF1d8ZO9rUb4o+1emHmR26tayThUl9RX sdSJ6HoAcXSJZwCE+jHwNM2mV2vhXXQ5CNe/FyNd3GVMWFf1xpG9805yB1ieso2FR7v9 tiijv8PtQ+oC+A+fUwB1SZ7UQ2qZ7VXf4H9GN3Hydz/QAgur4yfiObXAA2prDC7CC+j3 B+8w== X-Gm-Message-State: AOJu0YyzgAxUbdso8/6M9q5NLVLQcSxAKIhoupnKTdE1gkiTe93NUhNQ TFmcBgP8taEQak1S5lqcarYSjqJfY0ZuqxJxOzPizTQh5Fdb/SizIlTYlm2Z X-Gm-Gg: ASbGnct9i/vvvINmI0U17IzQ7CcVHrkYSLVLqQaWv8M71C78fkm7ogDiAg2Z8cQw31m xCEHIIYsntHEHViAgH6UclMBf+5Cxplr2RnjuioXzIeNY5cAI4dqJQRvV/UiMZAXF/CNdqkZ9R8 yFKfzjMp5+InkXZz1cSii8yAjq/j4VvQDsUH4DkGJ6xbQphksJYLbC12Rr3z3KMVwJaPZF7zXFG Yrufw7tUdtkFS/Qo647QkeU89gRc49fskUpZWEk0/jUoD4V0vowFqu/88DPPpET6NaEFTVifLJK 7cbQiur6jHy0BeftdpZ3bMKdKGMKXIK8N4yAsUdvxLyE0a2IVDxd/Jg6Q604LRqcMCsbpFTYimW UsQ== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/vmlinu= x.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_PROPE= LLER_CLANG) KEEP(*(.gnu.linkonce.##_sec_)) \ BOUNDED_SECTION_POST_LABEL(_sec_, _label_, _BEGIN_, _END_) =20 -#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) =20 -#define HEADERED_SECTION(_sec) HEADERED_SECTION_BY(_sec, _sec) +#define HEADERED_SECTION(_sec, _front) \ + HEADERED_SECTION_BY(_sec, _sec, _front) =20 #ifdef CONFIG_TRACE_BRANCH_PROFILING #define LIKELY_PROFILE() \ --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6D2EB227E9B for ; Thu, 20 Mar 2025 18:53:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496785; cv=none; b=CKNwnlvTMtfNNUgRx/7udNnCfdSgU7IA9lL7qWEDHk38bAbupV/9rl9yspA/JOesOwSrMn/KHLJ5pK3q8S4zPx+1h0Yy7s++Q/KXOYkaDs82+Lrc151/q5D9v3GWGAVHUbfoy83MtgZ2D2GJ5BSbN61JVpLc19hT9Wvro8rw2vs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496785; c=relaxed/simple; bh=w+l1IxbKwn5+Odqn0uWbE42u8ngJlWpn+SjVKSxHY6M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hI+OW3hTVhZY5YKpAvxAtJc6L2dJVpi9hH1t9xX+1rhf01xEoXZRtQTka21CP6F0zhRcU8/IO9vCaYKo44buN/GvAewtaZbw0HtN+PaNqv7JR4uYvikHkZ5/whbszaLxJmflhvLcdIeOV5jVunT750aEvk4dn8+YVJNfbm7vNlU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GhFbqORb; arc=none smtp.client-ip=209.85.166.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GhFbqORb" Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-854a68f5a9cso86533039f.0 for ; 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=vger.kernel.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=GhFbqORb3MBAAeQU1WLWgkR1KCaegfnkXs7Xm5kT3vTml9kNrT+4bPql57g57+2v// H8jhtx86wJGFhd3ZjXls9wA/nvZNgzjfAL/ObmW0632hsd5bZUn96CEy8O83w6+AHFoC J86ut35K9mVAsHT1Ed2Cel3DdYsKxwHKgQethavlTtPTaVhehcrmUDAneQc/Pyou1dRL o1N3U3nG828gIzqCRRu8SH/6WLBB+nW7SWjaT4aVXkNwctD7sBdh0JtpNjyb8rHd/tgw EvaubCgMF8QTtLEd36uy7WZpumUeYrKjX/HgURWfGkFUel2o+3QU260LU1uVYj4LtEyl zLJQ== 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=kUbZMU0km2Tp864ovN8YHTFnVYvOKZ9gdrd20RO4VGNoOL8AacamfIkiYcjV16Ll4d FzIiEmpNDgmzSiaPljpTza+ngRulfiYbsSnIZvOqQlV5kSR0+zx9GTJqQHJEjOPcwo94 /vuWT2mfABieMKFlP+hfiibPb/+Ns+ZPFkL89nV3t+AYws9yNng0lFJf1UIk9TB/tC4h TTh8EmbpOLS9zVjJggfoGX0jZzaOS48ss+6fIF5pWQsV4ItuOw/kSJrfYCXyvQxGbMOg LVtU83L27Y4U3iDUBeulY+ZQeY11+Tbcmvb6qaBIBHEXwVquR02wMkhcKH7fRpy5kLca IP8Q== X-Gm-Message-State: AOJu0YzrpwChnVDrAfUL3lSuoWZO1RuIp6B5IHPMv9D3QEv/wz/U7ytr +WpvXMFVAAZHexkdxdJr5EUOlbOTtJDUiRLDwVw8UnUOtKIoS1xkdzdqEk9g X-Gm-Gg: ASbGncvBhUbLBd9ZccB15IQYhRQrT5kKkRA7kJ/hCpbDHMmWAvjPbjH3KwIMmkqNuiG r5A3byzbF2tDLWV79sUQy7n8BZEnF5tvfwQJMnzWOoRLeEpN0A4XvwpgdZkywC7/PHgTsxKtKPK Ss+qn/pHPueDvayUYeJhSTyBqugi+56nPcP6EQMFwh0QAwpQnpSDB+mjPWKSTuQkMNGgIdaopgj S/IItZM493Xj/BgVzCsrdn+2hChckDqtKSX9KZGXL/860aj+kVjoAOROW2vQ/6OMq+wTiiR1GdP 4xvzUfruLj0b4yR4PWPOUvnz1733qFr2bXtN3DDLjK7U/thJ/w3wc+PVE+FzkiXsYLwxCVNFkwS meA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/Documentat= ion/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:: =20 :#> head -n7 /proc/dynamic_debug/control # filename:lineno [module]function flags format - init/main.c:1179 [main]initcall_blacklist =3D_ "blacklisting initcall %s= \012 - init/main.c:1218 [main]initcall_blacklisted =3D_ "initcall %s blackliste= d\012" - init/main.c:1424 [main]run_init_process =3D_ " with arguments:\012" - init/main.c:1426 [main]run_init_process =3D_ " %s\012" - init/main.c:1427 [main]run_init_process =3D_ " with environment:\012" - init/main.c:1429 [main]run_init_process =3D_ " %s\012" + init/main.c:1179 [main]initcall_blacklist =3D_ "blacklisting initcall %s= \n" + init/main.c:1218 [main]initcall_blacklisted =3D_ "initcall %s blackliste= d\n" + init/main.c:1424 [main]run_init_process =3D_ " with arguments:\n" + init/main.c:1426 [main]run_init_process =3D_ " %s\n" + init/main.c:1427 [main]run_init_process =3D_ " with environment:\n" + init/main.c:1429 [main]run_init_process =3D_ " %s\n" =20 The 3rd space-delimited column shows the current flags, preceded by a ``=3D`` for easy use with grep/cut. ``=3Dp`` shows enabled callsites. @@ -59,10 +59,10 @@ query/commands to the control file. Example:: =20 :#> ddcmd '-p; module main func run* +p' :#> grep =3Dp /proc/dynamic_debug/control - init/main.c:1424 [main]run_init_process =3Dp " with arguments:\012" - init/main.c:1426 [main]run_init_process =3Dp " %s\012" - init/main.c:1427 [main]run_init_process =3Dp " with environment:\012" - init/main.c:1429 [main]run_init_process =3Dp " %s\012" + init/main.c:1424 [main]run_init_process =3Dp " with arguments:\n" + init/main.c:1426 [main]run_init_process =3Dp " %s\n" + init/main.c:1427 [main]run_init_process =3Dp " with environment:\n" + init/main.c:1429 [main]run_init_process =3Dp " %s\n" =20 Error messages go to console/syslog:: =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 82C67227E99 for ; Thu, 20 Mar 2025 18:53:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496787; cv=none; b=DOeoFyj3Ivh1b1ixiDJF3UZrBh01vzVjJPYpXSz2WWDgvKEzNK6KXs27qjCWF5g6EnHARC8TKHlFeJvIrya1PAOBgHZ5wF5tgPh5cl/7bX0RjnbmSZ6gyztWGHoJTKnOkUfYECe816Pr221ezIOb2V8iDKOArobFD7ld3Xp344s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496787; c=relaxed/simple; bh=72Uorn+GYmaKnhcpoSxU8shLko2mjtbfeGAjAHL7YeU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=c6kVktyBryXza6kmvEpkT2OlBkxLOoT/4MRpIh1oM2OScRYCKkNLAc7eYjGrrPZF6xwfw9o2LUsyqXaBruidsuyOVQfJevqh/AwwUTsP9ptbACcKt9ZtxcAN0jrED26UMy/Y6ae4J+aKqQ0miZAuouTQonP960vfXY9OaV/Ky+Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=TNdg+3wQ; arc=none smtp.client-ip=209.85.166.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TNdg+3wQ" Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-854a682d2b6so76704339f.0 for ; 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=vger.kernel.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=TNdg+3wQPHQu5DWDop2M0iABEt44NoF9wXmNKioEYYrMItH7kiAimZMAqIfFGMyhfi vW6hnI9Slb/PGOXKlcq15gblDKfD8XEo0/V9UgYd4gJ3MI4B/bP/qwYLmIsOJRyvB4n1 i8UyNVFksMaEifr4S6BKX9LF+wZTF77lesZbUEtpYfxWB0iW49l1y872B9Ey277kQ5J4 sQIQSSy6xhKGAofdw4Qwse7QfmdboeckN/ik4J3r0kQKeL1RvKeKHwpPEqLO/1Xj4MW7 giHkfApoNwXbnzDRX7dIvy2ud60oNW7jIWEUOuX+sZ7aHaRArF9JIDHF9LRkbs3bzm+4 fLqw== 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=BvlIvI7PB+DJFJyoxTrKipYvd96ynqn77hxxbOAazUv8wcm9dtZNbB32th520LMHW0 JjuzTfi/krv/xRaKUp3HCpfY1Kba5nUcnaBin6mvJedRkdn4JaAYhfYJnNyo0cCJXRAo WaPdQAtPNmxj/fZnNl/O0qDYcCfPaogKKB6zxtBNwCBUrpGaV1ZLI2e1vtdWUFx6RAjD Jc6LRc08uV1YUK7KywWzHJZoUyQGkJai/E2EP6OgegLJTW5iKJYeeyEP9FH7MuBkh+Je u05kNViIWh/38qJNFcaK45vJXtPDqGrF/CFZCcE9AR+CNEGPSaQgdjCVAC71M01qRCkz HWHA== X-Gm-Message-State: AOJu0YwAJTA0BTCVqoQyv+ODy15cHG+a/g0WsrmLJrMElnI3ztaDCO2U SdhCJdIqFLnMGWdcdN6kXVr0uGJw206koI/D20Azgr+LLuJS+w+eg7Q+bfUC X-Gm-Gg: ASbGncvGY9UHN/EJtO0jCwolhygjpMF5/ApFsLphY5TcxHwheCJzksklgnbLvtoRcTK +6n8nRP9UKTMpWBj4INrFMXQvUssXlQrIIAQzuFpOr6RF5RnThsfmgyssHEuOYWoBm5jVmySeF7 gI13QME5A91z/lpxDV2aY6pYg7EfYi4mYcG0IooagUnynj1QVMKejFF0ghr9Hd9IqiDG5APHjqE Lz1G3TsYdDq2HT8Co73CqYg+wugYOJZqig9ivv2lF+siaCfMrQECebmZ6bzxzLEthQu1HM+wCZo wJGEJT+BPyg3H/O0Ht6sIK0PcVBm0aYwd2bswFiagRG3WQRrFXVw8X3ud03wm9V0rOeAR6nvTtg vqw== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =3Dp "LOW msg\n" c= lass:MID lib/test_dynamic_debug.c:106 [test_dynamic_debug]do_cats =3Dp "MID msg\n" c= lass:HI lib/test_dynamic_debug.c:107 [test_dynamic_debug]do_cats =3D_ "HI msg\n" cl= ass 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); =20 /* symbolic input, independent bits */ -enum cat_disjoint_names { LOW =3D 11, MID, HI }; +enum cat_disjoint_names { LOW =3D 10, MID, HI }; DECLARE_DYNDBG_CLASSMAP(map_disjoint_names, DD_CLASS_TYPE_DISJOINT_NAMES, = 10, "LOW", "MID", "HI"); DD_SYS_WRAP(disjoint_names, p); --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CCC51229B0B for ; Thu, 20 Mar 2025 18:53:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496788; cv=none; b=tpxbIcS80ddl6uN3ipHe+3YIeQAPSl5ZBWtkb16ZFfqw1NYp6lmxDf0WnTNTl6FNxThrUw3isGLfje66wNuPDjoFXtR6YkvMIQLQZAjcx0JaOSDY36EOJJhStssuSX6B4ebkairNGCbZTduVEc5D0X3iTl7RnuNdQqgYZj2HBew= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496788; c=relaxed/simple; bh=WoRYA2tpLgnZuGnp9hThjLb61379Aly6hCsea4BFktM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WZTYaLHQ1GIi8APGT8EP++gRGVa83r4hgl1sWM175fYdgGhbjNq8nufRcO/OygpSOa3+OJi07zboabxNe/pf5LrCMH59J49oMs/a/On7KtvcGhOU3exFMy83YgBBeDftjUaxg/3nkjIteaO0XbBrxR/hpbnFAkdfCIRntLdr6Pk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=U9D0WZog; arc=none smtp.client-ip=209.85.166.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="U9D0WZog" Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85b3f92c866so15947839f.3 for ; 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=vger.kernel.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=U9D0WZogDBnk3Nh9SQMZw4wOmHrjX7N3o8BWjlXxS2h6XlklRJehidGLQ9y7Kc2Dfo pKhOtxZpmY2Nq+y0ZVrQvoPSm8u1PNxIDFnxEH0065QpZVDC1XKqSNp7zO4TuZ18PA5+ bUt+waBb07E5gSuSxH1x9CWOvIBbL5ZKDnFG8dDbeokX2wJw1OiSEYPFOggu+fitGlZV /71r1OuA2Ei4KPD36oQGWQSvR6JiG+n789JrR+fGxgcv6Pkpbsdsji4iTvrreMDncGDq sU+RHxAwuRNmKHuuWEkFbaj5Wr84oR+z+bHS52hZ1KrvYMxhp+fBa7PGG63ShRKu8yBg +TJQ== 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=PIkccIMyTfGINT/4406YmPl0DhUd2Uw8uIGr+TxUbiU4kJPlE5coEYvAlx7K+anZIE qXkSVRLVEdyxYUk6kXFk8dtPUNDquMFvMoCKJQqIWRGwXgJGA4StY3v9JqtjjraIbOzk ZC0g8JZqrwXgpGtKkHKLw4+yOziMUdUl7THf6AMKjYpWY4Qn3ivHIHq5IV8m6MS/ej8c M9NmqB49jFCuTkPBkesfasLJEEmnMZBXJsbpPBRN/p9GLmwty/1rmGFw/UQ6v6N+WtnR aZrFl2oVpt78YacDH3xcVF1fmRIeNg0gY8jcWSV1LP+5BWT4+ky92Xrn8nmP4S1YLOrY d/ng== X-Gm-Message-State: AOJu0YwdP6ZH1WcTeX8/oogK+rdgZ61s3y2hgdXdqxsVT4iRYr7+O5Us SudXk6VpTLVHmX3FKA09XTmQqHLNY67HJnawkCSospKrxzYzojm/pJwYvaFF X-Gm-Gg: ASbGncuZQlnq7hGiZWQC1/cGuhyBQdvBFDehz7P/gV0EL29bPgrQZiIsdI437YtPLK4 MPKWPbnCYnlHCraQifnxg2hxbRxd3SCQcgb4t0ZUIFebVghhjKeltVBR6unopeXTWDFAn/MNG6V NI+l2NTfr6YDl8HyBACIMSSiZ7s1Ox0Gs5zmzPSnEnpwEiPu+eluogZjY5nrYhdNSZUUT9mupkr GnaPDRm41uS6vIopVP+ui/ZLRfN+2J0dFGXDXO4mEwqoJqShlpdrO10La+x7RYxq6HIzsUY4NVY PpTRBOxR9B1KlBHgF6elH/i4cZtWsTKs1u0Idt+2onul3dic+i25swG6WAakHRpkviDfefsyK+W Jaw== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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'); =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D9B99229B27 for ; Thu, 20 Mar 2025 18:53:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496789; cv=none; b=FZWZ2Ryc3xZHSnAuKYTd4g4FRqJabeucZoyTUS0jxhw37UExo2x/wrlAz3uKYia/NIWGBW4MC6wLWmn4GzbPLsvSqE+3l2+YY2y2Qbo2ii+8GKnvbO1tq2EWSTPX3Ex9xsEeZD6tvFcu2b3pfwUjvANJLkueN9KPYk8Lxg5aQZs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496789; c=relaxed/simple; bh=owZYpNR2pwuDCcONhl7AIBARkXlaRrZAKNrUgbc8WNU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NWChzT8nirIIGoSNirOzPEBB9zx0jnPEsBubSXDUX0HFS7o6xgWqy4MZcMIpxqcjREdeuBiRWVds/Ym12OUmLfL2qYmKkZSHq9bg21si9Vrh4h/dEKdIdpyKIjFp0LnKhONfwzyNyzeB3cqrReKm0BkXhLK3uhZh2A7BsfPb9v0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KkUVkpBT; arc=none smtp.client-ip=209.85.166.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KkUVkpBT" Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-851c4ee2a37so75091939f.3 for ; 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=vger.kernel.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=KkUVkpBT8Pf2H6x3P9iaRIbXsaBVTjU9bGlKEmsaZl28Rp0p1HzDoZIYr3FA+32AdW ZJvzDCufmWCzY4cWv06rQicjl/82/UEtsdig/T0h2s6OWnoEfis503+qzvmBvvU5ES1K MLs1OEUeOrhq9QnOvn5WJMvQv2D5c5TNm8Ecb7nnC6rT62e2IqYxBWMfzaIeLT9iPA/Y eBdDEvwzYpb/GJV3bveJT0F51py8R/DhqUwUzX5YTZ0OBa+B7LfNleeuoLM8eRYluU3F Vhi1nPwMLzYrnhvt0KFXbxC8LiSTrIutuwMxnKjIDuECgIHglLEzzqAPzxRhzQ5JL6h0 uMvQ== 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=HMJlWMp6ftpmDFYxyVcGh2asGmL44KtXL4Fqn5qzB5ekkraH9Zec/bN8/gkoFtzJZn i5XNjrSX1V8PSmT1aZ71YGwm6Qh9HEuAU+DS8ReypUdvIBv7ROeeZl/Qrr2OIWzcjMsr e72KfXwkXzObzUUR+4w7c5bHS4dhX1ZVdhYcLQsWq50JcTk+kQz8J8/Z/UX8U4cZP4/4 40RACAv5POH+roIV/RL/muNlNjkAEXXG4iz0y4X2Oe+a/2TkUn005o2icMx8N4WsaNmf PthbQ4yjRzF1LWqz5KwT80HIxbhJRqgZZKagdgD+UHYK1FUsaAn5pvDz7OT//5i7BXW2 Wisg== X-Gm-Message-State: AOJu0Yw6mP+2jzIY9mRvwyG1YXx01fqFE1qsxSv5zl/9y/M0cSlc3hQO FxgAgBpbz7bAux4Ko/uT+3prxtQThRbc41eBujnXIivLNnRW+TA3ZatmjOD+ X-Gm-Gg: ASbGncuPVfFNM37Kk62zCUHXxm/yqcxRW7g2PJ+xqEWfqRa044KorzSCXeedTYk2AJS NVEH7ex8IUxcQLmfiLoNdH397DrUkeaCaf2D1r/j36CkPcGjK2MNkhl3qwtAzoNnmzrXB9ANv8U 2uj5C/fHY2PfPuk2mXj0bj/mafPjXc/jJdVN7SYKjaOYSLbIYSys86EhJxr3UlW35qCJ9C7ilqI KduclxxIq25/P8FWv4sE92VRdPuTpOyvcodBdXRlH83sBdDCblyI8eMouY9mHySmY/iXmgeR9YO H8ogfR+IfLWL/PY3WW/SdglB7h1dLxV+aEPx4Kg2U1Hip48+dGb6ZB2vAXsgygxq3KrLgI4Tsl8 O8A== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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) =20 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; } --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 181021EC006 for ; Thu, 20 Mar 2025 18:53:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496790; cv=none; b=YjqGaaObyzoh/EL1kDWb6urArT6zXtqoFnzTlp3JMQKrBeDjnEkddm6QlRUNmu23Ba9iI0OivUtxBhJpj52z0uKjut0rsXGaHc1Xa/3W9cLfT2vfRtcD6Ej1xTL3D9XSj4wmqiNC68qOrAmizILltHgMFvSZCJN6H23AzBCimBs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496790; c=relaxed/simple; bh=gFCzRxNPecs9k7iS1AinJ3zcerrYQfViU7GYvlDAdnk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cD4HvsTJamxQ1NJbpoz4Ib35jXjoysQuQdfjkiiy8ZN5wEYbFkIvxBDNP0gN8O3/5QOcxtqyDWO7lfJ6HSf195j7m1SUFlJqZ5z9F/7pEKsVQPiGkuXqLZ0BuFOPf4uLxBob7nnIn3ovqeZwBOrBDHe8ayHqjWxxuHwAvfQftX8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Z+aEEK6N; arc=none smtp.client-ip=209.85.166.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Z+aEEK6N" Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-85dac9728cdso28587339f.0 for ; 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=vger.kernel.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=Z+aEEK6Ne4R/3JH8khhcIktUPAX2AmDhh+f6OZ+NvEvgEauUCuSigGMdVwWkLhrr6W scZAzlbgW8iHRjnN0vZrbTVWIjMeQVRiNvvEDigy1w80rTALDnrNvMuCcsnPZWSXijwa l/eLMDHs0zCgsqaD85+O+GwSpf6DamXNofVtcddvgl/ObKV2WElxvfXlXDazJ0dIDVR/ D9UwNKl7CBvwNx0sA0hvk7vDVEAeouncHITCv0sxTqTLuS5ztZ7jEssD0VtroiaoYK86 eYcLs8raPDr02AWWWKFrPnC0oGt6VLWBLQd+dYCWiEFXm+A6JkksJX6Dlrir7G25Aqg1 +T7Q== 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=HBffQjiiAEbU5qYVARMRw/S8svxzuy7ZnTnxFsmOGVt7EJYNQyyHtPwItAOnue5RRA N3BouK54rejjN8ST5+jV2b1ryLZsQpWytb+MqXchAQhTqj4oiuvZhi+vZMJDY9anllRJ 1B9NrrtlfkXBl7+jzzkB/aLjj33z5WDanQu+HSZrSINpfioiYmLhcALcMIXP57GZMdZ9 BxSBBaMyWUCKRwR/NW66z2jmzUSyz/K/d8DYAhjEkgROxXCTQtk2KZOA9LC+VM/rrDrz MMV/E0ON1FX3Rv9iqG5I7/7wDCbsmi6v2+5PVmfxGzPfGwiY7a667jGJOZTw4iOnwOvD O/ag== X-Gm-Message-State: AOJu0Yw7yWa6bFWPR04yWkfKqlUjaqadI8Gli4oKZX7dndXqZ1rxKrLf TIPMfWlotUIdn8hTSVRd073U5NyWYrHTXQaQ/yPKYf7yXasoFrvxHMCLj2pD X-Gm-Gg: ASbGnct9dkySU8/MN4JiIjfOquTrHh0A7MjUnkx2RIUdF1bQjpne/FiwBsAriLwTldG 9xzksdedo/l0FWtMUf7b2cdYLP9JYc4Qu+BBzuwFxz0/PoY1f4iAkCt+uojVVMUOsOfQ5S+R3aS UtIBMiSqrP5nk5zJRHTIJW5BGRArW+4W5I/PVkzPg1zfYUBhsJgnbqmE4FoOMyy3OKYgwjLx9Wf QwdlucKASnDztthlPF79lGj7t58DVtxAxaCQM+4xxIwdpSoQe0K0E5u2N0k2DJ+gTPPhkVo2FLs uW6HjDFlT+/gl4NjJsKv1NhHmL7v2Njc76LC07OHe9MhL5e3OV84qZ5qrq23jBG4iENdu0T+LRy 50g== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =3D KBUILD_MODNAME, \ .base =3D _base, \ .map_type =3D _maptype, \ - .length =3D NUM_TYPE_ARGS(char*, __VA_ARGS__), \ + .length =3D ARRAY_SIZE(_var##_classnames), \ .class_names =3D _var##_classnames, \ } -#define NUM_TYPE_ARGS(eltype, ...) \ - (sizeof((eltype[]){__VA_ARGS__}) / sizeof(eltype)) =20 /* encapsulate linker provided built-in (or module) dyndbg data */ struct _ddebug_info { --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6717922A4CD for ; Thu, 20 Mar 2025 18:53:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496791; cv=none; b=RtLCVV9Uq9HZkta0giK3Xnw3gH8zg929m71fTlj9zXwfIgWneTuerg5uHXYF3J6lEu48PxwfzxpkvzbCcAhjR/rJx/qP3UKMTqSOsT/KRZz2pZFc0KfZrA+CpRYJ41auBPWPfS4hkkKZoPc4saqlzv8x++YOw2lRYNl1euezkrA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496791; c=relaxed/simple; bh=zTzu1lwT/yPrwrMLE6P5y0xJGhOKXxeyMkk94mm8q0o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PS3bVH9VjzGue97dJn+S+25ik3BKMIKCLKPaXG+St1MgDImwUkYla1koCylJ0EkHzHZt2SeTdkBnIom1Cbbf527dv2bElkRiUy5mOeVcjXIKY1cxK/gaTbeLTdB7Dyq+UaxJGAtcQTvsmmWe4+HQRdPmCjXPyHCgnGNy95GupQM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=k/A0SVqM; arc=none smtp.client-ip=209.85.166.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="k/A0SVqM" Received: by mail-io1-f49.google.com with SMTP id ca18e2360f4ac-855bd88ee2cso31242539f.0 for ; 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=vger.kernel.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=k/A0SVqMLg4wbzGXZKQXJLxxKYrdvvKz3XXZOKAoQboM+1uICV5wEtwUReVBWYwj9b lNDCS4+S7ZrOM1FOAl6itWimQ2KtWxSX9XXX5quWVmMAYFf7dYmEwUtboKuS3RrljhHD 7UfB3zCdRaTeS6tWIrIdpXYwla3D8CxmcaP+vozYpBhn+f65MS7e8sEECSSQ/BHe/4vW 4r4wNTnwNn0hY+NHa6GSWgQlGheve2HlWk4sWkkgE08O4IEwGekeaijLy40UiXPav8Nk 0Ttd9slAP8f1769DsYdronZLyi2hdFkyE2mYvaOsnrpObojdLjiehU6Y1KgQPyV5tRQB SWcg== 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=TZZ8EuyJxd4/K0qcmnUjSQJjWW67bgRf4Y6cxCiojEA8UUQRU6Mx/1iTufj6Cmx3No 3GR0a3/nwejxKYfMAVSk5ILAl3HOvvuuuYGbBChRtg/lMjY/1FqtT+vesJApmTRu5yWC OuH4+g1BvUgLDRrv8Y0zJSpYglEcDNoGMJ2XlJXa+oDgm/7Dp2qtZbsvi8fxTbyzkTUS dziU3ezdrBDm7czZHaDvrUdnR8+1NDTeqRTredxzelEXrn7LTGxjWAcR34eTMspwse1r RIMfBr/frYSofTDC6O1LnOhweXJwPCII7+yRwMxLqBJoohmtdFiWjW1oLu/3r020W/Gd +L7Q== X-Gm-Message-State: AOJu0YyjtQtWhwJcMvUvplzzeZOqtORkuFR+d/hEhWXu7qUYPKUYfQ+S K56sOTMlRf4wStyByr2hgWLiprfBKY3rqNqt4LotW2ZujXsoDee167SFr/My X-Gm-Gg: ASbGncvrafBFiLP5DtQv0yB48IHkMuqEsJt9xow30H65TAGO4z3mrQLymcyFAoX8bPm fbL3JXPB4AuRB3A6L4I2nT/puBMx/GWW3YkDjvkKPOy5BLAQsqYBfLfyqnPIOTbCWPjtFBYJCK8 RlWNq15EYQKHTqtVRZPWu6/LaSI4MGBgBhF0dSlYxQ6PP/G/UU2h29vZ6s+785VvB7E51cqnBrL DGzC7YrmUnjv3eG8lQW7dTVDGIEV5k0/5IOaSnNAoUGoqssXLSaI1o56PWz97wn7tW6wZZI+ZCt QPFV99LAoRQiHOBlwsfKBVlRCfl4l04rP6IU6AGbIJIittzChI0X88bkAfYVDVq1Db0T1kTwlsE TGQ== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" currently, for verbose=3D3, 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=3D'+' dyndbg: flags=3D0x1 dyndbg: *flagsp=3D0x1 *maskp=3D0xffffffff dyndbg: parsed: func=3D"" file=3D"" module=3D"" format=3D"" lineno=3D0-0 c= lass=3D... dyndbg: no matches for query dyndbg: no-match: func=3D"" file=3D"" module=3D"" format=3D"" lineno=3D0-0= class=3D... 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=3D'+' flags=3D0x1 *flagsp=3D0x1 *maskp=3D0xffffffff dyndbg: no-match: func=3D"" file=3D"" module=3D"" format=3D"" lineno=3D0-0= class=3D... dyndbg: processed 1 queries, with 0 matches, 0 errs Also reduce verbose=3D3 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 *que= ry, } mutex_unlock(&ddebug_lock); =20 - if (!nfound && verbose) - pr_info("no matches for query\n"); - return nfound; } =20 @@ -499,7 +496,6 @@ static int ddebug_parse_flags(const char *str, struct f= lag_settings *modifiers) pr_err("bad flag-op %c, at start of %s\n", *str, str); return -EINVAL; } - v3pr_info("op=3D'%c'\n", op); =20 for (; *str ; ++str) { for (i =3D ARRAY_SIZE(opt_array) - 1; i >=3D 0; i--) { @@ -513,7 +509,6 @@ static int ddebug_parse_flags(const char *str, struct f= lag_settings *modifiers) return -EINVAL; } } - v3pr_info("flags=3D0x%x\n", modifiers->flags); =20 /* calculate final flags, mask based upon op */ switch (op) { @@ -529,7 +524,7 @@ static int ddebug_parse_flags(const char *str, struct f= lag_settings *modifiers) modifiers->flags =3D 0; break; } - v3pr_info("*flagsp=3D0x%x *maskp=3D0x%x\n", modifiers->flags, modifiers->= mask); + v3pr_info("op=3D'%c' flags=3D0x%x maskp=3D0x%x\n", op, modifiers->flags, = modifiers->mask); =20 return 0; } @@ -539,7 +534,7 @@ static int ddebug_exec_query(char *query_string, const = char *modname) struct flag_settings modifiers =3D {}; struct ddebug_query query =3D {}; #define MAXWORDS 9 - int nwords, nfound; + int nwords; char *words[MAXWORDS]; =20 nwords =3D 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 =3D ddebug_change(&query, &modifiers); - vpr_info_dq(&query, nfound ? "applied" : "no-match"); - - return nfound; + return ddebug_change(&query, &modifiers); } =20 /* handle multiple queries in query string, continue on error, return @@ -1234,11 +1226,10 @@ static int ddebug_add_module(struct _ddebug_info *d= i, const char *modname) { struct ddebug_table *dt; =20 - 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); =20 dt =3D kzalloc(sizeof(*dt), GFP_KERNEL); if (dt =3D=3D NULL) { --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9279622A7EC for ; Thu, 20 Mar 2025 18:53:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496793; cv=none; b=Rn2X/m7WLf/yaUVF6J2qQYazvukrf7GOFNNqhrPb2KDJpSsCzEYMT19rTxA0k+/fYGvm2YyRjnQjZ3fCOVg4OlVQTmyg+6vWNlvlhYcYMgwotpcsBGMYihX669Z2+DxHQZA4LTnwc8ppN4ARK8//+LnXmdFif44i18QKHywSxK4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496793; c=relaxed/simple; bh=dy+6AAdAMQhzxwbonUxWTZTAIQFLDqo+DpYeJkVTpUQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SXWQnkROmpyqjNdHye15mp3CNl8193EqLaCa/x460H/xbnN6GHA3ah2ClPnAgtomEBtZCNRrTH1GNmLBcglMsG/hwDpIrnD2u7Jxcy91Ec1wnRseHGBNNOtgSlVjRjNuArmwOblR4gBwMbeSRnwyCffYrf9JQhAKlf/opfNtHWM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hk/ILcrE; arc=none smtp.client-ip=209.85.166.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hk/ILcrE" Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-85e15dc801aso94007539f.2 for ; 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=vger.kernel.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=hk/ILcrEY6CtcW7Y4PpBMuSjZ0UVpHlIKo98HI0PHaNW8EwnY5RCixnXvy4ZDDxy7Q Sy697ZygoOOV903v1uVIdbMOzpc0IUYSejLt+5ekiX3pPYv3Q5FnM2+j8cyCRajG4Uc4 5XOBIvNc2ye0yFwgBgDKtyKAr0p2rKVx1qB+V6ZCV/XilkN81YEJnXDtnOFsru3U27wR DNFgfeDlWvPLa1vRyDn+S5G1U+QbeOVPyZdtLouW251iM8Pb89L+MR5K1h7JuGBcqCSY Qbnkm4CNWlpZHXDxXJrLX3fOlpcl56Xuf4oZeEDNGXQGbo7h6qIGOcJJC7H9TO9RjkR0 wtQg== 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=HGRoJfb9q8g+1Sa6q10mzSAyaM7HkxaVELvUFA0+2C0VCpFFBXrdxYC1U0WeOhFuLk LNJLrXMgASLCR4EDy/KUtDKpgxdOEaPT0fDCFdpJ8NDbjpfaxJsTSsK25U69jvktG9hD 51Rl7FAu5s1dNBCsWMPMOULEaQ/gCmhJsoWmguzq+na/kcxsmKmnVJI/Fq+zSqKd6ri4 8c9ewlodQeECzWRUU0gJldAJXbRJr9pTLgTxHQDKEwlRdPb4gSOeXMPGDIkIUUJ+RDLU I1iXV6wJRTxSPg3h4WEBghnKJndcJyWUsTxLmDjb91LZLz0x4AdzCABAGYWKkoPo5RoS QHiA== X-Gm-Message-State: AOJu0YyOIdM1FYlL+yV5+75VpnUI8zsb1fzj24cCvhREaiHyKWOXwp4s fDZWLqm/TzjnqwaDARKGX1zORs7Ub88nXg17Uhd+s8Eo5Ioe3VSTH9zy/vbv X-Gm-Gg: ASbGncuJDGZBKspesumZykuScrjr/YUmrLnrtGPpNn1sPeCLBvLiS85odyRlFQB4PCr rjH5ft3ZUD6WBXf6fwMK+bxUryNXfIlYVBrPrL0In3f/OBsrHrDieJFUshuCFhY6g8Mgl6KfkAV LpT/1HQl/zLHRqlcKvR2P6iivuW1shTU/P1YQrrU+FQrne8HJbxb9K+TanRIDpb2ZyiTStx10SG 1fIQJ7Xq1WOBVvxf9r4JOqTCBE9zOcJ9As695GiHye/S89q3cQ+cLPt1WSi3Lm/z3MSKWAcr9q2 R0rFNmZz2a4JrhmT6uuJLkaRQUwnm8EhbIww7kMA1PLuGRBFYy94jMKbocS/r/3nPrVLVgb+KFX Ztw== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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; } =20 -/* 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 ddebu= g_class_param *dcp, int matches =3D 0; int bi, ct; =20 - v2pr_info("apply: 0x%lx to: 0x%lx\n", *new_bits, *old_bits); + if (*new_bits !=3D *old_bits) + v2pr_info("apply bitmap: 0x%lx to: 0x%lx for %s\n", *new_bits, + *old_bits, query_modname ?: "'*'"); =20 for (bi =3D 0; bi < map->length; bi++) { if (test_bit(bi, new_bits) =3D=3D test_bit(bi, old_bits)) @@ -612,12 +615,16 @@ static int ddebug_apply_class_bitmap(const struct dde= bug_class_param *dcp, snprintf(query, QUERY_SIZE, "class %s %c%s", map->class_names[bi], test_bit(bi, new_bits) ? '+' : '-', dcp->flags); =20 - ct =3D ddebug_exec_queries(query, NULL); + ct =3D ddebug_exec_queries(query, query_modname); matches +=3D ct; =20 v2pr_info("bit_%d: %d matches on class: %s -> 0x%lx\n", bi, ct, map->class_names[bi], *new_bits); } + if (*new_bits !=3D *old_bits) + v2pr_info("applied bitmap: 0x%lx to: 0x%lx for %s\n", *new_bits, + *old_bits, query_modname ?: "'*'"); + return matches; } =20 @@ -672,7 +679,7 @@ static int param_set_dyndbg_classnames(const char *inst= r, const struct kernel_pa continue; } curr_bits ^=3D BIT(cls_id); - totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, dcp->bits); + totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, dcp->bits, NULL); *dcp->bits =3D 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 *inst= r, const struct kernel_pa old_bits =3D CLASSMAP_BITMASK(*dcp->lvl); curr_bits =3D CLASSMAP_BITMASK(cls_id + (wanted ? 1 : 0 )); =20 - totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, &old_bits); + totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, &old_bits, NULL); *dcp->lvl =3D (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 *ins= tr, const struct kernel_pa return 0; } =20 -/** - * 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 =3D kp->arg; const struct ddebug_class_map *map =3D dcp->map; @@ -744,8 +742,8 @@ int param_set_dyndbg_classes(const char *instr, const s= truct kernel_param *kp) KP_NAME(kp), inrep, CLASSMAP_BITMASK(map->length)); inrep &=3D CLASSMAP_BITMASK(map->length); } - v2pr_info("bits:%lx > %s\n", inrep, KP_NAME(kp)); - totct +=3D ddebug_apply_class_bitmap(dcp, &inrep, dcp->bits); + v2pr_info("bits:0x%lx > %s.%s\n", inrep, modnm ?: "*", KP_NAME(kp)); + totct +=3D ddebug_apply_class_bitmap(dcp, &inrep, dcp->bits, modnm); *dcp->bits =3D inrep; break; case DD_CLASS_TYPE_LEVEL_NUM: @@ -758,7 +756,7 @@ int param_set_dyndbg_classes(const char *instr, const s= truct kernel_param *kp) old_bits =3D CLASSMAP_BITMASK(*dcp->lvl); new_bits =3D CLASSMAP_BITMASK(inrep); v2pr_info("lvl:%ld bits:0x%lx > %s\n", inrep, new_bits, KP_NAME(kp)); - totct +=3D ddebug_apply_class_bitmap(dcp, &new_bits, &old_bits); + totct +=3D ddebug_apply_class_bitmap(dcp, &new_bits, &old_bits, modnm); *dcp->lvl =3D 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); =20 /** - * 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) { --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9C7422A80A for ; Thu, 20 Mar 2025 18:53:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496794; cv=none; b=AH0PApLkzzGhssIMrvoxpTOrMiNkDdnWU8qJehcBnUCHiEyNeoIWqvc8yZ2LciPILIyKl+ZOyRyrEPPG0FhdZ/jBRFwgQkD0RTajfZz9L+86+OHAF290uqE9K3BTC5FtC81k0T1kEClCmLxF4a6gfZtKg+wR50RqzK6+C5kULrA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496794; c=relaxed/simple; bh=0Dhm60OPYd02BgLSGA/TUiS5W84HGPcUidm8klZ3WHk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Pb38nE6c1JGZZJALw9WDhnoB99ewetDIU/6eJLnZbScBZsljPrR6miNPy7GTOxNo5Phd42hVbUOiQbnUjftM69u48z10SSkn88G7KdOxI/vKs+raczjoD9Ksm31cUDeGOtCnfwCcE8k2M+g4DZSdztOKHulSRr7bEfU+cTBZdzM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XkHsdDt1; arc=none smtp.client-ip=209.85.166.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XkHsdDt1" Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-85b43b60b6bso41386839f.0 for ; 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=vger.kernel.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=XkHsdDt1xCDDMbcs9wpGxemwvRJOWEmDCPh56YGNYbBAJ8Ig7uFc/1+zVpO/PFAv8t WYGqdT2e/nJZLXZGqX0tUNHoj8e/XzpFQ1nDB+Gh9t2PN1pTyAMM4jwtqsfvY1F+tThQ MHBd7ftaSmH8DEFk7Y2JG3QfNUtAst2yeDUesU3W+slvug5cK+CAFdGvF92J/wqIy3ww QARM+i6JPH0DPNHgQSsNtOgFLVf0iV0HAtmaJObcpqRNBsi2osMfYYQzWN0tCoNjNrv+ /fLUE35DUZi7z6CldH3Dpd95yds06FN/roAVsVw1OS5lLxVzLPTxYC5UB3ilc5bsYETQ T/EQ== 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=SKHjdomro6+7BChFzHN/iXCc8mEJVhUekr8hCyYU6+IcV6olbNfpyglzujTUjE3fNd nuAuCxLFUYIDrKIff5I/pvjMmqEPVK0zyVIa4VP4r1O3beUdunQyX7DMENFMGquYsBv3 /zaFvdE38BbbO3rarZCYAzPmUBaPFdvW8+ouDHBZr21s+eOCQyj+5y9mj6ohXo5s24gR KH+wE270W36s5dCr85GLvXZmWRsdXkv2a+5ccaSDEjpS3YXUb+laFGzVRTEHoLLqv+Fk s5C7jvzDUmcj4wG3x4B/+KxREtPJHypZRwigwbd3yDtb8FsY+fwhi4D6vqGVEdvd4srX Jdgg== X-Gm-Message-State: AOJu0YxH+BYUtN9fpcRganVe8RJYHLhNUblJKyiL0sGulOxZ4orhbmgQ xqxXm9KnKtPQjdYWMsdLFbakcSrOPzsxKzF23WfNBm8zBB9vKyRlycsTu9HZ X-Gm-Gg: ASbGncsRVeKgs1WKGdub1uLNLrFKhV9GzvNS6Og7XiSs9xFdhme5jUuStHp/b5Cn3cv C/YoltbERr+B1LMF+FzzLpQiVty/4LAD26CYCNJzLdmxDB4HY1eIEHQrKfqUVlZqT9SkhErGMGs UJVmNNMpWeZZq5Li/beVBk7f6a2f9/3VafJTULKbup9DgA94uXOffPou13wSXvt3Dird1YBY0M5 OOej7PA1CWbyAPFJH6hWT8csDOSzR6u0RZPVxKktR2HIRkOQGTo8RzfquJVIG/Bxs94HhErdlWp wtV2WDhGBIFfQV3IFThjuWos5dfruUzyG8UBw7Y5X8jTSkOzW65mgPKQ5iRbGVm1y9A4qGumnmI /FA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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) =20 /* 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 dde= bug_class_param *dcp, int matches =3D 0; int bi, ct; =20 - if (*new_bits !=3D *old_bits) + if (*new_bits !=3D old_bits) v2pr_info("apply bitmap: 0x%lx to: 0x%lx for %s\n", *new_bits, - *old_bits, query_modname ?: "'*'"); + old_bits, query_modname ?: "'*'"); =20 for (bi =3D 0; bi < map->length; bi++) { - if (test_bit(bi, new_bits) =3D=3D test_bit(bi, old_bits)) + if (test_bit(bi, new_bits) =3D=3D test_bit(bi, &old_bits)) continue; =20 snprintf(query, QUERY_SIZE, "class %s %c%s", map->class_names[bi], @@ -621,9 +622,9 @@ static int ddebug_apply_class_bitmap(const struct ddebu= g_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 !=3D *old_bits) + if (*new_bits !=3D old_bits) v2pr_info("applied bitmap: 0x%lx to: 0x%lx for %s\n", *new_bits, - *old_bits, query_modname ?: "'*'"); + old_bits, query_modname ?: "'*'"); =20 return matches; } @@ -679,7 +680,7 @@ static int param_set_dyndbg_classnames(const char *inst= r, const struct kernel_pa continue; } curr_bits ^=3D BIT(cls_id); - totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, dcp->bits, NULL); + totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, *dcp->bits, NULL); *dcp->bits =3D 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 *inst= r, const struct kernel_pa old_bits =3D CLASSMAP_BITMASK(*dcp->lvl); curr_bits =3D CLASSMAP_BITMASK(cls_id + (wanted ? 1 : 0 )); =20 - totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, &old_bits, NULL); + totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, old_bits, NULL); *dcp->lvl =3D (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 &=3D CLASSMAP_BITMASK(map->length); } v2pr_info("bits:0x%lx > %s.%s\n", inrep, modnm ?: "*", KP_NAME(kp)); - totct +=3D ddebug_apply_class_bitmap(dcp, &inrep, dcp->bits, modnm); + totct +=3D ddebug_apply_class_bitmap(dcp, &inrep, *dcp->bits, modnm); *dcp->bits =3D inrep; break; case DD_CLASS_TYPE_LEVEL_NUM: @@ -756,7 +757,7 @@ static int param_set_dyndbg_module_classes(const char *= instr, old_bits =3D CLASSMAP_BITMASK(*dcp->lvl); new_bits =3D CLASSMAP_BITMASK(inrep); v2pr_info("lvl:%ld bits:0x%lx > %s\n", inrep, new_bits, KP_NAME(kp)); - totct +=3D ddebug_apply_class_bitmap(dcp, &new_bits, &old_bits, modnm); + totct +=3D ddebug_apply_class_bitmap(dcp, &new_bits, old_bits, modnm); *dcp->lvl =3D inrep; break; default: --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C7EC22ACF3 for ; Thu, 20 Mar 2025 18:53:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496796; cv=none; b=acfqG8/uRwdOWDrVQ+XhulioZB7y5WeAd8dgOWACHs+Sun684pN7Q7JgX/1YgxeZS9fZOZSQ+MSHBLQmWhuyYMr4ncUC4abK8NL9SKqOqDf16W1jC69diTgH8PHUyEbnaCKw4gRDjDlh2Yn/gLHGu6AOtksgkh1kilDxk3hea/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496796; c=relaxed/simple; bh=usQXJ6acUzXbWC14vd9VoA6lMsRwOXskrYH9hSAqoX4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iHBs8bMNkCGmqkx0cQ8M93xVDd4E+mZuOb4qUbcSTt1c4ySHr/8wZYd88LTi4h7Vf+4nM4ysHSwLsid8YQo/jHC6XHMa6SpDo0Obd7lSQWyIip57eN6Tk6CLyWm1obMlV4E5LIOry8tn0mPIr2cng3inDUOAzgRvbbyQlNMhkIk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RohgweeN; arc=none smtp.client-ip=209.85.166.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RohgweeN" Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85b515e4521so36853939f.1 for ; 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=vger.kernel.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=RohgweeNyaEVkz6a5UwpWX2r8bwXHey9hKbcEwzwnybhKjlvUY9NUYbEHy+Z2PpMQH G+uR4IytNBbCe97GKd8/H8x6yJSwTx8Xo9qk/sn8lfRFYwNKr8w6+KzBwufaQpWLF8L4 METl10/Gr5WhNFxh1DMruXv3f2rgWWyprmESEQrTL8+D2cGcrjq2h44tpVDrPUMmuE8M vlgjwH/1TQOMn23Tggh44Ms5nx1kzcIIMPal4Yti/JARsoVJ7e5JqPDrTnxCCGifgUq+ dEWwZf/EcwI6nQZRl47qs27mGRkcZl+bVleGsGruR1cwLvH1FaT7r5aD/iWbu2JKit9G zZNg== 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=rgVwOQU1v/u3cyEQui7jjNpXzkTi6ZBpF7tPJK5/m+JX1mSaeF8jNBNGf3jYP1Wrs6 lTmcZLahh8gcCDKVlX4nO9eQW5ceIPBBXrW43eIGe5jVZi66JMSz8oaly/CwpORoKEhz xiTkPZgkmgni9r8qqZentk/mxWqHa/fmOGE4tKwSSIslw7JVAq60YCPpbcoRT9FKBCKx I9hsb2HIW02wwK5M3SntbE/94Ct7td1puJEJB+q/qUvHcwYrFg09PJ4C1tYz5g2+pjrV lPWfUJxVafpxhQecyTOrNzycMEx0bWql+BqLwBOTYJ0RRtVY2Cfiw0gb1dZuDu0MwJq5 iD7Q== X-Gm-Message-State: AOJu0YwlUnJAzS/LMybd2JNgKAl3O0GHTgIYw/hz+XEtbn2C1GsPFxJp KC55aQEi//gBZViDCiAb4pE7CAQE2sB7PapwHzT0IJv/SDuXl1UYo9xxF4cy X-Gm-Gg: ASbGncs42Doez71Ehx+H13wiPz0VVymyB1+7vbvFyrVzT78aimnI0JYGJT9QxBa0uMu hMU8Yig3lwhenmWG7wJh8VkiP9FNrrnZtUSZ5ZcDj1s1bZWJRln1lZKzYIQGy1pdComUDKhsbCR q4OKsc3HMypBgOIhpfKifiYy5HbrXVC8BPakRdE8BxqlQyGt4bJi/T0vF7ySjPfHqqMvvFJMb/x BFJ+2vxpeBHsdlfpk9So+nrd+Ls8IB9iUp9IJS8O/4fnMD8HkHrC8v+xgUz2MduaDnhhS5dHMFo FXaHe+M1ZD8qOJg5y4gQcddnu1QTW1mYeoZU2kxEMmEvCqyklOtanuoQaB/LZhgu+ob81vzlXp5 8IA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 { }; =20 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[]; =20 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; }; =20 struct ddebug_query { @@ -147,13 +148,15 @@ static void vpr_info_dq(const struct ddebug_query *qu= ery, const char *msg) query->first_lineno, query->last_lineno, query->class_string); } =20 +#define __outvar /* filled by callee */ static struct ddebug_class_map *ddebug_find_valid_class(struct ddebug_tabl= e 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; =20 - list_for_each_entry(map, &dt->maps, link) { + for (map =3D dt->classes, i =3D 0; i < dt->num_classes; i++, map++) { idx =3D match_string(map->class_names, map->length, class_string); if (idx >=3D 0) { *class_id =3D idx + map->base; @@ -164,7 +167,6 @@ static struct ddebug_class_map *ddebug_find_valid_class= (struct ddebug_table cons return NULL; } =20 -#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, vo= id *p, loff_t *pos) =20 static const char *ddebug_class_name(struct ddebug_iter *iter, struct _dde= bug *dp) { - struct ddebug_class_map *map; + struct ddebug_class_map *map =3D iter->table->classes; + int i, nc =3D iter->table->num_classes; =20 - list_for_each_entry(map, &iter->table->maps, link) + for (i =3D 0; i < nc; i++, map++) if (class_in_range(dp->class_id, map)) return map->class_names[dp->class_id - map->base]; =20 @@ -1208,30 +1211,31 @@ static const struct proc_ops proc_fops =3D { .proc_write =3D ddebug_proc_write }; =20 -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 =3D 0; + int i, nc =3D 0; =20 - for (cm =3D classes, i =3D 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 =3D di->classes, i =3D 0; i < di->num_classes; i++, cm++) { =20 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 =3D 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 =3D cm; + } + nc++; } } - if (ct) - vpr_info("module:%s attached %d classes\n", dt->mod_name, ct); + if (nc) { + dt->num_classes =3D nc; + vpr_info("module:%s attached %d classes\n", dt->mod_name, nc); + } } =20 /* @@ -1263,10 +1267,9 @@ static int ddebug_add_module(struct _ddebug_info *di= , const char *modname) dt->num_ddebugs =3D di->num_descs; =20 INIT_LIST_HEAD(&dt->link); - INIT_LIST_HEAD(&dt->maps); =20 if (di->classes && di->num_classes) - ddebug_attach_module_classes(dt, di->classes, di->num_classes); + ddebug_attach_module_classes(dt, di); =20 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 =3D list_entry(ddebug_tables.next, - struct ddebug_table, - link); + struct ddebug_table, + link); ddebug_table_free(dt); } mutex_unlock(&ddebug_lock); --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B26E22AE75 for ; Thu, 20 Mar 2025 18:53:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496797; cv=none; b=Jlpczl/QyKQOVAAI64Qoayj7kdqp9kK6vbn8KgI9qqm9BxsXslMxaXpkKAjkV7EV7SdW+/S0gHxY7aHq7oAPwyFHzEcApwigDmWT9oViVQGWL9xo5my6oBmIT7JzOQ+0DCDhaVAmwV5iCKMpblNlxz+y9yfAyZIYAQSzABxEYt4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496797; c=relaxed/simple; bh=1K6DQhZhFry44gYmbighccKt/i7eLBnf4xU8SdNM/QY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ofjyGe9Ffv7YDVOvxGzyDvsSpxWSGCy5AcYrLgoP78N2DBgo9jNFhEluqW0IOGeD21J5SRCRkUuHIK3vK5DgzwFQnSoeiT/JOpAEIRhP7MTuhe131NNEWzDeWQN8Kf0608/5iSKI/FPwQvtqaA0whUWWvD8dVOg27edSsl2VNYE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=VJGV6nXf; arc=none smtp.client-ip=209.85.166.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VJGV6nXf" Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85da5a3667bso37818939f.1 for ; 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=vger.kernel.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=VJGV6nXf4sSCMk5s7YeHzgBVUfvyHn77ZEE/a+CBjQTnhoO6XvncH9hogIjPS6vtEi rkxZZg7w3d9SFDTYUnmJyiownVZrglwku9QyQQVCyctCKHx4xh8XMQHM+JmnTtE/RhK3 TZ20J1uLwEDJ7uWVqvomSpm1UgyXbGXmB7hKzq20c2//Ox2MFoBpeeDnyJL1Bk+TIVzV IJqXaOTebcQ4a+0uEf0Fg/QBctEWjdg34kUR+65S9rkEAhzL1NQhiAlzEOA/8Nj87tF3 oeYwHd5S38CkFnSE2U0pQTAI0XUjXhYiTWtdUNiTSx8yHz/oxZqzYSh2XTDdAkTJxiak +j4w== 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=uNuRZYbEvUdc7y7/XWcttp0Nmi453nu4kYaINo7iLhsGKmNn+/xzRDPEPiv0oPg6XX 35qgKH0kzcfYEPeUw+5B83ymuMe7YcQZqJgEv1HDt5P6WJdXmpEM2Nu1qUfulax/t4cr Cl0cPgbvh8CbEqPF+075y+hUrPw6gy+Tk+y+6H5Gc9woXDCe1aAP4qU7SNOgVeKySj3C CLNcodL0qjBGOn1xBo5cpLoKxWJjwbB8mAWFA+ZDeKTOYisP2MCCc1t7yGd2l/2qjK4t Hu7eQiX8MudMsOZxJ514VXGwg2Q4/FV7ET0Ams8DZzQtiAxJNQ/m5CJYIXwPH52rHAPy WUMw== X-Gm-Message-State: AOJu0Yyen6g5aPa+a+lFQRnNTH1kzAUweizAaLP18X7FV/c9ebuGGgyU B+KVUtOKe8XxkgARX3NthoVBrRFBwks4aXog6+kwqw2GbbTonWxw6yig2sU7 X-Gm-Gg: ASbGncuSBOy5/eMvYNeb3BRHjFxLpnyoTrzuzaHImxCx9Ms1PNW/Q/o5lf+3IYMgHlu JDvRBdCgoCy2ruzqUHbQ2tkNyNGHBSRlNCnCotdXxV0TOWG+DWMlpRiFYgikggLK4FLsXeXN6W6 e4D+igXC/NXdFMQHXUBIPqt/KNiqpPatnFflSjtrFBodLEOF1RKAU+izIUxhNI0mjlbMlMkhBC1 6QO0BHTtE4XTV6R60faI2+rgp+YX/oQX6xOBjg1w+BKYSh5tK4bTHk3S5vcKq94ghOt7slscwE1 WrbQltOPDIckoKz8Moms9RvxJkkTH5m8igVjxCiEe4Xk91idERtudrFfpATtJrAiUfx1rFc+tT9 laQ== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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__) =20 + +/* + * 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) =3D 0, (_sp) =3D (_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; =20 - for (map =3D dt->classes, i =3D 0; i < dt->num_classes; i++, map++) { + for_subvec(i, map, dt, classes) { idx =3D match_string(map->class_names, map->length, class_string); if (idx >=3D 0) { *class_id =3D idx + map->base; @@ -1221,8 +1236,7 @@ static void ddebug_attach_module_classes(struct ddebu= g_table *dt, struct _ddebug * the builtin/modular classmap vector/section. Save the start * and length of the subrange at its edges. */ - for (cm =3D di->classes, i =3D 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= ", --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E6AE522B5A3 for ; Thu, 20 Mar 2025 18:53:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496799; cv=none; b=WVWeHyMCNbvb7zeuWxzzLdToewdEIh8075bSalGgsrJGE0IQYHs+cmb4ShcrmrS7iZGsDlf66hox0isPy8quLw/Obx3tpHpjQluB0fUcEDhmyfUTuiPx80Q7zdmOq0h9IhXZAFFrKDrNo4Kwooi1RGY3JobWrm1jPu0YNPniCjA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496799; c=relaxed/simple; bh=nfg3TJuouibltbqWNEewlwpiCRrEbv05PhCTtckZEuw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kxKl+7Luw1Yj0TlXuXEIRovbqUTXSnB9rG8Ceyr/V+DhwAnddOfKib1JpskKG3Fp8hoWLCbY4ePJO1ST96lo61B5USfTPLxyepSeSvPfm1RF8b5NzbmBz1R7sXOeREIKwOZTQgJnR8PToH7UVeAou2OFcLbQKq6TcUmjWCjA+rY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=eqZIh9jN; arc=none smtp.client-ip=209.85.166.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eqZIh9jN" Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-854a68f5a9cso86547539f.0 for ; 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=vger.kernel.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=eqZIh9jN2G08IdMB/hrV8KDgfbDg9SPmKMbN3eYbtC3cgCbg7CexjUv83L5l4h11ex Q7LnOdnrGJ5GMwZF85bUwj4Kl8hZyA1i7c2xx2Kn6ynPcbUDFYC/8pYMQUtGeHo+xAEi gyyOq0vfjkWcGBdr0mEAxRQclYype3TaqHmvmtCPG4Kk7GaUNlp3laVxBVgr74RROpI6 Ozuu2t135KfBbbGHPufWfnJcUVOVM2WlR09EwvWtv+dcWxNPBcwMmXd1OsRe0MluwfOC uYj2aFWBFx86hGrTAetRwlQEyb99QmYEDIR75786sLLfFXNBZShoxuMPgIs76+v47pE2 J2Fg== 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=Crtdpb43CxjnPRQG2szOZUYMPzdgOthdVudxyXqBvKZJy4l7jGdfRsHiYD1reLwNKJ yM8MxOdUg2ZkW1HllwZE+TOG6UkJF8BMUkRhBgM7YTklCpeirh2gk2SY+oIpotMPq4Fo Fud7dTxt88N0jAJXM8GxfITdFrAAmo9IuJNCZ8bIzniRoYfknQq1GBA4tqblT7agZy2B pU3+QVBK9Lkmlyp82DBrID3VRXCPsMafa+xzMt3KowK8e0qazT1V27NNVvrP2Kw9+Haj /Re3DZRcYIuySPoKeBWx9A44a802GDE9revpaLN5oP7QPfdu384tgIkFdDdJ1Teyh/zg I16g== X-Gm-Message-State: AOJu0Yz/0CdMmGTsWqjoHlPS5msMrQ15AyOEFuhIM9OpLBmArGIv1x5r E0Sl000fAKFxPrc24/bbYKTJ7ozs6eeh4m81RuFzFlYt+TY4nzhFAV9Yd9mJ X-Gm-Gg: ASbGncvWTE5hBLqRxzEyfHRufz4FM6jT6dffWxhMsddaw+l+M+0eM+GbFgcxDuBtMIM 1YLZ8egkx5qQX8MhHuW9dmA3ETlg0IsJlG/BgNjgizFm1da1SJ/84kU7S4Y/we1orbLhoS+4+Kq vgdNJmTf6kMukjhOVp7+9HaGN3BuVDdn4QIzX4z5Q5rEf63qZwqiz+cCGiL26kXudh7e9hw9SVS 8VOt3N7dgmIwqBbmRWEdjpUJD/CxtpO2j49KPa7EGm3R1vabZHbHNo05Risj3MdAGP0sK/BIVU/ mziN/7YXzLIf2IveWLgGwHX//cQRr0c1Y/xg6iHx6aOsXPgwnEZrqmVsCL5zufMRPPv6kLYhLAT Jeg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/vmlinu= x.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_PROPELL= ER_CLANG) *(__tracepoints) \ /* implement dynamic printk debug */ \ . =3D 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 =3D _var##_classnames, \ } =20 -/* 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; =20 struct ddebug_class_param { union { @@ -159,7 +169,7 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor, =20 #define DEFINE_DYNAMIC_DEBUG_METADATA_CLS(name, cls, fmt) \ static struct _ddebug __aligned(8) \ - __section("__dyndbg") name =3D { \ + __section("__dyndbg_descriptors") name =3D { \ .modname =3D KBUILD_MODNAME, \ .function =3D __func__, \ .filename =3D __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__) =20 @@ -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); =20 #ifdef CONFIG_DYNAMIC_DEBUG_CORE - mod->dyndbg_info.descs =3D section_objs(info, "__dyndbg", - sizeof(*mod->dyndbg_info.descs), - &mod->dyndbg_info.num_descs); - mod->dyndbg_info.classes =3D section_objs(info, "__dyndbg_classes", - sizeof(*mod->dyndbg_info.classes), - &mod->dyndbg_info.num_classes); + mod->dyndbg_info.descs.start =3D section_objs(info, "__dyndbg_descriptors= ", + sizeof(*mod->dyndbg_info.descs.start), + &mod->dyndbg_info.descs.len); + mod->dyndbg_info.maps.start =3D section_objs(info, "__dyndbg_class_maps", + sizeof(*mod->dyndbg_info.maps.start), + &mod->dyndbg_info.maps.len); #endif =20 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 @@ =20 #include =20 -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[]; =20 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; }; =20 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__) =20 - /* * 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) =3D 0, (_sp) =3D (_box)->_vec; \ - (_i) < (_box)->num_##_vec; \ + for ((_i) =3D 0, (_sp) =3D (_box)->_vec.start; \ + (_i) < (_box)->_vec.len; \ (_i)++, (_sp)++) =20 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 *que= ry, const char *msg) query->first_lineno, query->last_lineno, query->class_string); } =20 +#define vpr_dt_info(dt_p, msg_p, ...) ({ \ + struct ddebug_table const *_dt =3D 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_tabl= e 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; =20 - for_subvec(i, map, dt, classes) { + for_subvec(i, map, &dt->info, maps) { idx =3D match_string(map->class_names, map->length, class_string); if (idx >=3D 0) { *class_id =3D idx + map->base; @@ -217,8 +221,8 @@ static int ddebug_change(const struct ddebug_query *que= ry, valid_class =3D _DPRINTK_CLASS_DFLT; } =20 - for (i =3D 0; i < dt->num_ddebugs; i++) { - struct _ddebug *dp =3D &dt->ddebugs[i]; + for (i =3D 0; i < dt->info.descs.len; i++) { + struct _ddebug *dp =3D &dt->info.descs.start[i]; =20 /* match site against query-class */ if (dp->class_id !=3D valid_class) @@ -1065,8 +1069,8 @@ static struct _ddebug *ddebug_iter_first(struct ddebu= g_iter *iter) } iter->table =3D list_entry(ddebug_tables.next, struct ddebug_table, link); - iter->idx =3D iter->table->num_ddebugs; - return &iter->table->ddebugs[--iter->idx]; + iter->idx =3D iter->table->info.descs.len; + return &iter->table->info.descs.start[--iter->idx]; } =20 /* @@ -1087,10 +1091,10 @@ static struct _ddebug *ddebug_iter_next(struct ddeb= ug_iter *iter) } iter->table =3D list_entry(iter->table->link.next, struct ddebug_table, link); - iter->idx =3D iter->table->num_ddebugs; + iter->idx =3D iter->table->info.descs.len; --iter->idx; } - return &iter->table->ddebugs[iter->idx]; + return &iter->table->info.descs.start[iter->idx]; } =20 /* @@ -1137,12 +1141,12 @@ static void *ddebug_proc_next(struct seq_file *m, v= oid *p, loff_t *pos) #define class_in_range(class_id, map) \ (class_id >=3D map->base && class_id < map->base + map->length) =20 -static const char *ddebug_class_name(struct ddebug_iter *iter, struct _dde= bug *dp) +static const char *ddebug_class_name(struct ddebug_table *dt, struct _ddeb= ug *dp) { - struct ddebug_class_map *map =3D iter->table->classes; - int i, nc =3D iter->table->num_classes; + struct ddebug_class_map *map; + int i; =20 - for (i =3D 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]; =20 @@ -1176,7 +1180,7 @@ static int ddebug_proc_show(struct seq_file *m, void = *p) seq_putc(m, '"'); =20 if (dp->class_id !=3D _DPRINTK_CLASS_DFLT) { - class =3D ddebug_class_name(iter, dp); + class =3D 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 dde= bug_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 =3D cm; + dt->info.maps.start =3D cm; } nc++; } } if (nc) { - dt->num_classes =3D nc; + dt->info.maps.len =3D 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 *d= i, const char *modname) { struct ddebug_table *dt; =20 - if (!di->num_descs) + if (!di->descs.len) return 0; =20 - v3pr_info("add-module: %s %d sites\n", modname, di->num_descs); + v3pr_info("add-module: %s %d sites\n", modname, di->descs.len); =20 dt =3D kzalloc(sizeof(*dt), GFP_KERNEL); if (dt =3D=3D NULL) { @@ -1277,19 +1281,18 @@ static int ddebug_add_module(struct _ddebug_info *d= i, const char *modname) * this struct ddebug_table. */ dt->mod_name =3D modname; - dt->ddebugs =3D di->descs; - dt->num_ddebugs =3D di->num_descs; + dt->info =3D *di; =20 INIT_LIST_HEAD(&dt->link); =20 - if (di->classes && di->num_classes) + if (di->maps.len) ddebug_attach_module_classes(dt, di); =20 mutex_lock(&ddebug_lock); list_add_tail(&dt->link, &ddebug_tables); mutex_unlock(&ddebug_lock); =20 - 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; } =20 @@ -1436,10 +1439,10 @@ static int __init dynamic_debug_init(void) char *cmdline; =20 struct _ddebug_info di =3D { - .descs =3D __start___dyndbg, - .classes =3D __start___dyndbg_classes, - .num_descs =3D __stop___dyndbg - __start___dyndbg, - .num_classes =3D __stop___dyndbg_classes - __start___dyndbg_classes, + .descs.start =3D __start___dyndbg_descs, + .maps.start =3D __start___dyndbg_class_maps, + .descs.len =3D __stop___dyndbg_descs - __start___dyndbg_descs, + .maps.len =3D __stop___dyndbg_class_maps - __start___dyndbg_class_maps, }; =20 #ifdef CONFIG_MODULES @@ -1450,7 +1453,7 @@ static int __init dynamic_debug_init(void) } #endif /* CONFIG_MODULES */ =20 - if (&__start___dyndbg =3D=3D &__stop___dyndbg) { + if (&__start___dyndbg_descs =3D=3D &__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; } =20 - iter =3D iter_mod_start =3D __start___dyndbg; + iter =3D iter_mod_start =3D __start___dyndbg_descs; modname =3D iter->modname; i =3D mod_sites =3D mod_ct =3D 0; =20 - for (; iter < __stop___dyndbg; iter++, i++, mod_sites++) { + for (; iter < __stop___dyndbg_descs; iter++, i++, mod_sites++) { =20 if (strcmp(modname, iter->modname)) { mod_ct++; - di.num_descs =3D mod_sites; - di.descs =3D iter_mod_start; + di.descs.len =3D mod_sites; + di.descs.start =3D iter_mod_start; ret =3D ddebug_add_module(&di, modname); if (ret) goto out_err; @@ -1479,8 +1482,8 @@ static int __init dynamic_debug_init(void) iter_mod_start =3D iter; } } - di.num_descs =3D mod_sites; - di.descs =3D iter_mod_start; + di.descs.len =3D mod_sites; + di.descs.start =3D iter_mod_start; ret =3D 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)); =20 - 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); =20 /* now that ddebug tables are loaded, process all boot args * again to find and activate queries given in dyndbg params. --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B48E622B8AC for ; Thu, 20 Mar 2025 18:53:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496799; cv=none; b=U3++CMBuFyB2Pnr3iC7X2OBAzRGIjNEH/2L/MjjZ/ERha1aEVz4C7Xrgt61N7r4ECd5asYkz/Bqj7/WcX0nRsZDASOgMQcG6VsSoaoOyioImrqhJV4DMRy0gvW0kUkt+bCZ+t1LXlVAFiK15I90LgnMpJR1okfjEgt7sgTnxgwY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496799; c=relaxed/simple; bh=UXC15kbZCaTco50epMVCElx0nBgn4V0FD6B3mqO6Z2A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OSq7uChaej4tMYXN6l8putBeLVEGEKm4szNzIasPwpodObJ6aXeLcGV8tXFo1w4tVuA/W6p5boJZJj5g+6yTbcsvMIV/HnOyDUZ4amBfsih+isxm2e515jP4CYoEcUZ7TzrrOTyP7oUYplRKFUoAH60F8w40hAMW/7oMKC7YH58= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=nZWGYZjJ; arc=none smtp.client-ip=209.85.166.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nZWGYZjJ" Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-85dac9728cdso28591739f.0 for ; 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=vger.kernel.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=nZWGYZjJQKH7V/zvDmxlqs9c1tNqksr75PJqeqbF2ZMSOg/n3QV9zbA5qmTMYDyAgx +tv5vn/7JMSaodjLIJgo/WpF0WiR9N7PL81DeaMfe+OYosZqRXWJIoZmUJHKIg0tW+XD PqaAUjUQs/RWKDFSST974yjydvoETBGF1FoQC8nV3n0jyLCHogVak0k9TadgPUUEUvZS DXeqgjRkzUPkjC64Ki2jq2TSe47SlGTtsbBsLiXM+GiM5V4esuD+ecCcfPrs13tH/moe V8EYcFgbNXvI3EVA5xtOUH+/IxDJhk/m9MRJcVIoCV8i1v0Eu/XOf9AbGn9Zi18fIgk4 THlw== 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=SUoNZjZKZkVoSdwxHoFvr/dCFz2l+95VVVfM1Q2OgLevSu7eOf3B1o42wLmVhmwl6S Lq3RzZR59wPvrA4cgK0F+2h+todOaZHtKTjlvou3ZsTR5sM7s7+d1bTvpphFCOukAJ/T CeepA4k0j7hpofEiCu3hA3dAOaf8m70zQEdbSKF+FhR5kllI2Pvjj/Ab+XWbPQ8KbioC U3offUfkDmFIAlUNwgsulT4dO+vftlW1TFHxi62XZP06kcvd8R0eCFvuhm5YpkO55AtK 4MNGOBeIAd9kAHJYqqCwjDvjRGxbAxLy9jbpbYdFfb5uEqdwDjD77wyjfNjw47kvvfWi TzgQ== X-Gm-Message-State: AOJu0YynDu7USjxS4zhFtekkSW/H1LqU5WnKS9MFbHcfrWeh5ju9H/Qr 7bL4Y36ZxIkDbnKc5v80SlTvYlj3Z2sXhgaAogZtqjIWmVvvUc/52bhx8au1 X-Gm-Gg: ASbGncsoReiVR64CZhzcQCgrValJ7uqztI9GmEcQOJ8B01Y0c+UF+TXKcWIqnOlNDzT wfdBzmTYOa0ig2CP+MBVZcsAqgMgTTQ+OxHIMA3u3cIb4yYwflANnZKS8rn2BlskAvBjNKl0DUD wD+ncxwZuK0gOUsJIzTIVwobpcESDCM3CHYJQ9fR2pQmVQM7+5AzO7P8fSelTIkDyBvlMDA3ZaN TpHBZ4jKxZ5R4oXXoNYlcUO7PHc8rOaOmBxi1fYb/krZs0JRMIVgZtUkkWUFi4iyHxkIcBKqI/w ZJdxw7rc516AbmRP4faf5iwqMgK4WM/bVuqp0ja+yAsAv31lFn2SBkIz1KJWGuARhL2DO4jAZDj jQsAoNMgqt5pc 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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) =20 -#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) =20 #if defined DEBUG #define _DPRINTK_FLAGS_DEFAULT _DPRINTK_FLAGS_PRINT --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E286822B8C4 for ; Thu, 20 Mar 2025 18:53:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496800; cv=none; b=sLaGTFsUBfyXZdWJeig+ZhLeWB20LfpDYed6tLDbQ7zGZ5D0QGW77KSMYMlcimG2vm0so30VapsRIeX6y7WbJj9Cfphm5T0uoVFLLrpoqz5CHikF00KwKJSJ2UMVdse9838XSEXUYgwAZUZyqzFU62gIJP8vsAfGSxz4WaFADgw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496800; c=relaxed/simple; bh=pALskfNdMJkNL/AohFvEmiVIFnssjOgkVCcrFeimGac=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SoXHUup1dL4CsRgkR8WJc8ofcvT58kkfwaHDlxINbLW3+bowrgvCOSGwrO36hLYO2dkLnoMvmUSPomqq5HcrAV/vmflWz2kKJO8I3vUZCOgcaP3rzM8efRLIjK6NZ/JfUPwkUTu3wg1GNbugKZI36EGSH7Cd6ck8R0UYm7rEm20= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=c4sc5Xay; arc=none smtp.client-ip=209.85.166.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="c4sc5Xay" Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-85db7a3da71so81500239f.1 for ; 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=vger.kernel.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=c4sc5XayCBThlCsDiJT9xsf4/0NhBy5zR9hA4NFcpuKLm4ff2akA9tCvGDoq1iRaOt 4wTwIcMPmZhgsjivsUjrQnCJMhh421r+Ktc4mP4j9r+SB+hoa4ilnYtU0c0gmzirbokn +Dj8Edog/ZJ7C5IdZhtxBFDYT0lw+rOAIBn+Dh7pcqffaIifbAC6E9w+HwWHia8hrpCx ZhRi0jLPfMR63mE8AjA9DNg/ECGCWTL3SD/4COR6zwxkcdTMzkwL30IP5yZTroEMSoNi r4oY4qioJDAWh7TnNLgWFehJbu8dAuDtiH8clhOMnpwx+iPYCeoXLuourZjieFKnO/DO 00mw== 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=CzCJXEoVC0odHL5s2n9JOUvFx+hQoslnoKRE/HfisWVw0q+SH9dp4jL/SdH40wEKNM nSgu1uI/+A90NVXqj874vj234ugFb/hHA7jCQirO1QV/ZSqQJJs/J+CNRVSm5q8qbTj5 QqZky5elJ6la/GgDuEll41dJa9vC114JTx18SfegpzYHK339AsNV1rOLqxUQfgLQzNuk tHzqzPplTSblWf07ae2t45GvQoKFMMC/ZIqLO81WGgbzbnD+JfB6Aq1xCl4vFrBBcvqT lnPuGoUtltI+hu9bYBuiF2+04QL5rlJ0dh+baWLqeOXqTumrwfiCQ8eFU9aaBHnHihvm KzZg== X-Gm-Message-State: AOJu0YzQ2UzV9RFfrnFUnY981vPrAxAGcJoQXNiPTQHa/NDzPttSotVn ncEvlfn5CgEv9a6TYE47ckjifnN7umw+11/m6CsBd8PdnVWtALj8fSm33rA/ X-Gm-Gg: ASbGnctwu6TSlADcSAg5awbEPylwmGut6WqDq466qoKfB3dsMmLAl1QBD/+vpaidB4F 7PBi1AJU39y57j0AfONkdB5w4kvxZQwrZB/OeIhmkwVje3FDbGktcrU0bU34bfph8gBexx6Ky5R GP2deEkmWQbpxUbGYMk0xaMKgQ7JEmqY4rjtHSFPbwqmOsupVWsEE6C+e3BwQU59ptEmpKnBxAB YRRw+YnfaTR0Nu8LsdXLFWK9JE7Z9OQaJQys/yzxyQxULJ+0NyspA0rpfrhD59mbg93Dc3QBF4F 8q9oRfTESJ2NzWEnC+cpMYOiOUD75qDopw3YCce8IQhqwuW9XgndJ1Frk7MkJVJfHkV1RONI2Tm YBw== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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; } =20 -static char *__dynamic_emit_prefix(const struct _ddebug *desc, char *buf) +static int __dynamic_emit_lookup(const struct _ddebug *desc, char *buf, in= t pos) { - int pos_after_tid; - int pos =3D 0; - - if (desc->flags & _DPRINTK_FLAGS_INCL_TID) { - if (in_interrupt()) - pos +=3D snprintf(buf + pos, remaining(pos), " "); - else - pos +=3D snprintf(buf + pos, remaining(pos), "[%d] ", - task_pid_vnr(current)); - } - pos_after_tid =3D pos; if (desc->flags & _DPRINTK_FLAGS_INCL_MODNAME) pos +=3D snprintf(buf + pos, remaining(pos), "%s:", desc->modname); @@ -875,8 +864,29 @@ static char *__dynamic_emit_prefix(const struct _ddebu= g *desc, char *buf) if (desc->flags & _DPRINTK_FLAGS_INCL_LINENO) pos +=3D snprintf(buf + pos, remaining(pos), "%d:", desc->lineno); - if (pos - pos_after_tid) - pos +=3D snprintf(buf + pos, remaining(pos), " "); + + /* cuz LOOKUP, we've emitted, so add trailing space if room */ + if (remaining(pos)) + buf[pos++] =3D ' '; + + return pos; +} + +static char *__dynamic_emit_prefix(struct _ddebug *desc, char *buf) +{ + int pos =3D 0; + + if (desc->flags & _DPRINTK_FLAGS_INCL_TID) { + if (in_interrupt()) + pos +=3D snprintf(buf + pos, remaining(pos), " "); + else + pos +=3D snprintf(buf + pos, remaining(pos), "[%d] ", + task_pid_vnr(current)); + } + + if (unlikely(desc->flags & _DPRINTK_FLAGS_INCL_LOOKUP)) + pos +=3D __dynamic_emit_lookup(desc, buf, pos); + if (pos >=3D PREFIX_SIZE) buf[PREFIX_SIZE - 1] =3D '\0'; =20 @@ -885,7 +895,7 @@ static char *__dynamic_emit_prefix(const struct _ddebug= *desc, char *buf) =20 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; } --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC41122B8DB for ; Thu, 20 Mar 2025 18:53:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496801; cv=none; b=HpoXwhggFeOjL4wQoHGnKZ6gNBxCre4gPbC4L5UQX7DqnMlp7TuQCQY2p8n8p+OoCbYBi+Iy782le/zB2Lfdc/ESU9UT6Ugn0Ts28wjPADl2iOEn3RlFbpK7RqYvxlGr0dwL5IavO7SNuNU7KE6+E4gM3tZn2r+x3kInv0JzfQ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496801; c=relaxed/simple; bh=LDPjjvj1+ESf+Tko3z87s2Q4I5ChRFj1fM9WdfaD/o0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JQt+Rgzxx4+6vmt0dwUHWiWUAmwmpe3KGtyVerLtQDz+8TNS77t5j8jRPlJKSv4iIV1vOu3OMl1sJ9OWaAptD1imJmBApCoEq5/izp2N4C2xB8w5otIcBwY+KC5gI2RIl6hIRpDdbIrq/2RN4Z/hFzdUaY2G6RE1kWYbEjTPfM8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hhu/AGb2; arc=none smtp.client-ip=209.85.166.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hhu/AGb2" Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-85b3f92c8f8so103380639f.1 for ; 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=vger.kernel.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=hhu/AGb2SFl86C70J5w2Eu8MK83feUEhY/6A4VqMFHC2Qn6MAzDvKmx98iN2YqI4DN fs2j4PScfzNbY7zMHG8+wGar1B6U4QEmGXkNYMFJo8FYH3gBIjlt5AMzSDB4IEpLTQ6u yACzunYl0l9FsBLce4zWH7U0a7zYQw9qHyx2zQrNAzZElkgS8QRfLcyp8mbhgEVHkr6q GszYQxT6/YECKJog0UB0LR6m9ZO0lJTmRPTLup1o9Vfmbpf8/j5QAdkl/R6D/WI8LUCy Lasi1CYvNpTAln1keqekopsEzUfJVW3iw3yVVkZ4JyH/Tasfk3n91nXzp0P8df+o+i+c 3/ng== 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=jbk8mN/cde6zaMFCnIXCW1M2fqK8Um/gsDnV1KQutmlnRgwQ4SdJUtPH1bc9IT46DI u0/DpuLSxmFagiQicIuPvUy92iScP0PGx3BXIrXs8wrqiDqlwkZlZ620FaP1vvYZahOK pbHfYW8ojOh7HQ5sDx7TzJYWyGNJ6EMs5+4MdIgG+K/fTSb9VjWt8xK4iYyPImsJOguH 7WNPlCHKkXXAkBO1BpgW0TwlvgDSdp7ImBSZb4RizeAG0MufDgRtwPpFK1mPS4+4Y6Hj E/hXknySbTopaH3WcOa6vDR7yvaHy3CRcIGWXeSR7LzxQlWvrMcrfWcyjxq+Z7wmvUdU 1INw== X-Gm-Message-State: AOJu0YxRG81vQ9LZNwYMa9SMmaof29AqiCnjIm3YsE6JV7hBm1tlqJwS x+4vXfjFVfTfjI6AzG+0DEkV/8/lJLqxf13GIAPSXz3i16LXkdLH4xW3dhy6 X-Gm-Gg: ASbGncsKi90U0qlq5/a9aOD2/9CfGfPKwKqjPe6/CXGeSKxcrCz1ui2qa2dCYCop+mM in4sO6EFW6yzY2uQ+8b2akmmr66cK9UtRdjxy7R6HoCTbhj9PIGploDjEy56rAqztVQPbIFuK6s y/NGt100juhwKCzlNHTZt555l5Zgs4XCp9Wh+Roxkc/vDYcMpMuh6QpoHJ+h/HDnWRDgs2f/NdW 6Iz3+wlRUdLseuH6Atvmbe6bRORa1hPLikGz4lqZ2riZe6Lvt/pwO6DmiPMx83/cErq0+PLJy1x RW1Z5DxJaxPvg6QdbfF2QqGRMEQPJ9uVSlbmP1ihSOphnfMWh1b19S+SEnW++fAQvJbNZVD1vV5 sSA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =3D { =20 static void ddebug_attach_module_classes(struct ddebug_table *dt, struct _= ddebug_info *di) { - struct ddebug_class_map *cm; - int i, nc =3D 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 =3D cm; - } - nc++; - } - } - if (nc) { - dt->info.maps.len =3D 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.l= en); } =20 +/* + * 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 =3D 0; \ + for_subvec(_i, _sp, _box, _vec) { \ + if (!strcmp((_sp)->mod_name, (_dst)->mod_name)) { \ + if (!nc++) \ + (_dst)->info._vec.start =3D (_sp); \ + } else { \ + if (nc) \ + break; /* end of consecutive matches */ \ + } \ + } \ + (_dst)->info._vec.len =3D 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 ddebu= g_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; =20 if (!di->descs.len) return 0; @@ -1294,6 +1300,13 @@ static int ddebug_add_module(struct _ddebug_info *di= , const char *modname) dt->info =3D *di; =20 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); =20 if (di->maps.len) ddebug_attach_module_classes(dt, di); --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C3D722CBCB for ; Thu, 20 Mar 2025 18:53:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496803; cv=none; b=e2h9CFNHsJxYAx/ig2khEgSRZz1e2GyKJLeJU+GaaHgC18LWZsFKlxAsdH+0pzZJ5+vB+mZ//9dgS6/I8SSwP0L9vcsju279qa4LcKXTVMyOgpQl/fenzDkt/jn4GRXdfmPR/HjRU4JA6SY50gABGIHXWGUheOwS/J8x52cffUk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496803; c=relaxed/simple; bh=SqbN7iEUQo7cf7VWQtNWzQiuIR/RUM4wGa/LOG9bL4k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=erSsVPQb0O30aBLeYNycozuPE4H/teB+D2ZWk9iF2tGxP8FOSDRkmc4ivRAqWAr2Xpcce+NAR+kBjK3qGXN6ZFJ65Vt+KMCNVw/TLAnxzFjjN9EaQEbHQvr0cW9Bh+Xw6g9WJhpfMGOXXkdf+L57+WoNyTZb1SFj8W3CZz1ZyAE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=V4r8d/1i; arc=none smtp.client-ip=209.85.166.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="V4r8d/1i" Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85b515e4521so36856639f.1 for ; Thu, 20 Mar 2025 11:53:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496800; x=1743101600; darn=vger.kernel.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=V4r8d/1iPIL1qMNwXHORVZ5i/82pQkS5AmgcwTRmJ6TLCV0acUul3ZrIKLM9xYsl67 q1OtmeQKrcOqOvrF0X94d6eyzCJqo61sxYxL3MEprZSlyaoeCrHN7re/oQcejHxEr8SV ZBY+XFtSUrAgpSsObIJyPbfujfcgT5592JWxFbdUggz0Z7T2b2ryUNq3o81v+JRBC7hF fwB5kGgKxRjRrc2Omd5ZHstcKSgT5Y2BKrcqMVclUKAAZPos7PB4TQvLOu+ZuJgM7y2L 8izgD3LpshGPv0Qz4W+iw3TrpA/mECGHLtOYkG/6fV67zZIcuD1koyqtqFoGeI5g3BfW PNww== 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=DxFfAb8KvROxzbTdXrpzc8cNL1/r4QPaio00CmphflXVNquGnJ1vemA2jUS8iDpLKR pvO8xzGDK9bO6ttiTbBwP77Tp6S6mDvKOONGuon4V1Gl1lvhcwtNj73PjCMrqifFEJX1 oySqAxsKzOuRRfAquyJ0LuQ+HcyL/HnA+KBfO/+S0OEdcyWYtONrBl1z+D/4NxeUxGm3 pQuDngW63XyGhe3uj6tJqKS1loc7QUHGHCqRXHv2tzkKlDUOiIvGttCD5lp4nZud6lWo 0EPY2gmpk02dJw0ufaEl6GX291jWwdMRl0uULDHxICIipbIeRU5DkyCM08Ih130P9KIG Y7fQ== X-Gm-Message-State: AOJu0YxHT+HvRmgrM95dSv9premiV40NMYx2/VRrRK0hxXq7TtStDnSl oXvL86N/eEoKiTnKaN5V6q/rtxKvipIpETnUS6h5QYxkxtmnR16lT/aNoiWs X-Gm-Gg: ASbGncvJWTrQTYMZcFOznHygMrZubSRqJrrXtcPGxp9ya3s5qdV/plDsEMYRIyXDe22 437hbuTNKPsR2QC0tfCTwByAuPR8yuz5ycU3GAvoEY35NDq/OWGWM4RjryO2GUqU9NGnwd1qTkM N1sioydMFRlagDnRx3y0iDdND2037prZVR6JYCur3QLS0Nubfq+bsgVNvdWDlHC5i7wDOeR2gn6 lFxV7JhPofLMSkQ8y8XjEiKGYAoaYWHdgPK5LPJWKYpgycWq+I17rdZUiZjoGa15aITGFrJToU3 8uUSjxK+9JFItY1qwCJ6umlwvrbt3IT9YziL7ZkXoyVySYhgFP+SsUoC08w8mSAPCbk1zxrvNDK RJg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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))); =20 -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=3D0 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 */ }; =20 @@ -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; }; =20 /** 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 ddeb= ug_class_param *dcp, =20 #define CLASSMAP_BITMASK(width) ((1UL << (width)) - 1) =20 -/* accept comma-separated-list of [+-] classnames */ -static int param_set_dyndbg_classnames(const char *instr, const struct ker= nel_param *kp) -{ - const struct ddebug_class_param *dcp =3D kp->arg; - const struct ddebug_class_map *map =3D dcp->map; - unsigned long curr_bits, old_bits; - char *cl_str, *p, *tmp; - int cls_id, totct =3D 0; - bool wanted; - - cl_str =3D tmp =3D kstrdup_and_replace(instr, '\n', '\0', GFP_KERNEL); - if (!tmp) - return -ENOMEM; - - /* start with previously set state-bits, then modify */ - curr_bits =3D old_bits =3D *dcp->bits; - vpr_info("\"%s\" > %s:0x%lx\n", cl_str, KP_NAME(kp), curr_bits); - - for (; cl_str; cl_str =3D p) { - p =3D strchr(cl_str, ','); - if (p) - *p++ =3D '\0'; - - if (*cl_str =3D=3D '-') { - wanted =3D false; - cl_str++; - } else { - wanted =3D true; - if (*cl_str =3D=3D '+') - cl_str++; - } - cls_id =3D 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) =3D=3D wanted) { - v3pr_info("no change on %s\n", cl_str); - continue; - } - curr_bits ^=3D BIT(cls_id); - totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, *dcp->bits, NULL); - *dcp->bits =3D 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 =3D N in 0..max. wanted +/- determines N or N-1 */ - old_bits =3D CLASSMAP_BITMASK(*dcp->lvl); - curr_bits =3D CLASSMAP_BITMASK(cls_id + (wanted ? 1 : 0 )); - - totct +=3D ddebug_apply_class_bitmap(dcp, &curr_bits, old_bits, NULL); - *dcp->lvl =3D (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 =3D dcp->map; unsigned long inrep, new_bits, old_bits; int rc, totct =3D 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 =3D 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 =3D kstrtoul(instr, 0, &inrep); + if (rc) { + nl =3D strchr(instr, '\n'); + if (nl) + *nl =3D '\0'; + pr_err("expecting numeric input, not: %s > %s\n", instr, KP_NAME(kp)); return -EINVAL; } =20 - /* 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 struc= t kernel_param *kp) const struct ddebug_class_map *map =3D dcp->map; =20 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); =20 -/* symbolic input, independent bits */ -enum cat_disjoint_names { LOW =3D 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 =3D 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_LEV= EL_NUM, 14, DD_SYS_WRAP(level_num, p); DD_SYS_WRAP(level_num, T); =20 -/* symbolic verbosity */ -enum cat_level_names { L0 =3D 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") =20 @@ -102,10 +88,6 @@ static void do_cats(void) { pr_debug("doing categories\n"); =20 - 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); } =20 static void do_prints(void) --=20 2.49.0 From nobody Thu Dec 18 23:00:18 2025 Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1736D22D4C7; Thu, 20 Mar 2025 18:53:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496805; cv=none; b=kadLDpVVJg1tIF/pTekXFM1gqiz4MxYjAJn3Fwf9TsAVjdN3Y5Q7TW8EXE/siuqsMo/NiYNLBZhu9nq004DGVg+Jzcf/s8aHHtcWmyyqkj7PXhOEE3Wubc/3sspKfK12U3uDq2SqlpdWFkBWWdHSWg+JvwIrHXoAa+42oAbBqi8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496805; c=relaxed/simple; bh=tKhHwdZ1cOtS5mRGhnyeLR28AVrq/wevw0xZ+NBHRok=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ee1nsAEWZ8hUEX+YwLCCYEcnGQVKKof3nS7newI3LQTvp3J5DItO2SSiRqquoAKXkc32kSj3royBpz14d1GCA1LB53QGIn40dZYlXbckSdD0O/Rb0YoGDst90H4T7ITJKX9/0KE0HEDFTwomh9YNdjW+Y0YUREmD3zoI+71R0Yo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PRzljx50; arc=none smtp.client-ip=209.85.166.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PRzljx50" Received: by mail-io1-f49.google.com with SMTP id ca18e2360f4ac-85b40c7d608so100194839f.3; 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=vger.kernel.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=PRzljx50+2gI+aH3hxyQ/t7Fvfpqx8NcLmhxtzlZvtYO+K8DZXdjE7NbbuILG78Uul 1xzFBggr5VLE/oodwmJOApw3lwuKkDWtEEDKJGFPiLyNzgdBH5SgBJobsoJ1RXvD5D9Y 7lyLiPfOUJbIgvuE6HRr/5K8aMYTS0gEN0P+o4D6OmaZHAerl30oh/mRYtE0x3bE/gG/ wjOQ+FS/rzZLBaOaSSet4HsVd3R08OAMIKwve58ljZ7TTXJ4a9H1d1Mg23pN3b7JfGAT L0xbc3n3JnvjQGY4FV+KkCVVzs2GmQDfCRQyVcNgncbTbnZrSqC5JiTEUvQPyNSDx7PM osGg== 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=LCPjEmXDI1VoJNPEjdympIWkDJhELHroV6oN6BPSWvlL/dywxI7zxhmGixD1Jwtfza /BnxQBu4RrlO8c/Spss2GND07pZKzyn39q8jB3HlErVyElJHixrekYf4Q8dFG4zXi3Vb dBR4RWpZgXu1fvLCSV6tWBYlxmCFHTIYpxM6ntm1tfZroMwguGODXCtd16gUlMg8+VXj ZyDujYtr2FnC3FGUd7TcSuyxMJ1jCIb5N/hor+8Dhgb5R1zylmoaGJEAMvWx9JdPlYEa j+Yv8wc+Hw+z61o9eAoXT6layEGDOtmjiayK+NVBn3Lm0bRefszOzz6BF3TlGnLLYZiW T8xA== X-Forwarded-Encrypted: i=1; AJvYcCV1mMRE+K4dY8XyJSb/yIQXzsMIZMEDBl6pr5ybriYnUgADUnJouFZ1q4s8IX0R/LbmY42xfbAgj0A=@vger.kernel.org X-Gm-Message-State: AOJu0YwDBBRngUFVQsVR+chvGZVp7n8b5AX+FsL+5+kocZ1W/L9V/9xv rQjIZObRUwVpuTT3HN/CGHTcGDlOubBBDGq2UeygvOd+6ag0YhWXtVYsaFU1 X-Gm-Gg: ASbGncuCUrBw9cb8BrrfJzw2lgj7RIH0fGrlNLw3VbuQSpv24DvjH3ygy+gFSs9LlWt uFh1rXPZIaVeXRx2f/aSYI+ApuVYSjXXkq9VJOnlWobeHC4IWM3dWx6wbsFHmSC6r0MEK5ZD0JA dEyOtX9iDH8+2ySjs6u5i2YXmqM+NK7Ppia6BbsksSefJAa1GEyEnISoH/mZFtkPxi3KITwUZEb 5TYz5LivZGEXzUKjkVjznBSrmgDNPOhdc+NgR/I4QGqxTcJJEvL5EnNQa81WSx+g0hXXyqA788N K7sB8WsIcyKnaftQ4PKR0Cx8M/QQ+gZ+KhJfRmOctjaYiKQCgFUyCJofAEph0bjoilxIwsBx3A1 FjQ== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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=3Dy, 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=3DY 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=3Dy 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 =3D0x0 [ 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 =3D0x0 [ 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 =3D0x0 [ 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] D= 2_CORE..D2_DRMRES [ 18.867026] dyndbg: found kp:p_disjoint_bits =3D0x0 [ 18.867027] dyndbg: mapped to: test_dynamic_debug_submod [0..10] D2_CO= RE..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 =20 DYNAMIC INTERRUPT MODERATION M: Tal Gilboa diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinu= x.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_PROPELL= ER_CLANG) /* implement dynamic printk debug */ \ . =3D 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 { */ }; =20 -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=3Dy, 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 { }; =20 /** - * 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 u= se. + * @_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 s= pace + * @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[] =3D { __VA_ARGS__ }; \ + extern struct _ddebug_class_map _var; \ + struct _ddebug_class_map __aligned(8) __used \ + __section("__dyndbg_class_maps") _var =3D { \ + .mod =3D THIS_MODULE, \ + .mod_name =3D KBUILD_MODNAME, \ + .base =3D (_base), \ + .map_type =3D (_mapty), \ + .length =3D ARRAY_SIZE(_var##_classnames), \ + .class_names =3D _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[] =3D { __VA_ARGS__ }; \ - static struct ddebug_class_map __aligned(8) __used \ - __section("__dyndbg_classes") _var =3D { \ + static struct _ddebug_class_map __aligned(8) __used \ + __section("__dyndbg_class_maps") _var =3D { \ .mod =3D THIS_MODULE, \ .mod_name =3D KBUILD_MODNAME, \ .base =3D _base, \ @@ -101,31 +143,64 @@ struct ddebug_class_map { .class_names =3D _var##_classnames, \ } =20 +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 =3D { \ + .mod_name =3D KBUILD_MODNAME, \ + .map =3D &(_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; =20 -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; }; =20 /* @@ -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, s= truct load_info *info) mod->dyndbg_info.maps.start =3D section_objs(info, "__dyndbg_class_maps", sizeof(*mod->dyndbg_info.maps.start), &mod->dyndbg_info.maps.len); + mod->dyndbg_info.users.start =3D section_objs(info, "__dyndbg_class_users= ", + sizeof(*mod->dyndbg_info.users.start), + &mod->dyndbg_info.users.len); #endif =20 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. =20 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=3Dy/m submod=3Dy/m. =20 If unsure, say N. =20 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) +=3D test_sort.o obj-$(CONFIG_TEST_STATIC_KEYS) +=3D test_static_keys.o obj-$(CONFIG_TEST_STATIC_KEYS) +=3D test_static_key_base.o obj-$(CONFIG_TEST_DYNAMIC_DEBUG) +=3D test_dynamic_debug.o +obj-$(CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD) +=3D test_dynamic_debug_submod.o obj-$(CONFIG_TEST_PRINTF) +=3D test_printf.o obj-$(CONFIG_TEST_SCANF) +=3D test_scanf.o =20 @@ -226,6 +227,8 @@ obj-$(CONFIG_ARCH_NEED_CMPXCHG_1_EMU) +=3D cmpxchg-emu.o obj-$(CONFIG_DYNAMIC_DEBUG_CORE) +=3D dynamic_debug.o #ensure exported functions have prototypes CFLAGS_dynamic_debug.o :=3D -DDYNAMIC_DEBUG_MODULE +CFLAGS_test_dynamic_debug.o :=3D -DDYNAMIC_DEBUG_MODULE +CFLAGS_test_dynamic_debug_submod.o :=3D -DDYNAMIC_DEBUG_MODULE =20 obj-$(CONFIG_SYMBOLIC_ERRNAME) +=3D errname.o =20 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 @@ =20 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[]; =20 struct ddebug_table { struct list_head link; @@ -167,23 +170,28 @@ static void vpr_info_dq(const struct ddebug_query *qu= ery, const char *msg) _dt->info.users.len); \ }) =20 -#define __outvar /* filled by callee */ -static struct ddebug_class_map *ddebug_find_valid_class(struct ddebug_tabl= e const *dt, - const char *class_string, - __outvar int *class_id) +static int ddebug_find_valid_class(struct ddebug_table const *dt, const ch= ar *class_string) { - struct ddebug_class_map *map; + struct _ddebug_class_map *map; + struct _ddebug_class_user *cli; int i, idx; =20 for_subvec(i, map, &dt->info, maps) { idx =3D match_string(map->class_names, map->length, class_string); if (idx >=3D 0) { - *class_id =3D idx + map->base; - return map; + vpr_dt_info(dt, "good-class: %s.%s ", map->mod_name, class_string); + return idx + map->base; } } - *class_id =3D -ENOENT; - return NULL; + for_subvec(i, cli, &dt->info, users) { + idx =3D match_string(cli->map->class_names, cli->map->length, class_stri= ng); + if (idx >=3D 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; } =20 /* @@ -192,16 +200,14 @@ static struct ddebug_class_map *ddebug_find_valid_cla= ss(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_set= tings *modifiers) { int i; struct ddebug_table *dt; unsigned int newflags; unsigned int nfound =3D 0; struct flagsbuf fbuf, nbuf; - struct ddebug_class_map *map =3D NULL; - int __outvar valid_class; + int valid_class; =20 /* search for matching ddebugs */ mutex_lock(&ddebug_lock); @@ -213,8 +219,8 @@ static int ddebug_change(const struct ddebug_query *que= ry, continue; =20 if (query->class_string) { - map =3D ddebug_find_valid_class(dt, query->class_string, &valid_class); - if (!map) + valid_class =3D 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) =20 /* 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 cha= r *modname) } =20 /* 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 =3D dcp->map; + const struct _ddebug_class_map *map =3D dcp->map; int matches =3D 0; int bi, ct; =20 @@ -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 =3D kp->arg; - const struct ddebug_class_map *map =3D dcp->map; + const struct _ddebug_class_param *dcp =3D kp->arg; + const struct _ddebug_class_map *map =3D dcp->map; unsigned long inrep, new_bits, old_bits; int rc, totct =3D 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 =3D kp->arg; - const struct ddebug_class_map *map =3D dcp->map; + const struct _ddebug_class_param *dcp =3D kp->arg; + const struct _ddebug_class_map *map =3D dcp->map; =20 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); =20 @@ -1067,13 +1074,18 @@ static void *ddebug_proc_next(struct seq_file *m, v= oid *p, loff_t *pos) =20 static const char *ddebug_class_name(struct ddebug_table *dt, struct _ddeb= ug *dp) { - struct ddebug_class_map *map; + struct _ddebug_class_map *map; + struct _ddebug_class_user *cli; int i; =20 for_subvec(i, map, &dt->info, maps) if (class_in_range(dp->class_id, map)) return map->class_names[dp->class_id - map->base]; =20 + 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; } =20 @@ -1154,9 +1166,85 @@ static const struct proc_ops proc_fops =3D { .proc_write =3D ddebug_proc_write }; =20 -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 =3D 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 cha= r *modname) +{ + const struct _ddebug_class_param *dcp =3D kp->arg; + + /* clamp initial bitvec, mask off hi-bits */ + if (*dcp->bits & ~CLASSMAP_BITMASK(dcp->map->length)) { + *dcp->bits &=3D 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.l= en); + struct _ddebug_class_param *dcp; + + if (kp->ops !=3D ¶m_ops_dyndbg_classes) + return; + + dcp =3D (struct _ddebug_class_param *)kp->arg; + + if (map =3D=3D dcp->map) { + v2pr_info(" kp:%s.%s =3D0x%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 =3D 0, kp =3D 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 =3D __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_nam= e); } =20 /* @@ -1191,7 +1279,8 @@ static void ddebug_attach_module_classes(struct ddebu= g_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; =20 if (!di->descs.len) @@ -1221,14 +1310,18 @@ static int ddebug_add_module(struct _ddebug_info *d= i, 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); =20 - if (di->maps.len) - ddebug_attach_module_classes(dt, di); + if (dt->info.maps.len) + ddebug_apply_class_maps(dt); =20 mutex_lock(&ddebug_lock); list_add_tail(&dt->link, &ddebug_tables); mutex_unlock(&ddebug_lock); =20 + 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 =3D { .descs.start =3D __start___dyndbg_descs, .maps.start =3D __start___dyndbg_class_maps, + .users.start =3D __start___dyndbg_class_users, .descs.len =3D __stop___dyndbg_descs - __start___dyndbg_descs, .maps.len =3D __stop___dyndbg_class_maps - __start___dyndbg_class_maps, + .users.len =3D __stop___dyndbg_class_users - __start___dyndbg_class_user= s, }; =20 #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 */ =20 -#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 =20 #include =20 -/* run tests by reading or writing sysfs node: do_prints */ +/* re-gen output by reading or writing sysfs node: do_prints */ =20 static void do_prints(void); /* device under test */ static int param_set_do_prints(const char *instr, const struct kernel_para= m *kp) @@ -29,24 +48,39 @@ static const struct kernel_param_ops param_ops_do_print= s =3D { }; module_param_cb(do_prints, ¶m_ops_do_prints, NULL, 0600); =20 -/* - * 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 =3D { \ +#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 =3D _init; \ + static struct _ddebug_class_param _flags##_##_model =3D { \ .bits =3D &bits_##_model, \ .flags =3D #_flags, \ .map =3D &map_##_model, \ }; \ - module_param_cb(_flags##_##_model, ¶m_ops_dyndbg_classes, &_flags##_m= odel, 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 =3D X inits. + * To clarify this sharing, declare the 2 enums now, for the 2 + * different classmap types + */ =20 /* 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 =3D 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 =3D 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_BI= TS, + 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 =20 /* 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) =20 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_submo= d.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" --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 92DFE22D4D9 for ; Thu, 20 Mar 2025 18:53:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496805; cv=none; b=Vztaha7COBgi76F5EbltczCSLXhznt96xQ/9pjWSg9YFmytJSybW4mC2zxEjqbYcq1aNGAUflHsKRB+gRh3B9JGPgG3oL9bv66ndYUMQ8XkUtIdGwnDNhPs+lIKz+9GJOqL1HZBabvqOxxYzls0md6S0heQBimgHu2Silgtfctc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496805; c=relaxed/simple; bh=pXp5A+hkmMbS17qB6wFfylUKnECMmId9CmIzQbkXQWQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=t48MSxdFylOJAO/BMrKQxT6W3O50a5wmk9vUYir1xoYRCan/v5qafq5uOwrtxkGbakFvS8vU0SJFljGiB96k/06Q1kZ/BHoEO9yFqrVDhM0DqAyd9HtVdkxCyKQBICzJaox7VAsbE75twgHcebnF4ovnoNPNAzud3N0rGX5xpbg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=klVQDO0s; arc=none smtp.client-ip=209.85.166.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="klVQDO0s" Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-85e15dc8035so24797439f.0 for ; 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=vger.kernel.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=klVQDO0s7sK+kHwOocLE94G5iKjo4pgWcnt1BI+lPrAviQuL0yfjw+nD/AkFtTA42B Vf88Aq+9Yd+VX5dNrtl9P2rWSfxrT+oZQSRW0oTqkLyXnhG6GQaZICCklY4s1dBFJuW7 Qr18pm9ERx45rDr3lOM9vP/82EauzsZB9+qmfwYcta5TdJvpqZPxdUUD+B9DYVPkxsPA rbDT/Fi17WtAij3LQcbixVPeV+y0rdCHElnHNo6vpkp3EAxWsvJvSPSSIpoILSpcDY9a 1RCLGpb2F9el7EnxjY1dLCgVwKPVkKQxnKLq1vRu89s5HUKFA4l3twtXVtJiDSJgisP/ aj+Q== 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=pHSluclXDT5mqWvn8ChnIdXzjEa3L0wlyEsGmPCEzFoW6a3nOzkTnqjFY4ZxuufCun MAkdS2NftTI0wD6XZmjPfVomeD1163kaj8DzK91un1So5c03xRcvIRE9ztZjaNklBcFv BtSmC3lggYaNQ36lUR6NXNJMPxaEIfTYyu5EH9X5U2QFZKtm2tggH1ElneR1+5UVE7hO YWDkpnIt3i88q77LYm0iSBvTdlbacVC86fURk7SE4UFdk581LxlU4q1iQhrpQ8o/zfdE G+xqxHN+Og2rjks6rGyqvAFRH45P1FsunCZR/xdUfE9bMFjf95Rc06pucmkY9Q+ThLF1 1C0A== X-Gm-Message-State: AOJu0YxILCqN3oJHHdLrlUHSkZvlHO1QfkR5MNEZEHBM3wVwdvmECmDF yezHdup4SAuyjgCROHeRor/KeLoMiN2MT9zSyiLH2V5EOfPxC/wxeYHoMwq3 X-Gm-Gg: ASbGnct8CPRaCqrloBEXBbhO85/2NuH3Q+Y4wcR+/Hv0qfBnKzr3c+a4XRQE+tn3Z1e aQ8oTGkyEiCymR0X0SEaMMb2eMZd689E1dBHX3XEgQ4Q4aIvDfvaxlFRy9TfuQWU0ZYfFzwN55u 4beStaWmJUAD/Y7haX5YCiNR0qPjbYr2IHoW9ucpvWL9fecwPb8KtYpFdJzVyhEql9PMmLn/ZDp /CSNxcdsSDV5hYtr4unR35/6mCVVA6YWtAXwAgJuHA3yFDp3+SgpyynqIorHiAIdRgF/aoO5A7Q H6QnSFXn4NOU9PVmqKkX6BdBMLRVQrvZcL3Z00WAOtbFTRtH6eA1IrIGvQpSzJR2F/R8Nvi7Yxc OS7Nq+Z4qyABZ 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Add a selftest script for dynamic-debug. The config requires CONFIG_TEST_DYNAMIC_DEBUG=3Dm and CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD=3Dm, which tacitly requires either CONFIG_DYNAMIC_DEBUG=3Dy or CONFIG_DYNAMIC_DEBUG_CORE=3Dy 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=3D3 V=3D1 \ -- ../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=3Ddynamic_debug run_tests make[1]: ... TAP version 13 1..1 [ 35.552922] dyndbg: read 3 bytes from userspace [ 35.553099] dyndbg: query 0: "=3D_" mod:* [ 35.553544] dyndbg: processed 1 queries, with 1778 matches, 0 errs Signed-off-by: Jim Cromie Co-developed-by: =C5=81ukasz Bartosik Signed-off-by: =C5=81ukasz 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=3Dy: 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=3Dy 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=3Dm 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=3Dm && CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD=3Dm test_mod_submod() recaps the bug found in DRM-CI where drivers werent enabled by drm.debug=3D. 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=3Dy 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/* =20 DYNAMIC INTERRUPT MODERATION M: Tal Gilboa diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Mak= efile index 8daac70c2f9d..b6a323c7f986 100644 --- a/tools/testing/selftests/Makefile +++ b/tools/testing/selftests/Makefile @@ -26,6 +26,7 @@ TARGETS +=3D drivers/net/team TARGETS +=3D drivers/net/virtio_net TARGETS +=3D drivers/platform/x86/intel/ifs TARGETS +=3D dt +TARGETS +=3D dynamic_debug TARGETS +=3D efivarfs TARGETS +=3D exec TARGETS +=3D 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 :=3D dyndbg_selftest.sh + +include ../lib.mk diff --git a/tools/testing/selftests/dynamic_debug/config b/tools/testing/s= elftests/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=3Dm +CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD=3Dm diff --git a/tools/testing/selftests/dynamic_debug/dyndbg_selftest.sh b/too= ls/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=3D${V:=3D0} # invoke as V=3D1 $0 for global verbose +RED=3D"\033[0;31m" +GREEN=3D"\033[0;32m" +YELLOW=3D"\033[0;33m" +BLUE=3D"\033[0;34m" +MAGENTA=3D"\033[0;35m" +CYAN=3D"\033[0;36m" +NC=3D"\033[0;0m" +error_msg=3D"" + +[ -e /proc/dynamic_debug/control ] || { + echo -e "${RED}: this test requires CONFIG_DYNAMIC_DEBUG=3Dy ${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=3D".config" +if [ -f "$KCONFIG_CONFIG" ]; then + echo "# consulting KCONFIG_CONFIG: $KCONFIG_CONFIG" + grep -q "CONFIG_DYNAMIC_DEBUG=3Dy" $KCONFIG_CONFIG ; LACK_DD_BUILTIN= =3D$? + grep -q "CONFIG_TEST_DYNAMIC_DEBUG=3Dm" $KCONFIG_CONFIG ; LACK_TMOD=3D= $? + grep -q "CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD=3Dm" $KCONFIG_CONFIG ; LACK_= TMOD_SUBMOD=3D$? + 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=3D0 + LACK_TMOD=3D0 + LACK_TMOD_SUBMOD=3D0 +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=3D0 + num_args=3D$# + if [ "${@:$#}" =3D "pass" ]; then + num_args=3D$#-1 + elif [ "${@:$#}" =3D "fail" ]; then + num_args=3D$#-1 + exp_exit_code=3D1 + fi + args=3D${@:1:$num_args} + output=3D$((echo "$args" > /proc/dynamic_debug/control) 2>&1) + exit_code=3D$? + error_msg=3D$(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=3D0 + [ $# =3D=3D 4 ] && exp_exit_code=3D$4 + if [ $3 -ne $exp_exit_code ]; then + echo -e "${RED}: $BASH_SOURCE:$1 $2() expected to exit with code $= exp_exit_code" + [ $3 =3D=3D 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=3D"\s$1\s" + exp_cnt=3D0 + + [ "$3" =3D=3D "-r" ] && pattern=3D"$1" + let cnt=3D$(ddgrep "$pattern" | wc -l) + if [ $V -eq 1 ] || [ "$3" =3D=3D "-v" ] || [ "$4" =3D=3D "-v" ]; then + echo -ne "${BLUE}" && ddgrep $pattern && echo -ne "${NC}" + fi + [ $# -gt 1 ] && exp_cnt=3D$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 <=3D 0 then otherwise +# $3 - "-v" for verbose +function check_trace_instance_dir { + if [ -e /sys/kernel/tracing/instances/$1 ]; then + if [ "$3" =3D=3D "-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 instanc= e \ + '/sys/kernel/tracing/instances/$1' does exist" + exit + fi + else + if [ $2 -gt 0 ]; then + echo -e "${RED}: $BASH_SOURCE:$BASH_LINENO error trace instanc= e \ + '/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=3D$(tail -n9 /proc/dynamic_debug/control | grep ": Opened trace= instances" \ + | xargs -n1 | grep $1) + if [ "$output" !=3D $1 ] && [ $3 -gt 0 ]; then + echo -e "${RED}: $BASH_SOURCE:$2 trace instance $1 is not opened" + exit + fi + if [ "$output" =3D=3D $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 <= =3D 0 then otherwise +function del_trace_instance_dir() { + exp_exit_code=3D1 + [ $2 -gt 0 ] && exp_exit_code=3D0 + output=3D$((rmdir /sys/kernel/debug/tracing/instances/$1) 2>&1) + exit_code=3D$? + error_msg=3D$(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" =3D "0" ]; then + buf=3D$(cat /sys/kernel/debug/tracing/trace) + line=3D$(tail -$2 /sys/kernel/debug/tracing/trace | head -1 | sed -e = 's/^[[:space:]]*//') + else + buf=3D$(cat /sys/kernel/debug/tracing/instances/$1/trace) + line=3D$(tail -$2 /sys/kernel/debug/tracing/instances/$1/trace | head= -1 | \ + sed -e 's/^[[:space:]]*//') + fi + if [ $2 =3D 0 ]; then + # whole-buf check + output=3D$(echo $buf | grep "$3") + else + output=3D$(echo $line | grep "$3") + fi + if [ "$output" =3D "" ]; then + echo -e "${RED}: $BASH_SOURCE:$BASH_LINENO search for '$3' fai= led \ + in line '$line' or '$buf'" + exit + fi + if [ $V =3D 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" !=3D "$1" ]; then + echo -e "${RED}: $BASH_SOURCE:$BASH_LINENO error message '$error_m= sg' \ + 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 =3D_ # zero everything + check_match_ct =3Dp 0 + + # module params are builtin to handle boot args + check_match_ct '\[params\]' 4 -r + ddcmd module params +mpf + check_match_ct =3Dpmf 4 + + # multi-cmd input, newline separated, with embedded comments + cat <<"EOF" > /proc/dynamic_debug/control + module params =3D_ # clear params + module params +mf # set flags + module params func parse_args +sl # other flags +EOF + check_match_ct =3Dmf 3 + check_match_ct =3Dmfsl 1 + ddcmd =3D_ +} + +tests_list=3D( + 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 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B78E3227EA3 for ; Thu, 20 Mar 2025 18:53:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496806; cv=none; b=XVJ4ilE6NrNym/oDnK3pNouoEHDmtQMWJ5CicuQGmn2qJxGezK2gzXS8KBpThaxdF29+X0otPODDXPC7AhNgbhFFMpHb9GuPZatJA9JFBUI4KGjjPElrVwaHqwFzAZ2pP+v+0vRtK+1fhgtXEOxDozUNYfXzzariEgje9I2igy0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496806; c=relaxed/simple; bh=jTmllfX+7WznOHVsFvbpkre/ns8CUTE4QgQb0R2Hq2E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Mt1aDuLzofD/6ZZZHrIceWFG0aEmnC9YSoi8AXKiZkP4mOH/aFU61sPsfynhz2uNUZMgIS6JDA9IpZyTC4/LdF5eXzBegH0uUXcmXffheBDKLBZXzqGfVI4fjbbFq1glrivAKBkzlkPzx84CMSKNDZqyn5fuf0e/M8ajjf+R97k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Si3I6irI; arc=none smtp.client-ip=209.85.166.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Si3I6irI" Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85e14ce87ceso35268539f.1 for ; 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=vger.kernel.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=Si3I6irIU+9j85w8VkWnNQeAGShUeRkJtDPjFamepzJYbWEN4TmtQJQiwJncxDbHQj 7p8tZNpirHNUDy8Y7PY55KQj5v8tVBsEpzWBpQgf7ejPJZQDgT5WPrHMCKXp7SwwSLbB QUuKW6vU4ftkglH+bSws64nwgXq8RxCa1QP2OAT7W/8G8OWGkZ+pPqrMgbL5+Mnemo9b e9LIPWLNkN+YWMrpcmHXrJqN+Ly2rwGBSWY8hNaya4SKDu7qduy2tozpFxHo+MzP9/uN 0o2sw3fqmsrLNpFzrFJ64/tIbhuF7Jcb2r+UIqfmghCQqu+FBvKfy8PE64MUYJnCPOHY 8EiA== 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=X6qi+rBSdkIu3YtFe4yuUouptdh7b+YIRolVLAudWBqxND0OlU01xcwF5SW/uifJIL rxd9Wk7ypcOs1C+p7yM02JWmfhEX8+pwx76GelEVrITlYMDSW6fsO4BfAAylzag9UHG6 x5UUWZAxJaH+Rs2x5yXok+29+G2u3+MTYSmwmhVgDr1f4/+6mryrDZ0d1QOjq36bPE5Z gh0W1IsnbShsUjI1xUVFSUAUPl8kfeGaV0xVMc0ol0VT7jcEolMb0JNyEPv9WxX84jwm 6h+46vgfJkOJdgLnnqEw8mUe8YlM+OB8scZ1nKO5V/SZre1y9phrCUyoJ63aeZeNeXr3 cOVQ== X-Gm-Message-State: AOJu0Ywz3Q6xvbrBQ+UaBfFMZi32ajmNNS4zNIlTaWckdc2O7kk0xBQ3 mJTBxzS4UGqXvvsySW9Jjul3rQMNqhntxRvbUwYHdtq547deKTNJFIO/FaJx X-Gm-Gg: ASbGnctlPwi7mUwFw3QiVVIVDqYH1ypUczDCzG8zepv0wQZBgaxuWPeL2rdHjpqP0uu kdeTYjFg4sV4EirKDJtS3v1Otl2MPtCmewZje/Egoa/HllPKhJ8Iqz96WdAQwq+d3WEpzbbWPsZ W8RlWJiw7yb5OQ/uuIlN2+3SO0bS1iOVbUfTCl2kTs5X5evrVp41TNIBfwo7XdfqQxChld1ActM n/I9lK/Vi1A90F3Kz1RKPr8qIobLXytyOE9GsF4zHaNd3vxkZssQkBD46hDdcVwJKSukf6e5RtR hL6wihuyrIJDTHe1q78ek8gM3eipmfsOUFe+81tcDzhJBbqA5s1uTLbcAkdR043hnlQm7yHvc7x PZw== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 * } } =20 -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_tab= le *dt) vpr_dt_info(dt, "attached %d classmaps to module: %s ", i, cm->mod_name); } =20 -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_t= able *dt) (_dst)->info._vec.len =3D nc; \ }) =20 +static int __maybe_unused +ddebug_class_range_overlap(struct _ddebug_class_map *cm, + u64 *reserved_ids) +{ + u64 range =3D (((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 |=3D 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 =3D 0; int i; =20 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); =20 + 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); =20 @@ -1324,6 +1348,11 @@ static int ddebug_add_module(struct _ddebug_info *di= , const char *modname) =20 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; + } =20 /* 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); =20 +#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 */ =20 /* --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E7C4C22D787 for ; Thu, 20 Mar 2025 18:53:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496807; cv=none; b=HtjC/vknABG5vB3lTS9CPpDLlczH2RDvDgSgSaztL0eh7W/1tVcphlAw8OyE50y/iUoGiKL3QKpif4lvLkyCD/Pr+CWGHQfAsoRlSJgbtRLwO3kE32UQ4KnBG5BSntN0hG9cgaFos/s0MMQwoI0OqDD9rOr1r33ZRdb2YIfSKi4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496807; c=relaxed/simple; bh=+NXwNGKV/1Z0oc/l3HNpTN1LcU/aCdQcnGg1yUnOK7U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=p2M+f6xuXLhp8buRZZhpBTNfnEsz3i9+ZaxX3UHxi376qow8cDnzqHYA3YbB5WeIhAMA6rHu55ikKgR/cs0wwSlGArX2+yEWroHGLzvMBNglGo0hhGx3PerdMXmw+SRgCqqu5oF6Z3BfwYCNEGGaW3dmwVZgK/JxSJOHjihS2Jk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=l7SapxrG; arc=none smtp.client-ip=209.85.166.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="l7SapxrG" Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-85b4277d03fso43900139f.1 for ; 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=vger.kernel.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=l7SapxrGmPQJ0x1fk9Flhhhn50DE3wXLgsf/QZ4kUyWkoxmod1Sbw8UfZCANtbQHLI 2/7HRL4M/ggcmkL0/l1y3WPyBiPz91XBj01yamIch/RTvFeUTVF5+6STMWLiB3U1RN/t Q/etAw2rl2O9CUz4JTwRoPCk1iYrdejAfQ2XZHVr8DdGScpB02UffJ1cX2R5FDqADGEM hV/u5W+4Z+q/iA4Q8ODu2pCwNUkjYLHt8nkbt7Emq/6RX3BNHYXFYz/s9iUIzmuLAigc xb9r67IAob8x8lLWkvU8l4KxPGO8D4Y+qk8DHeCGlsKiCjOHGoB/a1mz3zlblD6ihY0X MN2g== 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=nGLKaU1vX/KBDz4RjhzBjSiVEg+9mcikYAJhHTPwOIy0Th0pmYL34ZooGiNg/9eXjT AmPkIJ/sZH6i+Fp9nDzO6y0W0ui4u3RiO7gLn86z6DsfRhQ7zIPdTfwR25dBRSFBYq1z VixG6XZQ1WKQK7KZmp9LKvfICPuyzO37p04KNb0p9iBQfYCNB5CALa2eSuiuzIBQafT+ s+15zmNFLd6z3TBMUyirq9IwssdkPWUodj4NzMjn/p4KSsKEXlM532SUuPBEU2KMPKjT jVb+ezYT6p97HRInHgsSHgVFpt8hUBsMMXAIusS0txz9Nfe45/uaj8GVged1tz6Mnltn q+Cg== X-Gm-Message-State: AOJu0YwnT12inXQOIaDDfCMk3iziN+BAbI+K9Vp0Hb6szEap3kAjlZjf t6w/U1z9YQgcfHmGrKz9yRgtJiy8VB1igH7b80vvA4cIIlFcQay5MzhcRui6 X-Gm-Gg: ASbGncvM54k0sTuHkV307xHHDg80dLArLoCSj5+Nx2gCKgsqFO+O89+0whYG5wUrqJc I9orNrrj+cDo3nriV81SEdiUippogYTP9l1Ca2j6CsK3mTc/dE0pdvH/F721tr1OBpnj4KGTKk/ 0HNCgjc1bSUHNwdVNdFxEVyT0FjDmRpSIZpHIxSp2UgDirgOmz02h+VRSh915da9PFb6Cvga1+1 iKjB2Hu1SoEnDWj+e9Gv/5VF69pld7XY5VRB9SwzI9UQuVBlSVvMXo/waq4jpBeSXtqvvZT57wT bPCrLWQ06fHJxrvqLH/hJvxQRpWobUrgoNW7R/wbdmHwi//etnQm101IwK3rTe2bx8GkLPhc5Af vRA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add __DYNDBG_CLASSMAP_CHECK to implement these arg-checks at compile: 0 <=3D _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; }; =20 +#define __DYNDBG_CLASSMAP_CHECK(_clnames, _base) \ + static_assert(((_base) >=3D 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 u= se. @@ -114,6 +122,7 @@ struct _ddebug_class_map { */ #define DYNAMIC_DEBUG_CLASSMAP_DEFINE(_var, _mapty, _base, ...) \ static const char *_var##_classnames[] =3D { __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 =3D { \ 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_C= ORE + 1, "D3_CORE"); DYNAMIC_DEBUG_CLASSMAP_USE(map_disjoint_bits); DYNAMIC_DEBUG_CLASSMAP_USE(map_level_num); =20 +#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 =20 +#endif /* TEST_DYNAMIC_DEBUG_SUBMOD */ + /* stand-in for all pr_debug etc */ #define prdbg(SYM) __pr_debug_cls(SYM, #SYM " msg\n") =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3460B22D79B for ; Thu, 20 Mar 2025 18:53:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496808; cv=none; b=RS1ZbxUJX7XQUlv2ItRQaZp46E8Tq9DovVrkbP1o9Vie01cSNHdWaVok+/qyl7Csj0kq1Pk3m3U4WYRDXBCogTyDOe82ahbQD6tIaDhalbE1PQHo36AOzgFTbCJ6x0s56OkP/MYawctnXklZxam2dAz8fuf4+wIPk+WTN+roquo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496808; c=relaxed/simple; bh=qFRH4iZ1oCB5ctC6Y8JGf9ZepD1vxhdEIeSFsngeOBs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=o5elNudjO0Na6C3dNWQUbxURSZV0V0/ywQkTdX9dKTBugJ38z4eRebhn+/WmvtbXuTGllQVyL4YMXkvMZEcn/89afVRE2IYgmaIqrDEomvEffHR9PNkA6lLcDA6k0Uom4eJPZ++hbeobXPIom4FebDEeVQNAOtq8cHqQy29u19Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Z0oPyJ77; arc=none smtp.client-ip=209.85.166.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Z0oPyJ77" Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-85dac9729c3so88960139f.2 for ; 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=vger.kernel.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=Z0oPyJ77ql9cQKRywVmc1eu8iW0uZirtJNHWIahHxbkLF2JLatuiBVI87qQ8KRrdRj +mitt7LW9YoIY8AanNMinvvmOLChKEWTgL6bQExLkBvL4xGr7kvf6s+MwMZcgLyUao6Z P94RPULELf80Pcu0MrU3UK/tzmraoLS5oEde3pY0M3Hvcp8rwAgyUB+bwsuGhT3mYMm5 Ff2xrzAJmJL1+HnpDNuimPvrMw3MYvMP6RLKPu9Ns87hdOfE5bKXq/IvqPLnE3A+aK32 vvxbXouA+dzVyMfNy3j/eFmmEDeykGZf3kGVHzyrZyFW56XQJFH/szVPjPkBcc+NBbEu sdxw== 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=H2BlQHUjNDxIj2sm1kX3NyMY2pnGpv/9FE2aQuUA39R53Et/py7jgo8hoL7RbC5Qgb g+b6hxpg2Gp0fJBYIEEUjbTZPsNrGHmGTHt7Elv8SSEIy7ZmADPGdsufxczOQf/FCb6l OXYND+Y+pIN9JghGJVYsOVOk1ZXcTXuqxk5YjEwTcuYkOEgIVK2JU3wVJXqoJITKMAP7 rFxrgV5wavYaRhXPLcCeaa+jie1N8DIQbWDKQ5H5YHW+C7HspcO06d7nOtT+x7HZ0gQ8 BZ2+jsY17/Sz5Ke18Zofja7s/2wxF69nZ5llXdbK9M9tuMBBnm45tDvqrGHHxxVlqIHI FV4A== X-Gm-Message-State: AOJu0YyR7PjfGBaBA7xNKTz8PloJqpXM95eMP5M5xt6ON/n1Wi8LfE4c ccAe3/CA5Z2KBd6HUUjY0eJFcXy5m0DKqeJ/MUS6Y0ftfZ1A9oZX1CH8QfEI X-Gm-Gg: ASbGncvgK36k6LSmybG3KW5+hujIRklvtwKloh6n5fxQ80AP3Ww2gIAypZTvq+C7Lc0 LtLYHtc3zMdTmnQ0JV3gGhav5zAtOhGtP1o+mvYLAeQRS34PSHEC3EEo8ZqmZjWMSRTvJ4LYhkJ RHsFkbN9jHT9lz31dQ+kJbmkEIRbAVBXRWNaZavLkWgPoOy957A8Xjxwd1Is3aUcgz3Kiz86lXe uPPWGP6O9q0nrKW5fbVBg44bSDMN2hYTHzdNsvDhw0nhl3HqxISClfaRdbIPAYj0ObIYOYKiNTn BA/AkMPknyb9H52xNxyC6PxB9iITXEJ6x9x0S5ClS61NUfX0yvnUAMskdnK6MgVUxkXrWxgoWys HUqqJdJZdU9OD 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 @@ =20 #include =20 -/* 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_para= m *kp) { - do_prints(); + int rc; + unsigned int ct; + + rc =3D kstrtouint(instr, 0, &ct); + if (rc) { + pr_err("expecting numeric input, using 1 instead\n"); + ct =3D 1; + } + if (ct > PRINT_CLAMP) { + ct =3D 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 =3D { .set =3D param_set_do_prints, @@ -191,17 +203,20 @@ static void do_levels(void) prdbg(V7); } =20 -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(); + } } =20 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; } --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C5CBE229B16; Thu, 20 Mar 2025 18:53:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496810; cv=none; b=ro3wbZGlmzUei/Aj6GAAiIPy3ESWEB5+RdfXYsZtYYvk5iQ8oa8blgdNQ7f2JPtE7+URqDpP6t0YELUCcrh8KWiTGUDJBj7vwdmWfUdswADTDkOUAoZQWMsze2aC3qpEdVFBUy9tuioYCrOWA2+I5+DoE/0tcpColkbuel5WRlw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496810; c=relaxed/simple; bh=dIVfzbbaePYY1qXm2ktktRUMfXqhrWA7U9mmavRhv5E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Vs0peDWpa10Ui0FqgQoSI+4coepaebaZH9LJQOZwM0kJ4/3tsX3A4BB00qJZTzZZQ3+CBCXIONSw0X7tF8pf77cEzYw4e09NFl1/dxfRmkePZSvg+4F3a24P9n1RsSLjwuXITr2+on+pOz8BgX/u45wS61llTHKDMRMjS2tvcrA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Jl1/xb1b; arc=none smtp.client-ip=209.85.166.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Jl1/xb1b" Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-855bd88ee2cso31248639f.0; 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=vger.kernel.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=Jl1/xb1bYNuTWrWZaHfm6xb6rHWdbY9fG25P0/uP1a6rS6qrQt1x6nbaFvtOHn9x4X 4vtLLRkNKAWJ20TqlhZaa+XZsQYYJ9knWzKX8o6FQtqsLOLaqPuYsdY+KMwL6DycXWHo GUaSYz4IfNUBam3fa41qyouPfzo+m3axf3Y0ZyMWvKvRLe6GqWZUyJyF4o1h8a1qD7eZ WOuWtPMpvcL4tvtamNrvA5snHNem6EwoysiyrFu15PPSe/1XVTyVvwx+t4TVcEbq1Uy9 b7/XvDEBxBHFnWFDfw3r0O2Qt973TD1V0EQm1iFV0zaMgRM7OmzdGtSzAmjrs/Qi+hfG 5ZgA== 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=d8hV7fm2QFudWRCe8OECJF7DN3mYQAMoVSkQEwRNgevquPluyV+4Sn/oF5axvzwD5/ l4bLKNou0BaEpcLLOAKCOPb2f+WDj3vTSghorKy5jSiM1YHV7204GNab8Iy2/1gc1fcr aaPmuNiDGPVzM3T7VIaMlAq3gAhig1mB5K/OY0+XjAL1FAMEgjLltHHKPMfsB1xfBIXB LPK3IP2eYX2nvY9vlka832JejcGely4e7aNSWMBXhKQadqFXMoXtkwerBdo0KXxGXx3S 9FFRmr0ZzZwrUIEZrJx58lrsqcAuEzHMHXX7zZt0zlG4woUajoOImBFpluXy26wheFqY f5Ag== X-Forwarded-Encrypted: i=1; AJvYcCVof1ArGmamVMuRDmbXWw+r8hWpyKNv9e0a7/ndQgD6Hd5Bp09vQ8uAAAIHT1JW1L274dnet85PbSo=@vger.kernel.org X-Gm-Message-State: AOJu0YwAUoNzzDhJpnIrv+9KQs5rZUYRmBViIoiUBi4uwlJh1iiWihCX 0mW2L+O19HjnOsKfboGd5HU06IYXoXdsZlRPffR46w0iskEt/1Rpwm7iCpep X-Gm-Gg: ASbGnct0eQBLnOfuNU4626s+NVi0IgimIiEF9kdZ0GVyrc1im0vJmeQxFOEZj7vItyj GNLN+FDQ8KcSAIf57cGf7eMjTAn06mt6rnaQMoKrDwPV89npQkDcPdnLhWQYYNcHMtKLzn+l6YM SK0rbqYXzIZ3ZbK7N4uRBGEHVFK+Loi6L72knI70F8zXFH2znVDzH4kugOnfJMyUpFZY9LgGieg 5dRd0yqO8X8wG+mv4gUErAVMyKuikvhichyjOSAlItgir5J80gkP3OH2Mz/3ziaZbR2VV4xfGVZ 9E7AY9PKa2x9QMU/XUyNbWX0/UhIJOB6YPfCH+RjGmQL8HRiRcPad1qGz/XPCacwKBM/xrx+i9O Qtg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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; }; =20 +/** + * DYNAMIC_DEBUG_CLASSMAP_PARAM - control a ddebug-classmap from a sys-par= am + * @_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 s= ys-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 =3D { \ + .bits =3D &(_bits), \ + .flags =3D #_flags, \ + .map =3D &(_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 _dde= bug_class_param *dcp, =20 #define CLASSMAP_BITMASK(width) ((1UL << (width)) - 1) =20 +static void ddebug_class_param_clamp_input(unsigned long *inrep, const str= uct kernel_param *kp) +{ + const struct _ddebug_class_param *dcp =3D kp->arg; + const struct _ddebug_class_map *map =3D 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 &=3D 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 =3D 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); =20 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 &=3D CLASSMAP_BITMASK(map->length); - } v2pr_info("bits:0x%lx > %s.%s\n", inrep, modnm ?: "*", KP_NAME(kp)); totct +=3D ddebug_apply_class_bitmap(dcp, &inrep, *dcp->bits, modnm); *dcp->bits =3D 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 =3D map->length; - } old_bits =3D CLASSMAP_BITMASK(*dcp->lvl); new_bits =3D 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 =3D { static void ddebug_sync_classbits(const struct kernel_param *kp, const cha= r *modname) { const struct _ddebug_class_param *dcp =3D kp->arg; + unsigned long new_bits; =20 - /* clamp initial bitvec, mask off hi-bits */ - if (*dcp->bits & ~CLASSMAP_BITMASK(dcp->map->length)) { - *dcp->bits &=3D 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 =3D 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); } =20 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, 0= 600); =20 #define CLASSMAP_BITMASK(width, base) (((1UL << (width)) - 1) << (base)) =20 -/* sysfs param wrapper, proto-API */ -#define DYNAMIC_DEBUG_CLASSMAP_PARAM_(_model, _flags, _init) \ - static unsigned long bits_##_model =3D _init; \ - static struct _ddebug_class_param _flags##_##_model =3D { \ - .bits =3D &bits_##_model, \ - .flags =3D #_flags, \ - .map =3D &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 =3D 16, V1, V2, V3, V4, V5, V6, V7 }; =20 -/* 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_BI= TS, 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"); =20 /* - * 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. */ =20 -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); =20 #ifdef FORCE_CLASSID_CONFLICT /* @@ -149,12 +137,10 @@ DYNDBG_CLASSMAP_DEFINE(classid_range_conflict, 0, D2_= CORE + 1, "D3_CORE"); #endif =20 #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); =20 @@ -229,6 +215,7 @@ static void __exit test_dynamic_debug_exit(void) module_init(test_dynamic_debug_init); module_exit(test_dynamic_debug_exit); =20 +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_submo= d.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"); --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21E6A22DFAA for ; Thu, 20 Mar 2025 18:53:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496812; cv=none; b=Qn2TDNIQksRulWdOfE2x7l2mveQ3bs+pVdwZQ+dsQ86AUQ40D5/1K4aPjEYGNeCeAefBsfuM5k253uaE0errYodx2wNfMrARa5Jg4Ei93uqPyQPANt/LGzjTkliidmUKz2ztBnu0uRhGnXlGezn/F4itMANjBnh5ymrmYsjQ3DI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496812; c=relaxed/simple; bh=wMVZ/catocoPi6ar1KAn7P/F7YueWg8DlMTGaJ3mKDM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b7JhnBE1vFmrV/UA69sm510wGeqFJo/w7j1roSgMplqAf5oFPsxXboKmnb8eEtbEQEqre9wmLg23mI5m8SDG/r3Xgtw+mFfqQUv3OjICwQO2GSTvglt0iBXrRDc28hoVhy4kNHLtFHIgV2wBNaMowIEGnXWHh/uI2fjKE7Epn+8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=VDE9ZT0+; arc=none smtp.client-ip=209.85.166.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VDE9ZT0+" Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-85dac9728cdso28594839f.0 for ; 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=vger.kernel.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=VDE9ZT0+lxYnBHFprnuEO/slSvncAsuz5rbVwzZaph8sG5ofjLzhcs/QkiVjRCNHf5 k2WqvV0CAVp0vTITSSVwHXo+pf7Z+1K4JR45AQEo/qCX1Z10NttljRDUuAcCNIK6rtu7 Lb7VqryrJ5zaKCMLr1r4ePYtJKJAb2f2J1+oTS5BBNMaZUpIHNxFjOsnHIvdOaDj+lXB z3SLJosxU6IRPm6dY8AW/g9I1Wf8FJcPxy2ACm9/RKAzGedX7gRkSde4Wi7fpSU8T8V/ hcxfGAGT/L2UGajtLz0nk2HAGEx4UFYOSWe/piX9ruUv6lSKSsQuZ/H50DbTTtkCRLbH XTvA== 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=hMMYtWtkd+cygDFBZ3LXGI/8HEXH6tW8QPxzuw3pntJtc66HJI4bqurx77ynVJpcej NaLyiT2cYK/32qlhAGu51Eg6esKk1AaUcbGmOJDYXQ8/uBlkMbcwWn9bZdCs8khMdE// a6THgPTdEtXCJj1gjO2d+dQjnAXrUGEAHX9HSst/FQX2+lurP/CvtqjcXY06jGW/YIB0 fL/Fz5pX5sOSu/zK2BO5ex6pnadMMkRZ/zYx4PGzjgKHYF0KYphqN53LX/fgN0A5VS/V 9rBfftue3ZvQZfZJKaCoMHxlrPUjCx2+jA+y4t0xMXWQi+ScfOOjWdk+P3zgchtw4jME htzg== X-Gm-Message-State: AOJu0Yz49Xshp0JIDUto+XaO9icH27XdO2ljFAgG+DDrrLED8c7xF4fG HMLq8goCBXsIRe3jlSzq0PwOMFIip766dKFM+vkPuCCRi8KJ3/ciRpE5q3Ea X-Gm-Gg: ASbGncs/vCnCp7G0uAIEi+28HrYyZJCCE7I1fGT/F10uHgWSs0DvouhvAogwt9Hkdkv RK+bRhRciZZZ9FLEbrMu1TiEtzBYkw4EYSOA6cem0Q9hzQiJZgymmPaJA7LeaLiUY9WYZkSEYeK NMxeZRHVifTczJQMH+Kor8HJZZl9nkX+4JhhOLQcaRQIfZq2Chu4B9sRRQKsqdse94bTpfkVPxA 9t4HNhZeWfr+naMHNzAMLEY4WbMZQoGIl4yXJd+JZ68r0kSsFTdO1AgiGIv7NEsxe9nyXDIVhyP nRub7rrLM3hcfm9PjOaXHPZa+0lNu1rnuR0YMU/HRD+vzH6VJLGbLBqZo6iNDWM9GUCPCO2vcLx s2g== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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; =20 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_us= ers[]; =20 struct ddebug_table { struct list_head link; - const char *mod_name; struct _ddebug_info info; }; =20 @@ -166,7 +165,7 @@ static void vpr_info_dq(const struct ddebug_query *quer= y, const char *msg) #define vpr_dt_info(dt_p, msg_p, ...) ({ \ struct ddebug_table const *_dt =3D 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); \ }) =20 @@ -215,7 +214,7 @@ static int ddebug_change(const struct ddebug_query *que= ry, struct flag_settings =20 /* match against the module name */ if (query->module && - !match_wildcard(query->module, dt->mod_name)) + !match_wildcard(query->module, dt->info.mod_name)) continue; =20 if (query->class_string) { @@ -283,7 +282,7 @@ static int ddebug_change(const struct ddebug_query *que= ry, struct flag_settings #endif v4pr_info("changed %s:%d [%s]%s %s =3D> %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 =3D newflags; @@ -1123,7 +1122,7 @@ static int ddebug_proc_show(struct seq_file *m, void = *p) =20 seq_printf(m, "%s:%u [%s]%s =3D%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 dde= bug_table *dt) #define dd_mark_vector_subrange(_i, _dst, _sp, _box, _vec) ({ \ int nc =3D 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 =3D (_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 *d= i, const char *modname) if (!di->descs.len) return 0; =20 - 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); =20 dt =3D kzalloc(sizeof(*dt), GFP_KERNEL); if (dt =3D=3D 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 =3D modname; dt->info =3D *di; =20 INIT_LIST_HEAD(&dt->link); @@ -1368,10 +1366,10 @@ static int ddebug_add_module(struct _ddebug_info *d= i, const char *modname) if (dt->info.users.len) ddebug_apply_class_users(dt); =20 - 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; =20 @@ -1436,7 +1434,7 @@ static int ddebug_remove_module(const char *mod_name) =20 mutex_lock(&ddebug_lock); list_for_each_entry_safe(dt, nextdt, &ddebug_tables, link) { - if (dt->mod_name =3D=3D mod_name) { + if (dt->info.mod_name =3D=3D mod_name) { ddebug_table_free(dt); ret =3D 0; break; @@ -1456,7 +1454,8 @@ static int ddebug_module_notify(struct notifier_block= *self, unsigned long val, =20 switch (val) { case MODULE_STATE_COMING: - ret =3D ddebug_add_module(&mod->dyndbg_info, mod->name); + mod->dyndbg_info.mod_name =3D mod->name; + ret =3D 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 =3D mod_sites; di.descs.start =3D iter_mod_start; - ret =3D ddebug_add_module(&di, modname); + di.mod_name =3D modname; + ret =3D ddebug_add_module(&di); if (ret) goto out_err; =20 @@ -1567,7 +1567,8 @@ static int __init dynamic_debug_init(void) } di.descs.len =3D mod_sites; di.descs.start =3D iter_mod_start; - ret =3D ddebug_add_module(&di, modname); + di.mod_name =3D modname; + ret =3D ddebug_add_module(&di); if (ret) goto out_err; =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E4E322E3FA for ; Thu, 20 Mar 2025 18:53:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496812; cv=none; b=SjkVnvsGT7sfJIshsFakYyDnD8v3Wv9JpK9TvyH0kQwS7uqEBBh1eUX8YYLTX3jUghP2KASyJnCt+RDzB8Rwf05xlfFicDFUU6kPo0Zc7yJrvKsa5Mo8AhUn/IpdJNwWFD74xxnfvjSVE+Jb3YDk1xTGSzhf4TNLWAcvrPrdeNk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496812; c=relaxed/simple; bh=68+bijATnJ7OwTlKcj2iAsplqdJ6fBbn+ICp/sHJKAA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=lWY3hvI9DAT6y0WaFkiIEHZQRh9CaT0m5+AAF2sTpEm0wNvjaq/TN6KhdWEabTqdIGis57/PUzrHAIbjx8Nnb1wwuVjBryYtc2k9AxV+ntwOHmNQxltBxlcTaJGM0bC37ucyn0h2+ZdMgevUP+bKCXeItaMDS2ODINe9Mf9rCbg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UiHzNIuV; arc=none smtp.client-ip=209.85.166.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UiHzNIuV" Received: by mail-io1-f49.google.com with SMTP id ca18e2360f4ac-85afd2b9106so111047139f.0 for ; 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=vger.kernel.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=UiHzNIuViAK23tL/CPa5RP3FjhhN91F67uogvjsnJw3wRDLL00TOGYN9dWtnLVeTJ/ M4nXKfqaQIRpPqv2s4M4SeBHQtVNO9hHEwdGOC7Y6tWbG9LzG4UsdBrHt+iHGuss5ylt scagD26ILd3v0jSku/oCSkxluP0pHhiH1ZIebyJdLlR0UTsHHA2GNddIVhroaslwL01u 45ah/77JLFmXqMIeiqLNzkwv529/MLSMPrXPTyI85Npzp26I6NG3o9iMPOV0AUdLYCya 3DGKH3kaPeAMHq03KeiQfZqcvjDWfvZHtxN5Os5JcAj5aRS4wYPdrshm8ylWbHONdx2/ oX0w== 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=t9FQYCLF2MRZs/p5bLmqY2O/n5yFcbCH3v3mdjKNERVbHe7GViSpVZBEuB/wWZwlPA 5El/BOybIVfEXcG3kxW/hNKzqZsSLSNtaQoKNCqCxw6wUOxJiTYFAtrhj2hvtMn2gwh/ VyzwMZCu6jFzF8EJkbEsFgfvNBft08KpWCKFwZqyycPsKA1PGxfh83CkiMmNMdjk0uWX ZBIHWiyAZWCClri9JZ6QfsrV27ipwMlJF907tMiS4zfHoZHFQHNLwa7GOlHawjOmqD0R pBMYE5jiWX3L2AeoOKzia7f2GMVt3JAYz3nfbtSMEQH8qC1ZrhrrxtFdknl+SxWYZe5G zAFw== X-Gm-Message-State: AOJu0Yz4dyvm076NcS/iNn6mbjw68sYPIE/zF1ylMaEwxYCAAyV63VyT mBfyFbN59tM+pSixwyZPyUUyA/JAl0DbTZEagX5JX7woV3BEQ6HOZRp3bUEZ X-Gm-Gg: ASbGncv9k7RYb+yIVK3u0Ln5nLAD+Hx3s9VZIHMd8hmP5NL39bygq6f2Y8DEWrIDfEn 6Pu5xGitBXdpB1U2nAqigs69soqvJfKRb0ctyh1eqHAvF+VVS0FrAayF+7+9A4+0ov6zBeyyTSR vIwIcCK1Om8ktSYHir1zxgSpQTsJjzpMiztiA5swVQ9STbXxuy+CISQ+E7pm5s6SJVkPFWxjYIB r56GU3cXFTT9BB1K5/RSTrydpFTyD7Ju4aBoLAnBbivGApcgffsVmwEvAZQMM/yJS8bwX5NdS9S 7p/+NLkRqeNI2Bv7qSIt03rN5EU0rvZdrrCBktNRGWnYRg41ujYYICrwSUd18udkEe7NGQAmLif 6Ig== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=3Dclass,DRM_UT_CORE,+p\;class,DRM_UT_KMS,+p or as a boot arg: drm.dyndbg=3Dclass,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=3D"class D2_CORE +p" new format: modprobe test_dynamic_debug dyndbg=3Dclass,D2_CORE,+p Signed-off-by: Jim Cromie Co-developed-by: =C5=81ukasz Bartosik Signed-off-by: =C5=81ukasz 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 *qu= ery, struct flag_settings return nfound; } =20 +static char *skip_spaces_and_commas(const char *str) +{ + str =3D skip_spaces(str); + while (*str =3D=3D ',') + str =3D 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[], in= t maxwords) while (*buf) { char *end; =20 - /* Skip leading whitespace */ - buf =3D skip_spaces(buf); + /* Skip leading whitespace and comma */ + buf =3D skip_spaces_and_commas(buf); if (!*buf) break; /* oh, it was trailing whitespace */ if (*buf =3D=3D '#') @@ -323,7 +331,7 @@ static int ddebug_tokenize(char *buf, char *words[], in= t maxwords) return -EINVAL; /* unclosed quote */ } } else { - for (end =3D buf; *end && !isspace(*end); end++) + for (end =3D buf; *end && !isspace(*end) && *end !=3D ','; end++) ; if (end =3D=3D buf) { pr_err("parse err after word:%d=3D%s\n", nwords, @@ -595,7 +603,8 @@ static int ddebug_exec_queries(char *query, const char = *modname) if (split) *split++ =3D '\0'; =20 - query =3D skip_spaces(query); + query =3D skip_spaces_and_commas(query); + if (!query || !*query || *query =3D=3D '#') continue; =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 668CD22F160 for ; Thu, 20 Mar 2025 18:53:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496813; cv=none; b=VFjU1ln5HoknifQqn6X8k+ORTjQ9qw64DpmlNmAEULHz1/9c6V2gpmNNCQY65jWLSmNOSbJXYeIutS6WnR7p0gIkWunCExhH/4dEchUG6BE+Cx/6qPoIpya53lLVPhaoVhoiMwjwpcQVX4AE++NJO8rmAGe5Wolh8MXcPBbzmQs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496813; c=relaxed/simple; bh=gW97FK7kE+2ba8HMbFFP8xcJiMKoY2CjRDdGlOZTBDg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uPpFTvMH7p5Wg8IwPfcVlq6qc/7Pek7eIYQQYswRxYmynaYrKk2cVEknheb6Efz+hBPoFAc5JbI/x/mVQqJ0m+eFu2/EJCmaIv/SyA6mVLbn6hXzTiGImWurOJhGEdlbXvbBrF3xmANMxnzq9pYihWdhC66Xyi6GZIlAB2T30lw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=B2k5wkwI; arc=none smtp.client-ip=209.85.166.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="B2k5wkwI" Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-851c4ee2a37so75122139f.3 for ; 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=vger.kernel.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=B2k5wkwI+8uMhVhXL3SHVmbEm6YSJE7qZWj/bN6jzEqqj8rfqwumpxQmmucci1cumX kFybqZJFsOxsfaBustsEZeR2WkpYhvAWpKgwD+Azj90Welmw9FXgiP341ADh/O64vnVp YadTaSLq+OqAQGMnAwb8S3ZjOouFBnX58rs6/dcYsrsmPtuIlSiQf4QfZGlPSL/PBJlU 4efFfRe4/nzPU3G4IVUrqA7k0Ky6M3aMHZNDvDGqKPk8j2Hw/9TVf0hQRttyTpd5+1w0 kvbUTCBRt6X0UJxBSDXzjrxjEpE+OS7dYc9/jAknhXkCSvss2ZcA3Xshww3roR4OY9Mh oV7g== 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=N+CexG3Z9y5e1bShEOUGlpZpj/7K6upLkoWD1RThK642gwk8UON68GfHdmn2ahAQBE ZxM67BTHdPDevb5n2xT9xFwT22Sfz0UFyD5gPmZCbM7sPX+oC4z8eVbDPb52LxPRdiBW Vs8GHEuMADeTUUm9fYifMI5sLynp5pTjFyFWfGKcLypobu5drHuvJW55FZDLkuD0wAFX OMksuz2QMQ26SVFYsEtSu/ueWGnFsKxlqpxVCaeBPjNWdcUKQKd+HT41sca8eqdg+V28 GxuMTEqxe1n87u199ceLQMwU1ZaDV24Fga5Go4okuckaVBAvrPsAZ/KYPXPW14a6RoK/ jcjg== X-Gm-Message-State: AOJu0Yz+XvDXUfRp8klU4+rjUOSdnBKRkWgZDXJOg4RM/6FaGi1fAzZG IEtxsi5QEvCILdR9Fg9h8MMpKCz3X19J3JQBZb6qiySQZv3mxDL898OK2D9m X-Gm-Gg: ASbGnctkJ6BLTbZXCCgMidtAJxC7d+3SOkaGxmNNkHEBQUmds6zyHNXzH8w/Nw7w1R5 ymKsLyBfgpdLdkmZCRLOunpUDQyjicv/OrEtV0kcWL9VmdsKCbWEs40ostekOVdx95VVAzwm4f0 JntdkaEaEFAIRAdtlad+N/mlPjTk6lPqDIOPrrRAXstCRuhm134K8M9fnP99N53tiV58o0+hE0j mcswuloEjmZfV74cQYVgQ82cgz0JYKTrzSiIptu9nGZATIDlJTt4ZcSbCleCGMjjNGbC5IBgqc2 jH7eCN9Sw8uxNKiOxOcbZOMtCxAaMmow/4DSMTx3iPwsQRTZdqA/hcNurOldKAfGMKLuTl51rn9 26w== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/too= ls/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 =3D_ # zero everything @@ -238,8 +238,27 @@ EOF ddcmd =3D_ } =20 +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,=3D_ # commas as spaces + ddcmd module,params,+mpf # turn on module's pr-debugs + check_match_ct =3Dpmf 4 + ddcmd ,module ,, , params, -p + check_match_ct =3Dmf 4 + ddcmd " , module ,,, , params, -m" # + check_match_ct =3Df 4 + ddcmd =3D_ +} + tests_list=3D( basic_tests + comma_terminator_tests ) =20 # Run tests --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB86922F392 for ; Thu, 20 Mar 2025 18:53:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496815; cv=none; b=GvWrfDfvZmRy7A29gvnIL3SKCvQUvyIwzGO8BYVnuuqtkEK6r3mRLZPcXlCtP+uOFEPqjBzMK9xREQN7ZOFBatwCQn+c0dmISd0QCQS3/yJ/qzBf5S6PnONDu074su0ICJ9K0Z96zwKbjsDtxRORr/nLOecgC/TzYuuuVxr8OHk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496815; c=relaxed/simple; bh=h6fwIXL4bxkC92XTS9SsO+A29VD3Mfm0T8Nlpp1eLek=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ovRkamcWffYzAQoPN8wmJboLvF4NQj0O4nL5IwQfXxLy9wKEnG6HRrYF5WanDX5fxXbtSCAyq+sihM2EfPLKs5mEQiZ0bSo/2lOROfu/UqoAtx1Gzf4iBC6kjO/r2RmXM3OWSi4tLMRjohN7xUZK24bAwxhP4VA0q9G1GXKJY5g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IqZgfCT6; arc=none smtp.client-ip=209.85.166.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IqZgfCT6" Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-85ae4dc67e5so58314939f.2 for ; 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=vger.kernel.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=IqZgfCT6BJINNyccOAqAECHH/0I7zMFw7Dc88H21o8fYao/R4HgNXe/UrGdqjEB2xA gMBd2AyHjQ0lqVKrswttphqRrFVgXMgjBPlr5y9IcSXWQVdoAPCj+gOxJ5EyErwMNhlG BVfa9jDe+jM4TkZtYSc62XI9rKBld1r1RykwudGFnENlqJQnvixF6rjVzw9TkDS9Ij79 Nki8cWvtUx8JxgbdNGHSR8mBViDaL8Kwh8hfMC1TE2fwN0/I+YadG6/rsELqcdGMSpJ9 rMM2pVWSytYQOqZOf1dq/CYjnxMKnaN4qm5HJGTMBc2ActB9sleFSauZg/JZY7MiJ6Kh 1udQ== 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=fR3UYQ4wxBAl8QwNaQI4+neEWvAZYhj6sKDj4nA+Ob70YJe6liS52PErrMWMJEkyG4 zNqcdceSMQv6cLRO0jfsdjkoIDF1Rqw65yKSJc1zFjwiFyQW77zmxF6xlNuvMdceB6NE PZQtLkZlGOg8fmVZX15mWt7eNvfU/cMM4h45SC2lVuilBKM+sdpDoSxL1ZirRGCF/AoV tLpLA/xK1AzKP/ZPp7l/FwsrUH2fAhBq1X3ePVS4GM/ZMeNknz2RFFuoOMITLzK2Tj5L yhsVJxMHTzm2F9h72kyHCZrACj/cuR+cxphuJJQ2C8iufILvnxmv/5U6jPV6mTbVqAn/ i+dA== X-Gm-Message-State: AOJu0YwLUmawsDXlYoVmsc2BnJovWxXN/bc4kcGitlvZ7Jw9c6ihThaF XzTjl2QnTqLLvYKLzHUcYYWQVcp1GfQlrNPrNjvAbIFFHvDPkNvHUmFz8oFt X-Gm-Gg: ASbGncufwW81cxBSkfvfFPhulfQs5QwtJ/RbOrYz9Ew4QCX6YnnB/aYZ/Jr/+Yft9Ls K+XGH2Vk9tAXq6hAftZSpgeE2u/FTmPLqDVRsS/F0yn6K7gWOC/3OApKgf9338igY1moXAcZtZD a2t85+N8dwP4KavCl6ghB70Y6U1T4+Bu86TY0Aca1QhIxsksO4vC/Dq/Vbi4qSjw71NtrjdT6j6 1INwGPzLuGQsWDMrdo32ArsYYgBWuHWKwyCAbEJ2SktsaENvl40LNq2T5g4XUwWrs0WUzlSWf5Q qLBSrHQn77RY8Z+Yl3mpxAPQVAv4QKDxN+hbMNo0D1bZn5ve3TT7XlEJPfAfZZLKrQnbLGsQ+vQ UEw== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Since commit 85f7f6c0edb8 ("dynamic_debug: process multiple debug-queries on a line") Multi-query commands have been allowed: modprobe drm dyndbg=3D"class DRM_UT_CORE +p; class DRM_UT_KMS +p" modprobe drm dyndbg=3D< [ 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 =3D 0, exitcode =3D 0, rc, nfound =3D 0; =20 for (i =3D 0; query; query =3D split) { - split =3D strpbrk(query, ";\n"); + split =3D strpbrk(query, "%;\n"); if (split) *split++ =3D '\0'; =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 01BFC22FE02 for ; Thu, 20 Mar 2025 18:53:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496816; cv=none; b=LvVY6sWd0iupUTBnsgP/adK1lhkPh1aMBSZs7MQdIwSvZ+U85CAO1uPMnypGOaGvhoiA8cwIjeLVqU999LSMNiNwPGeAG2y+bFIX33nEjGk5nhxSH+/Wg7nXAinAxy7ZrzmTNa0LwIHq0kYaupzWKrJMULZMbusPMhVNrxcbh24= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496816; c=relaxed/simple; bh=7spOpURb5o7FkCgSn5q4NtBqN1dQS/vR/iSS3MjQXiM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FWmkhsYURiAxCrk/ik8NDONIMVD2YNc1+brtfESzDXRxNpsOmtFnXuH8lpQqa6taE5D3BbS34aefa1e/jfT7LQsmxq+TmC2Ayeh7po/FVJwwD2GzDBVmQBr2/kiksVxw9c15bYlcUy4oHDLi5fZ7nZf8+REK4sd83mUgnODAFoA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dN6byAd3; arc=none smtp.client-ip=209.85.166.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dN6byAd3" Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-85dac9729c3so88972539f.2 for ; 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=vger.kernel.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=dN6byAd3fpvG2+u3BCXcCVKetCUAxP+soKuXGBD2e9TFDQyL07S/jTi8bpvuheKQMB xsbkYPmJLIBqMk/oRvJRpkmcI7bGzwJps2zRB0Bufe6TDM/CLdgotw4QPTOBPsJIYxwU 9a1Ns28PZ+gf+EOcUjN/OkaqMP6ubQoWdYJAKAQDBWEi1+IWyHcqfAR/r4V3D2n3VatG J/RPPhP5BIzgjMcdoge3LEC0d7Pn2bC2GIAGimJpX+9qLRcXryXQUUEuMjRkDYw+O9Hz cBFRHOMYzANSuTrJ0bMG/lPJU7yiyM+a/D01+hpkaVm7vhb0xdEt1QTAe2aPIrPsq0L8 fxiQ== 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=YxMBYXF7rF4CQLqVAimQKLLP9b/iD9Lmpuptz5/OAskXDVC8gCbxCO7H8Rm+exxZBZ EINqehG1Z7Gpc7leOqAgFNmfraMm8rS+lKptjA0HDNcCY8xtBvknIvPm03afeZMs4uWa jffowmVajjskZYe0kmD77CKLhUMcxP1I5rhsDpm5fun9GhkNUlc212f+EAlMX2NqaikF ay8tof6V5nldvZ0hzHonMK09ZcPhX6Jl/6fCxGKoEbumNd+qugU2mvh4iOogGRQEj0t/ 3sdIXPwlb9XsdIJ8iKkQqC+1zqrIrfChBPFMuJRUqZLEiTdB3B9YKXQCF8stsk0niGZs MTUQ== X-Gm-Message-State: AOJu0YzNG9No+7z+DE3Pwy5IE/zh0X5U0CWk08RvWAQttHvOAl3wHOoJ 6bGkQP0u9wn9Tq4jpBXdOJME728c1m23z3MxiSd5kaQzHMNnVk6p1/DzE3P9 X-Gm-Gg: ASbGnctJAj3LS8TJSo8MiBbapn0wtrRPZqpFIehX+qdIpCkvwiN8u8PEOrPX22kFyJQ 28u+BLk7LX+QQ9zozUhKuGllaUoc8HGfL0heRxHnIKfzIQqIHfSZ49ysudsURY9TenZyVUeynZe cRwu78JReoHvuuxtIU71gEMeu4F/nl9fDelZLY85qim//mev+aRFHAB5etqXw2L7oC11DlQAFPT zqD4M3xaBwYL0e2TYKdH7P/zBZb0U3XBSzpTORNvXVQXUjylr1/+zP3g0OILi9+Cn7G9ll0XI+/ UJTSxmAJAG6oek8k4XRr7W4XU+iozt+Z703Zp5RUCVlO4YASlqLb/kK4MM0ebN7ate3Gr4X/+DD mWxQpC06gspaK 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/too= ls/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 =3D_ } =20 +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 =3D_ + modprobe test_dynamic_debug dyndbg=3Dclass,D2_CORE,+pf%class,D2_KMS,+p= t%class,D2_ATOMIC,+pm + check_match_ct =3Dpf 1 + check_match_ct =3Dpt 1 + check_match_ct =3Dpm 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 =3Dpmf 1 + check_match_ct =3Dplt 1 + check_match_ct =3Dpml 1 + check_match_ct test_dynamic_debug 23 -r + ifrmmod test_dynamic_debug +} + tests_list=3D( basic_tests comma_terminator_tests + test_percent_splitting ) =20 # Run tests --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5010C23026C for ; Thu, 20 Mar 2025 18:53:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496817; cv=none; b=IysJq/EBeOCP9R22DDfxW6Oq6B/6ZUcyrACkW460cQCXqh9Emzzw8kEqTDmIiU1eXw0BEeL8c04YWglw51FdbvkmrW31Ww7l8PSeSeilmDhBJ6IX/878kZfR+7pUVH4Dm4YwDoAxYff0cR+QcFzUuBXeEOMwi5m5tQtY6WRKEhg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496817; c=relaxed/simple; bh=zUYSWVbI/jO2yWMUF61GMoQxRdlb44fYpZGI20FCLcI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uTEQ0lKcLU7Kc/wAV07ECrUtICDxkMHD0Ub1wPPhI1hKVRakGuBDB3+N4qrCO4qOJpIxV7/CjX8RvDpsXrrrpV4f9R3taUaAYBT+3EeDWIbd1Fzh5iQKzoEPyGgw8w+BTx3Vn7Jrpt9GcxylkvB7mhLQHiaQtwm7VPQ0r5m6+xM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QNsWupFh; arc=none smtp.client-ip=209.85.166.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QNsWupFh" Received: by mail-io1-f48.google.com with SMTP id ca18e2360f4ac-85da5a36679so108949439f.3 for ; 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=vger.kernel.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=QNsWupFhZ9Wh07XMtbN2bSnm7ZMg9i1HtfMh/hY9zrNO6nSNsdEUJceGZ8ghFjlWaK SLTbMmI5ERrjoPTlIOf7ceRCn09yGiFUGwbatdsWXzth+ik+4W7p3PHSV0P0vrgAXr/S ndqxfikdCNugZ4UdY1/D+WXn06OWiNR0wbbpjOph8NvbmC0i57CIq7MRZUGXuDGJFo/Y jlb/xK8UyOboxQm/9yznS70PqkB+7SgItbmHr064Blt3L/TzRVc7+ahc9V0nbxQtYQRB Fr088ZeJx2lG/KiB4YK8zW+bdoWzdz3pO5CufbbOxyIX+UuYMNIKFyP7AI5geamb1OD1 8DeQ== 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=BNgeCLNiYYwcKckNyTySNEQTaxTPpNiVugXWA3yVZ8tDSYZo/8yDUHHHl52J8f2lfB SZJ1JVxIaBrTV5h531qzzXcIOy0l2O2vK1hIaJoSpQ8futQJ9gBp5Py7Cc2bqtSb7uf9 ObdW1yHc9V4kMKMWXinHF6h/qggUxu4ML4EyhyYu7nFlfJF2RkG/DRql0fQTirmn5qS/ mLAQxpJFn0DdX8rTBSmPAYpfqqc1ESCDMN60/v6jVm50M7Zd727YUnbiXP6o/kRXacJT TAC/nbaGJ/TH9LsUoXE7AqsVpZ95TMM9Um6R/zH/n788ROwnP+uXgTFKJFtkJKk7TU3c sqVA== X-Gm-Message-State: AOJu0Yynx4KoNBRrpjo9/YbuOATXIrJu0LZo1w/1mwtePyMHq/8wUxgB z/oqaXfMFZbB7xAUnLjOuCDvdZpJCXtwiDaTZMqno7MFpUwxfT6vEFLOs4gv X-Gm-Gg: ASbGnctqhQRS7I8aMyvXh0sqE94jiTylePSCZiuzNsHMpw8rwsowV3SZ7X1BzPDhL9u bdEVfUrTjU1RoECLEQywrDK8vtLx00dQ4wATHbNymSK4PxUv4X1NgxIM+jVSWwNMe7n2Awsv1im Hwc2rl7QXRYTdyFuEaTPFlKLhD1Q9KY62JdRzebmMjyn6rIjIfa1v1eR7Pg5HkOYbl+N/GpXsWC RVmiodslNZ6NXssS811Od/hNCAkr6zvdpNS9apcy0+GP0yizNnQ58D89SL971oX+nGfjXLk4tLz PpytdW3WQPlujAuBJxKYMMOO8KKzuU2MtvQEWejIzv3i/hF3m9jJwhva2rDdy/JDyLYNCDVyaro 8Ag== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This new test-fn runs 3 module/submodule modprobe scenarios, variously using both the generic dyndbg=3D 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=3Dy failure. 1. 2 modprobes (super then sub), with separate dyndbg=3Dclass-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=3Dsetting (like drm.debug=3D0x1ef) 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=3D1 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/too= ls/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 } =20 +function test_mod_submod { + echo -e "${GREEN}# TEST_MOD_SUBMOD ${NC}" + ifrmmod test_dynamic_debug_submod + ifrmmod test_dynamic_debug + ddcmd =3D_ + + # modprobe with class enablements + modprobe test_dynamic_debug \ + dyndbg=3Dclass,D2_CORE,+pf%class,D2_KMS,+pt%class,D2_ATOMIC,+pm + + check_match_ct '\[test_dynamic_debug\]' 23 -r + check_match_ct =3Dpf 1 + check_match_ct =3Dpt 1 + check_match_ct =3Dpm 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 =3Dpf 1 + check_match_ct =3Dpt 1 + check_match_ct =3Dpm 1 + + # change classes again, this time submod too + ddcmd class,D2_CORE,+mf%class,D2_KMS,+lt%class,D2_ATOMIC,+ml "# add so= me prefixes" + check_match_ct =3Dpmf 1 + check_match_ct =3Dplt 1 + check_match_ct =3Dpml 1 + # submod changed too + check_match_ct =3Dmf 1 + check_match_ct =3Dlt 1 + check_match_ct =3Dml 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 =3Dp 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 =3Dp 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 =3Dp 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=3D0x16 p_level_num=3D5 + check_match_ct =3Dp 7 + modprobe test_dynamic_debug_submod + # see them picked up by submod + check_match_ct =3Dp 14 + ifrmmod test_dynamic_debug_submod + ifrmmod test_dynamic_debug +} + tests_list=3D( basic_tests + # these require test_dynamic_debug*.ko comma_terminator_tests test_percent_splitting + test_mod_submod ) =20 # Run tests --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7105422F160 for ; Thu, 20 Mar 2025 18:53:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496819; cv=none; b=JsGYT7aFnfMbwu05SXXAWiZV9Vdq5uW7ayz2DQtaJ66WML6ZbxIuiLq8/gdHAzWOPtN6FIXwuZGbjaNlp/iADqyBWQy3S2XRngYjd6gyav8xIWNoqhAiQ8aqcgm2KZOBpHrafz5PzH1z2NAn8xpv4crBBXKaOh7XxzaLw//P0fo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496819; c=relaxed/simple; bh=XnYFPjBXkniGXAmm7wMWDWt6i8BfXNBL/ITGQx1xuUw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YoLS5aPFcu7dWmbd3QYFUZdR6AZF2yzcG1XTfU1ed0zwLZx7hnRyaQb1gJYnxyLt+XUQH7g1D8txar/RERpDRd2MMaodKfTWaCs3XKq9/FTmH9FX35ckTNt9h7b+p3Fe/d6MZ4D4N6oCPB4sB9kt77zZPnoWlHC49yrpEQllJN0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=TV84ojIv; arc=none smtp.client-ip=209.85.166.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TV84ojIv" Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85b43b60b6bso41405639f.0 for ; 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=vger.kernel.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=TV84ojIvVcQQ7O0jcXgryvwPBzv331Y1ONP1T4bLaa4fwkebqgiiMF73hwB5lOqh/L 7iFe/dne/lZjs+t0yWFFnLNYupdJpeV465Ey9aW74hAhrI540xI5omoPCy7A0lnC523b W9DnSY1rsJMBZFlM7vjRgDkA8f0NK+DMpuc4MN+md/f44qr5Qn/3GHAKwTMcTpVpETdO ZoLi1iNKcqQ4K7eWy5MMAv9Qc3eqwlEJJJnnIGT1AtFSatODTlqPewU/V1oE82wY4u+q niwVcZGR6w0QQPKEZ8YwkFILQE83kkaC005gx5MJBn/gdIwL3bwZkLfU4YsqsXAK4pwA PXVA== 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=c/peqt0PmZiGxXGvl9SSCx8z+GFk3vvgYm3FzdKt9rB+QnEsYwnqedUWGJKPGzrxRL qRPjKlujU1Py3WMmqeE/USs2laq72UjswOb/f8nN+R7DqdijfzjE/2pyzdIjJSXUXmjq 9rQaaQp279LTKJiziif2afQCQd+6DjekiaS4QeJhc/RyiiDknW89qkgwiITR9lGdr6MN LbEWDo+V1z8mnMJSR/TuPyLUvB+wIXjMrJzZpNIBz61bY3cK0m1fs1ThF0SAJ0EQ3jIL 3z5KTaIxu/NUiKEFO5qENsy2RIiVTXJkk4xOA8irq7AM1rz0r30/vTm8jfLrAXf94j+m XrkA== X-Gm-Message-State: AOJu0Ywt1g7r1xX2oUQtZAfhQctVIjKtloCSjVGVM+/ijFVWkZlvNrAw KRiP9ouzKcA71NWwDHnW89Tf08S0WwxhJoqhI63UHoBqGQ61ESp3P6kv9FmQ X-Gm-Gg: ASbGncsmCAAn+3bmZs/oixroFNyu5pJidrHVkUm1fYwENtNJ0hW/Xuy38xudoZguPxx Le9iqF7a+L0swJu8JwJMaXZBQaRXBNQjc+5wPTtmE7O/xAV7i3wSyxd1Qh5w4iL+0m5U98MQFh0 OMYZfYU0UzZtqp852K16ycytWQGiTgkDURhlq9ZRlEjq8uhu/8jJFlSrp25tRR8aQabhdVhA+1X /U+CFJOJ96yasnFoiTXm5xFr1x57i8ERRxx6TOAzgaC2gVxgs8FrE+JKQia9/UOhsBunxZrc+zB AoS9FZzM3XUufAV2yE+zjoIg8TuVOIURqFrPq+tURhV2k1WvVU6SxWf5hdnPNXML/FRq25N8s4e ISw== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Xe driver's XE_IOCTL_DBG macro calls drm_dbg() from inside an if (expression). This breaks when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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__) =20 -#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__) --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AC556230BE7 for ; Thu, 20 Mar 2025 18:53:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496820; cv=none; b=QjzBQz2nTHRa9hkTPApf+Ay3OMna1dbsEbEfa7DT47UHg4eFbIWflkXPxqLgq9rfZxMmjlkHC6NGQsGVajD/xb9jbtQoxhJ3GRg7CaGW/SHoh0d4OskpQD04oafX8KrlQAOQS77cJpvDtg25YVH7V8hzsNWpIFA0rP18tC7ql1k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496820; c=relaxed/simple; bh=36NWAficZDHpEm26W8XaIeLJzui4w8rAyDxigzWGwww=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rqlu0Djdxhul3EOIIH6Od0HbtK8GsRQ/KDNV+er8c6baI5c96wPTzrpNHr4I+ANrOio+gEOzDvWjXTP7udsTBSUESWyPWEk7IE9xn6sBRNhJ/7iy9KnxJ8MnnRm2rvTa7THJkdh6pj66SwBWMGBy/n5+SNoUb4aftmdrb6FJtmY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=m2t0OrND; arc=none smtp.client-ip=209.85.166.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="m2t0OrND" Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85de3e8d0adso13778239f.1 for ; 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=vger.kernel.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=m2t0OrNDPpF2YIrnZnxQv0GN5TLHMi+WIGp1ToFTGzbcsDPQ5E36/38k2zBo6aITip SZST88jKzgcJJscEFDBHaDKvP6jRee9R7rxBrIQrBXxtZr2GbhBg6u2lchfuNVJ38rFs z0God3ua9WGbkCxwzmzwgoZhaG513s2zaXL4NvChs0MWpgRMS+eO69YBHoDC4qwUeNTK WEgtrFVPygmDUT2jW7Kn5U6ItFoYULXztiBBDlxDGCu7ExkiiI9eSDv3VthSyqSBkWsN z4nAyB81cpnraoA7w5sDAZwXS3JF5nah+AZX2Xm4Uu8NNRG6ZF4eoN5BZLcE99EZJqED Rybw== 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=tT15SGqWqTX2eSX0YP7DlCdOhOY4v5DhSGG4bwOSMnmKE4EjR4acftHkFuf3gcxi+Z 2ip/agIgy6XvzlmpBCM0IWokSLL3+z+LRIAZGiY5IHNHDBhWOKTi5dOHAWTg7Ef8AJRW /4EZuS9j5KxatmIxX9CFtDxmYNV9/ECULvZuG0iXB7O0YQa3AGj8P3Oyj8DMETa+P7im 3o1uoZm2Y5ag+9OKTZaFOIihbWBBPt+M/BL1URHyljVYvvEhdxzNyukBESa9Dd5AkeJU ok016vz+iKafWTedfeytBxGz9XfjYZkdV6wf+mGVcCvs2iopScYJW2dusAdH/Z74V+nR Ovfg== X-Gm-Message-State: AOJu0YxqVY41iwnh7e3KQktRe1zVmp9SGB/pNHUrHmj5HR736jeFwUXQ Ph0QniFHFhiLhweFlfxmmE58v3x+ibOkPfju9BW057uuReVRCi01KV6a5wqL X-Gm-Gg: ASbGncvWdaNlXM8N9dPWo7Pn2P+xhzCvp4Fjlto0Om9RETLJpLZHtW25f9tpBgw5XDj pjfBS5ExW9ibGaR3ZJqITiWbJvlpLbLOoV6mHLUxN3n3/D6PEX0kc3xgw/5BgPYt+ecnUC1vlIG EW9FQwxxiV2qp3ttdZCpsIy3SKWS3KDAXkFSv4wZjFn/FRXi1yfsbAWm90kOq2Qd9mjdWaCjCSE WrFGb3sNWuyIAe320cClOyNgQK06v9TzG3EQHM/EcfWNssoy8BNv7PCU3EGFcGr4BeYiJOkkYjW 4ed1rqnp4huGY79B0UUIr9sX9leVoBn09PZB0ryTV4G2IwTz09lj2rCdKMdXoz7uIvnqC2WsgWl eyg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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; } =20 +/* + * 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 ddeb= ug_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 *que= ry, struct flag_settings unsigned int newflags; unsigned int nfound =3D 0; struct flagsbuf fbuf, nbuf; - int valid_class; + int slctd_class; =20 /* search for matching ddebugs */ mutex_lock(&ddebug_lock); @@ -218,21 +229,26 @@ static int ddebug_change(const struct ddebug_query *q= uery, struct flag_settings continue; =20 if (query->class_string) { - valid_class =3D ddebug_find_valid_class(dt, query->class_string); - if (valid_class < 0) + slctd_class =3D 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 =3D _DPRINTK_CLASS_DFLT; + slctd_class =3D _DPRINTK_CLASS_DFLT; } =20 for (i =3D 0; i < dt->info.descs.len; i++) { struct _ddebug *dp =3D &dt->info.descs.start[i]; =20 - /* match site against query-class */ - if (dp->class_id !=3D valid_class) - continue; - + if (dp->class_id !=3D slctd_class) { + if (query->class_string) + /* site.class !=3D 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) && --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A94B6230BFC; Thu, 20 Mar 2025 18:53:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496821; cv=none; b=ls8Cg8mFCDCh5wTNSTTf9jiG5BUgGWSeuLX69mr7pLd4r9KY+n/p2NKimYCnFVFbd6AMVR3cWMpi55txOoksYZ8vi5Fy/aNBlBKFaMU/d5FJPPDPREsc5yUGc0KctGCpWJpRuNl2l/fxMpUvNz1st1eDocie0GNr5V6IroDj8nU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496821; c=relaxed/simple; bh=1rYs1TUWIiIJ62WVh7RfOBMZYkEFURY3BrMPDn+40jY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KRGdk6AfKdGyfa2VCK8Tpdkvnp06AFtaY6oeV4k1KytCO1nIwW8inuUC2owRswFLP8DqAwtWVlcKQb1M8uRSHkepSoiAM5lmA1G5raFULZKgPFAcFBUqsiA1NmtNXZEato99AZnxBhWeP7tWFAaCqwFWqX75+W789TL5HPF+14M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hE/DoM+k; arc=none smtp.client-ip=209.85.166.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hE/DoM+k" Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-85b44094782so34865439f.3; 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=vger.kernel.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=hE/DoM+k/UD44/jOUvkACL6ju/qnoozNTj7CRJzzW8mtaXbT/UiXuH0tGsaDBHWpg5 /FT8DhcUbQmNiS1dBAnRx4mYUs1knFoXEjKE8Rx37/Qpi/pDzip/kyvMTZZ3EG96Sa9b nWIefeRj1mCBIg4899kwSTpgjEZUlrtj5o6a0Kju1OW/Ql1bjOirmt+ajcyCSbqIxNWS Mr1AzS5dDp91lnW7B8ADAiBa2RdFQGtOIoHDF+w3O9WKJutCq/Fb3QpGasq7jNbyZzmm 8yUPZSjUZhYUmMIeMDry1eMkqnGqMpI2ZO/TPAuyXgjBh0LGcMZTS1EWLeNrrvLjLq7L XNEg== 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=tW4fttFpGYY6x7C9forv7MFEN/1CrTrQ4YQmwZT2rCjPfyJQpP/G6O+PEXgBHJ3l87 qdLYoWE5Og+VlryoEN5CmB0pBaFfQLOvQUJuKSVnNl5bl0k1Kh5MpHh0Ed240P92FeUv UQPtUZpO5o2wvfRUQuXxY2x3KmlVb82xOSiv36FcnSruy6ttF/lIl1+0FHw0x4F8clVJ 7VqoKpBGp12rz0zaQ4SiTWSdmg1tye9ojzAmWVKPgBi1sdGDTcB0xnJ92vq68FZbZrGo BvMrp8di0LevtwtCV2wcXdE+UZLqYKjqaFNbv3KH3sMgmX2pikV2a5NzuMOSp3+/Ip52 Y7sg== X-Forwarded-Encrypted: i=1; AJvYcCU5kL5jhznaYpB11CKndDiAZQ3ItXMzBwFG/NAgbW3Ad//Of5WDXxc3/IAYh+8ZiE8dKis5nkcyrPc=@vger.kernel.org X-Gm-Message-State: AOJu0YwFsyt2bi1wJe3M5X4snfS9ZJWTMrw1ZytfQnm54G7S9R5luPu5 Xos6MnpAOiR6CLa3TxWBXJJIu6s0KWE0zNfuEjD1N6gxEr0fy+h4otJflN+A X-Gm-Gg: ASbGncsYFTNOOPFDY1j5+HCZ6Tl41GmQx+Qcr/9CdDD/GRFhmZKhOj0/WdDu33JFnTe Nalbyybg9g9nUUJzwpQsdonkrdt8VR444qzr61Y/vh80hsvXajObnh4Rrdp2tbN5ItlXADr2L/Y +1TXyxER99UL6jrTYEd3P+OnWTK6DnZg3XJ8zAP4FOC1HZIcWX6G2y2ouOI4QSVBh5s5hRhjyNS TRc7QByH32m85Nc22Psml8lNFztZJYpMtjeVZLRiYskF2Db2+93adMIXQmYSJRXlL5S60LxHYGJ XD/onu1dLSkcd4xCvKxIwWziDq3Erwwat50djLtSVOh8EqDm5M7kzTC6jQhqhcHmK6wdlWqRiOq zug== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/Documentat= ion/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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D =20 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:: =20 :#> 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 =20 -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``:: =20 - :#> 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 "*". =20 - 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. =20 - The meanings of each keyword are: =20 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:: =20 - module sunrpc + module,sunrpc # with ',' as token separator module nfsd module drm* # both drm, drm_kms_helper =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 158E5231A42; Thu, 20 Mar 2025 18:53:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496822; cv=none; b=qKXsiBqEMQtq5XhDF/SNHEYzoOn5MvVRhZOQGieTWZZhrPdxpWc/qt2aittcNVUPMynqWDTQ8G57y5MwJH3qwumqsVZ4UJ6fLjv3uL1Im9ShRIegGMFI/Wxko9K/mew3SHfbpVkJ82v66802wnDw/exVgOZuaIryM7zs5jBwiTM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496822; c=relaxed/simple; bh=jreOkTAnalclva5phDVYbmGUMVQIlw7AM8+PxERHahs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OPNvD7Cf21FoAKNGxwmbwY8hbvF+wBC93qOzKq0SGThtef7NdPZI+mczbfxJ5IxEZ2Gg2qi0zPwjUALMeGIo0OnbkoY6uXIdghbblB6vISUU5joGv81YZB4F5QuxD8+4VNh9uyKOyhvL2KShrZYhLAuTjhCaD09bhXRqXEuIvAw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZvMbLg8d; arc=none smtp.client-ip=209.85.166.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZvMbLg8d" Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-85da5a3667bso37832039f.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=vger.kernel.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=ZvMbLg8dB5GiO6R0W2UbMdt/7OUN6+V7EEOLoSDjf6o0tPDR8Mp/IaY/7ryDDRIc1z XyBfWsg6bmaKZ4KtGm2X9XEX+UVVdSPAH/hBuyjMyc9BWHoz0JyDTfqtIDum/8wKVCKS WHmNMnZ8HeCId/BbVGxtuB/fQQbvWdCQThhrYdm63FdR5sXKc3yKaFJ6q5ZQBlHlXhqU wzZDoE4mUjnnGcyWssvq5anogO2lhFtpu51G2+vGmLEUNwQFOidF0p5rXmyoRJP3Zh4v l1LmAw4s+nXktKWnB1R8cgy54MMa8UBPjLJ21oBaBYUa7zueJsMslmmJjLiJK6GVY6WU wsUQ== 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=ssyrNAY2CW3252Tl+Ov7ylDOAUhIBxi+zZfUwoMtbpoFTcj7Ue/rqaczYVb7xlU0HL 0QThhgomJMaktgC7twx0w6SSxid72HvBNtAPy0fD6TdvcrnENL830hbKg8acBmQbJs1p 9ZGka23wTvFy3w/qipllpWaEOwN2DqqbA4QaQD67uFrPMt3d69O8WtOTObSw+hhiKU+I kzlol+D14vWXlnIoCHdcv+wkMRz/fV7rv2i+gmyqAZ7h3NFRd+Vv7BYT4wBQZLk0CrVY vU2Q3IT9K/0EXZPuaDNQejiZgoQe90FfBK0gDp6jN0EQQqsMSYOGwjN9ILZWbP/Ciab0 yYig== X-Forwarded-Encrypted: i=1; AJvYcCV/r7XEXq0p+kzXpf7x6dgzL2Cs+5NyO/5m8z+cP6iWkGNBc/TCYYTni+0HortJsM6x17gQ7CAVHxY=@vger.kernel.org X-Gm-Message-State: AOJu0Yzj4bj90G/gUcOrowaskTL0HWUyHsEe2JQ0wsALBI0n/NEn67Se BlDz5thCPnVmfz6dezBJxv2FfGVUJ/V5ZOixnZNOqjk7BmQDXY4ZFC9XKs2+ X-Gm-Gg: ASbGnctDoUaqaUAiGQ5sFfATT9fwwEx47Sp3Og1qY09gN8OEhrT9juaHHKZA3H4gJC4 JLZo+Ev6QbJCLr1gj9pQ9XoIUa/XWi/M142ZbvbNFEv+wtCM6Z59qfJQzXZeWas1PTxYc5Np3zw /u4CNCK9k9yVVwAFAJi10ReCVXNfGzSseEBETmz0SplO+pN9ffP5vQEUyd9IAda7lp+SrXi8Q5n 2wXwenBJ3TCNcVFGDOwy2DYK+CWZfZGkZzvAQj0tKS8z2S5MjsX5uU/uztgnWAxwTOFzVhsdIlP F4kmEg0tj9c12cUKcSp+C0/nzgvzNz9TadizADsh6APh+zAxD7dFimmCktf9WSsflhICCxTaR0i 9NfCSry1TsKnR 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/Documentat= ion/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, upo= n which to apply the flags-spec, all constraints are ANDed together. An absent keyword is the same as keyword "*". =20 +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::: --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6D7682327A3; Thu, 20 Mar 2025 18:53:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496824; cv=none; b=ajeRnTRbbb16lC1G478/wG+Mt7rg7JPDuqAHsuFjlGOOcgucJkp9s0ExpTlgBR4dLHHshMaG54DiiHYSL8tJf7a5lTn6COZBAgbxfghy7aVZHW2anf8jqgAR8hGY+fOktivb/j51mLGqS9ORUbfuZpkbgl99QEdq55sHR1VqlTg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496824; c=relaxed/simple; bh=aJ/D7usPSlAaXa5RYkYp2EWZZhosXbZpnA7cfZLfreo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gW/6RsRFHwUOGk75SGhnrzPmVVPPMTpXJ8GduNbfiOk78wsSG3YNzh2Sww5pfGmDyGcI24ES7/lh4gnivGvpob6+/5EWta2IJzSPDnQJS4uDzObWXWa4xBuDMBGbQXF5o5Sc+tU0PQOdPfgoSnqrd6bHfwNyyN50p3Ed2yzCUrs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=S0GUwDxd; arc=none smtp.client-ip=209.85.166.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="S0GUwDxd" Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-85ae131983eso125344139f.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=vger.kernel.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=S0GUwDxdja4ha7Ng3au5L/LBEGKij+P5GSaPlVpmsFLGOaMA9dDOc7iriuVJ/1oes4 ssB4kIconloMUoPzaS9nNzVB5tEdIFHvqHxXlIeCBMrofacI564vd497gRpaRt7aR5UW wjR2hOhLPu/4bVWfNskrjr9K2XyRbEijP1eufmi0Lx0UtBuxrFwScEPjzeqc4L1duFZD FNQLe0fsSTHnytSe/pHDfrDTy+FfgaIVBu0dB9akeBoFPDKg+KrGK5U6lzlCIEm52iir oqTkZcacmh8Qeq6Tos3JOeKhGnLEMPZvokYZG4gxBBHL4JEyvK5aPGe/Sw8Rt8devr/G GUPQ== 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=qqHegNijUQti62qz59zzSU8X5UoDBt5ZKeBB5dHZ5SkqQJzejbSNoQ5EhGCDdcvOd3 vcqiLRMqR7rj3sOd3Ss/tPUWFbbnmVfYYUhaAV2OkcRHqfrxvxNMUCLcgLOmfz6UJivz W0TqRS8Avp3hFiZvKd2ownzWZnN51kMJn2joPznQpPxatx3dr4NePVdCHQZpHx38CLxD UfAfHwswwZ9KhAqLOJwcT2fr43f+2p/fmJ/R8ENwtEamQhZKPNinUcSpMqWuo3NHo+Ba H3MNF3/GAcqbkFrdH6p2KrvODkdrC9ivmxluQc8EOv+jRsFqNiUjsQnu/VGnrz2JXwvc 6cbg== X-Forwarded-Encrypted: i=1; AJvYcCWCqNRQ/113FU+QlkJPVX39oP2gHSa5FgoXHUNH1zjz7YcZSGQhMrUcWZjROTR8APxCZVwlvxxhUrY=@vger.kernel.org X-Gm-Message-State: AOJu0Yz017dmJlcgFaSM+s3tnJxlk0Ars2qJQipXhFrieqqCtB1oKwe3 YXpeYjGyIMVWYO63O4LzhjD0PWrkalQgW4DOmPqavf4vHh4CjkRnGI0SKTDp X-Gm-Gg: ASbGncv2pNNWq/ayHVFpt9Oh+5OMLtjDqoH546dZEnI7Wj/uOh1cwVG6uaRvE9IlNXM b+0J9aOpvLnAZVdBHmCUVOh0Cq1aCQHRMUsEOa4ZI3YCsGTTNhNt81qUmRjC1onGcFc+nS8aoWq Bpfov5BPD1JbaUTQ0jy+J3ZtFL8WQwrDihPzYyYS/9T18aLC36mzpf2rM9hN7xODCnMFVP632S+ 31X+U7Gg+F5rhzjJTu7yzARR6Fnhe5zwl5hcvUYoYcgDOTDedEFxfglqGWaH2u6Frn/AeJuzlhJ cs2LsPwrFX7lf0Pae351RAzwRhnX4sA9mt2Z64VDJhxlIUmnaFrXb8iZL0hRkR2eooJLUTlAulF AbA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/Documentat= ion/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 ``^[-+=3D][fslmpt_]+$`` matches a flags specification. To clear all flags at once, use ``=3D_`` or ``-fslmpt``. =20 - Debug messages during Boot Process =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 @@ -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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D + +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 =3D=3D=3D 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. --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB954233702 for ; Thu, 20 Mar 2025 18:53:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496825; cv=none; b=jdtBDr1Q5eDr/lRQJi4oS9951efYiKUhBL9voR81aYV6NsG4CHQWNlSJ4eNG5FpJ2gAbQVESAaLdiKNrChF9+PLWyCb8ypynWtEl6/JWEyv+N+j9ADj1wU3MdK8dr+6c3pkJbhxTTgFc/l9HzM0AVEbDBoxqKgSKDIFLVT/7sus= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496825; c=relaxed/simple; bh=mdgz+S+uF4EaXpsKTHXdFabSwUaakZ7Py0nyHL5TVzE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b/UxyEW2kazHD/MzwpIHOzyfkkbhvalmXyjloyUFtzB7yvdxpuax0fXH1JYV8P510V0rRw80w1dGSi2eZ9vs9LxL6DxVx6jZ5tUGIYyfYWQvg/xqJ8TWiRLyU2qMBotCRAPwGYV6l1snSprPebrwU3jUY83/DVvid22ILHzbH8s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HmCOq7h2; arc=none smtp.client-ip=209.85.166.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HmCOq7h2" Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-85b3f92c866so15958339f.3 for ; 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=vger.kernel.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=HmCOq7h2KkqvCKvr8kR0tzxO+odlBQL5oJlktqBkUx6zESaqdMRuHEmfWpulbxlD2f tRXJQvXjYenBOVuebgdDzFsrWh1aOi2AVpts/dGp6f3wQB3sMExB6Z57I8oQXyFE+hg7 /pXG576m250HjtQvFi5ByNhs+RH1Be5HFB0bdx2WAUddb5SsXqYK/IbyoQ4W8CmjiTT4 oY8bheIIJwupxU5CXuXOTH0VxvEqnUlXn4A4lr2WyAAww/HVU6u6XU45+DsJwQTYr7Yw /q3MMlCSQ1BU4qUMpMvM57FEDRdEvb2ieHjEeBSpwv/RgfRUOSVye7bfO0f1L00lZhiH oO8g== 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=QXNx9Gw+JR2W4Ibke30VSO8gv0mMArttfKJOUTaza1V+RsxyBIgRwyLFXD4cvazgFM F9mSwyoytl6korPQQBugxLCC9/1lVMcO79BsjIKgEFQcFf18yp0AkdjxQrvoncXlyZAn RApye56s7GbaoJoGvBsI9S4E1WrEwM/6tpUQlVq6Ms1zsjJPgKwgqJ2IDn0hR/uW2iq2 IAVdVZgnp3b5vo/Us7ujjfg/Qpgvv/C0/yFKh7LIMaWbg3oxKYkGoOzvqKRn0wB267Fa KOJnc082yZeu0z8YoTNKICeN2OJR6g3MWiRO6LfIjpAKEhELuj5JH+FXpXOgvz4Tn4Ie gOIQ== X-Gm-Message-State: AOJu0YxYR/rPdrrEWlsvBnpNxuYBxJs0wIB/SrU0cv63AlAga/6PIZkk iH0rkMGhx50CjiMKPvxsI6ELL9usOcBWKV2AdfcDur1UX3PrvnXIFaqi5miD X-Gm-Gg: ASbGncv5ChcDoFyv/czArkgQECZmuD21APaTtGNkvVzY7kI1UoQPUb5zBbZWuRZiLVU e0VWD3ZdLRltXvAAZsLFNQi0OurdFgXc2nwMQgvQcn8c0hto5ZnVrJEG6uTOSBG1s5iEpg70h27 pAGRTrILZ0q0OYNPi+6bX3UhdaolGFyKN8+cA/oKGbXwi7pig1kCkO8bEK2e0QK/WNvrmW/9nY/ 2PaiTYs99/IQPYUl7SC59YG9Z4m/7VYegmyQacR7dibC8hqjYDGiZsFLp+Y3suWdiilqjwSc/r1 GudHQkpIRKsuD1lphttpFmWT699uEBzOguB3USH+7avcp430MjwIbiTri168Ut6r1Pdyhpd0n1P k8w== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 { } =20 # 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" . "$herec= tx"); } --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 12B33233724 for ; Thu, 20 Mar 2025 18:53:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496826; cv=none; b=gsVfPxVKZGqhuCiMl8COAgvDtd8HX/zWgh4cDwDFvSq1lUf1AbLO7u4q/TggVtW1dUOESGtkooNobLEqwjSVCfcl6hqxpb2bCfZ0hYwhLAHmdX5cVtfzx74CLyGh5NEZ1iaJe2g5O0pxcRr80J5/sRscVdnBJEhUxuPdr4fyUl8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496826; c=relaxed/simple; bh=v325/R/096chjTXtqgrNRnSwmubhuU0T03Rv9PPtR4g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SukYtRPZ7VOc3usfhYZ66kBlaCfTpGa5FW4DYMeh3RplpnMji6j45Ig6AXhE44FkZgHNams2VDDQUBTSvPkkF4UkPgqunWon2OlAcfpPWSpYKydpwKYHtNAvP+mn9DcznU1QROYrZX/rMdmeXPqdbE6ojZS0WywLBZ2uIiW3mpM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=AXjUgzN2; arc=none smtp.client-ip=209.85.166.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AXjUgzN2" Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85b43b60b6bso41411339f.0 for ; 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=vger.kernel.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=AXjUgzN2VxRVpYChOzZXd8ArikZH5DEthCcXqiUjrTw/fXbcJmZWNb3RJRJBk4bpGY UAdSiDVlVFqvzrPscZUGmjO1kcrBgCGITjl9kU+EWA0s7HPHxlDcd7M21Hyxi7nNXGV/ HzoABVvNLIBMaXr90OJKW7sdBcOFUd/sXVjxnC9OZk0o5pGf269pq6Ixs1fud9/HV1rN HIRtcMR+I13IyriOLKB89zyM2UdUX5CKxLN26S/hE+edJt4gpwZM//2dT1o3ZARPpifN cji3wnBgz5N6sUGsT344KVM9LTGV7r0MM6YlSqRpVfYJMkE3v7Y00d90S6mqy3SG1r+h 0qcw== 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=L5Oa3zyM//kEjDc0kXC0i14c0N46SivgFbnfzFzBZOYCxflPSQpUgZIJZb/qKw7Wib WfipmmuCfNvdQNXprf9C3CTq2ZxOhzipSqZZppDurjl0P8W0GZpngWtS7VfAC2ubXJWM tEHtirAsMvwNgvdLVOsLIekQ/M57kjDJc8/khVBWFxiHT3+YqG6+HQWthZQqWi7K0DRH YF5N2eE99brb5Ciw1ggPM8YNFGAMjQERAqTCekbAdWuzdPckRepz7bePCXz88Jrsf7t3 M8WcsfkD8FYAm16koGG9CxaW6oUlA1EiXe7BZOqb/RnSiUb+Xv4bix108dmlVCMb5U6H 5qKg== X-Gm-Message-State: AOJu0YxbQlxe2hukn5SVEeBOqcoNWq3Xt5kMweFSplO/B+myPCQ5eS22 R7qJ8hriJIDanpEUmXeApVTE52EsbUo7DQVrvNF16bxhBS/hA8IyPYuCskNV X-Gm-Gg: ASbGncus/Wk1qu4/Opva0prfzKt6+HKZ4UXbUcLxKSWwa+xlxK8Ajs/RF5pudYqyYZR ZHBfG9nn0BVWZcwsIrjT8GqgOFaaw0K+08nGSxTtC6KYRiAmbJm7T9uhQMGOiEtG7lASWB4MF/u 2xRZS69yf2tjpbJSRC7J8V9u/+S/rJECG/MfjUIY5phL2qhgJVkqPkD5sEX6ClIMw5kTnsRvQav rM0gqFFkdPFWqQg3TUoyZs89EkZNl08TOWSGC6J5LmbR9UTJomyLVWwNWPvM2W7mIgyKZIWlFuG mZpmuBdBdx+w7Xl7koZLzkgHAcOoW2+Zbb0lwVpdblbywupLboLn5CYtHm74R2uJldfy8mv/ckH xhh9Eql0cpFjY 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Incorrectly spelled CFLAGS- failed to add -DDYNAMIC_DEBUG_MODULE, which disabled dynamic-debug in modules built with: CONFIG_DYNAMIC_DEBUG=3Dn # 1 CONFIG_DYNAMIC_DEBUG_CORE=3Dy # 2 CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy # 3 NB: this adds the flag (when 3) more often than strictly needed; modules built with CONFIG_DYNAMIC_DEBUG=3Dy (!1) don't need the flag. Fixes: 84ec67288c10 ("drm_print: wrap drm_*_dbg in dyndbg descriptor factor= y 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. =20 -CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D -DDYNAMIC_DEBUG_MODULE +ccflags-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D -DDYNAMIC_DEBUG_MODULE +subdir-ccflags-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D -DDYNAMIC_DEBUG_MODULE =20 # Unconditionally enable W=3D1 warnings locally # --- begin copy-paste W=3D1 warnings from scripts/Makefile.extrawarn --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B81D233738 for ; Thu, 20 Mar 2025 18:53:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496827; cv=none; b=Nn1aHbrGSc4YaVtRyOfpJyJ+lru2TVyn7/SzOc+Kp6IISDaFW5lA0TyiHyFX77j5Cel9pUyRQhNVDwAY5TWPghxoHKCAQyat3O2fKTF3QiDiS30DFrSlqSKA89871BaXdnLpW+CXRHi4akiYVRLZe88LSLUP9hGPuT5atKN8Zp4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496827; c=relaxed/simple; bh=PrYndz+ppQ2qI1vGMHYHFpzdORbrir9vhxzAPF5Oh8I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YDpVmR/1CzEiVBxdQUmQDmaoV4C8HUu/q5col28tfhk1oqIrqz4r6hsJCRt2Pk0+fZ5SDm3cR5Q2wSXoJ1M8vv7ZMzbvUTSoIbN1YhdTvcZiR6HHTv6xGcMHQcZPWhPr2UPXNBKk+CCVdqtefGqVc58bzaFnUydBmrmmHZan3tA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BHR/435G; arc=none smtp.client-ip=209.85.166.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BHR/435G" Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85b3f92c8dfso39665839f.2 for ; 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=vger.kernel.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=BHR/435GZMGbpWbG4N44N1tiouQ1hDIvw/fRTQBzzL3gUJzB224TDbN29Yhlln9rkm Xe1cK5T9ZTg/JqAlN9QeK8NniVwm2RGGZRG12dvnpkeesrtQVIo3bEA31Felh4tZpobi doQEcLT7lRFXXe+nHogxZg5a3vqT0+jLbP49Mn+xhODCAf/51XeZ2S+Togyu6fPUZfXU +aaJq9QLR+4tPdZAlQK06Fl/R+bjz8DoUYiGgc31KJYyBnEG48TlrjGHkqGuqz/eafa7 sNIn86zk6YybpGT1bekjkmY9XLSh9AKOmYirwP6rvId6ms1ZhK1F799w87255NmrCMiD LSLg== 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=TDOdIKX+Kbak8cRnOfTxvRuHVG2Wllwq+NRVHLTti1spLRlaBS+6o32tQ4iiU3hpBc dwYQ0wvdGn6RwYhGUnHgZxpSofZKS6I1OE5xSTcggocPJ+mnQe77g7kXVJAvdF+I3SSY +cvYV5j4v14bFdZtCUu1r3tQQosypXphRdFfXEY9u/76xEHAG+yR9gMrNLAO6sy/ZIdc evrTzwaBLdkzQQOqse5saNn0fdL77XcwuORgOE2iHpX1O1pFgRspARltvVddPrZTHE3r IRrg5EkhjT+X9ox7WrJN0PM36t4rZr+TUgmWnylSgE9didm43+ZstIiWqsLWGz8q3LHx iL9A== X-Gm-Message-State: AOJu0YzJsZYwscu8l1FdEXf4D+OgwfiOZh7Z6xgm8L2T9bUbc+JfZDS5 xg/hC9POYOey52RzkW7rf3bMGJKEKTykxKiPQEUjaC0MJY7ojps9zsppX7PC X-Gm-Gg: ASbGncsNTFgV3R/Bv/okizoxSneZHrolaKp5+PLYvB3tuqp8nnt+aBwS67064/NF1Xa wO3FvQOXjUEvSVa02rhgb3UaEKc1AMw5qg+FkJvQUKNiVv9BmGM16EJv6IX/KETNhGCh/AWmBH0 D4oo+EqaqgXoPkIFmL2RqSD/EeMYYN9UXx1eYE3NhorDgtuIgr0XQlD56hvzhPpmscmOLoM97OC tVHFO0qjUJGdlN0yjN8bzLMc/RVFHLD1w1xi7NlqlXPvsVlRB2nksNewVeUlvZk7tIeBgIC77yE fF9IDhfqdajZvOkW9AhkXKtlIg/gwWk73Rz/VCvyYVel/rhO7W5GuxAWi84J04DxjNa0YYgQinJ HRg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 eac= h 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"); =20 static struct ddebug_class_param drm_debug_bitmap =3D { .bits =3D &__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 }; =20 +#ifdef CONFIG_DRM_USE_DYNAMIC_DEBUG +#define DRM_CLASSMAP_DEFINE(...) DYNAMIC_DEBUG_CLASSMAP_DEFINE(__VA_ARG= S__) +#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)); --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 704582343AF for ; Thu, 20 Mar 2025 18:53:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496829; cv=none; b=V+bvt1EofyYRBO4tmViBQpoxyKcXnbKUiIXBhZxf/OgQT9EIzk+T3LvR3E9pHXLz+OgvQTlJEJ7HMr3NDColb8DkGUi5W1Y3z7kzOYhysQT1iesO1MIYz7hZjXpBCJq1p/kgCOG1cTD0/xly/8U2inN8VoRAJwIalExEw1O8krk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496829; c=relaxed/simple; bh=qi16htlIBXLIqgnOua66A4zrZXmKOWHgavbKOveaWuY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J9hVXZy/w4wEt2N2qONwEdvww2+oVH9hKhSaqC8XjGnTkt7/C5z/l3s4hbsRhTk17ZVFooMBZxKqLa1QfnExQTda/RjawEfVGSOw3Yxy9pHsm1SSst6vz5VGsp26ePd8Fw+EbA9QuH+nWCy+uYHm+PlbLtUePrH5bX5Whq32+GQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=X7Jd1s+n; arc=none smtp.client-ip=209.85.166.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="X7Jd1s+n" Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85b58d26336so94041039f.2 for ; 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=vger.kernel.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=X7Jd1s+n1+9mltUuW914pIHa/kt+gkvfHJqpXhAPo+a9A72Ux24pzxRWuNRnkQQgnE OdeJbAAerjzWjJGyg3+osANjZkXHF0hjIi37S3IU6/Qv5zPAW+F28mFN64SciwK+rqR7 CdtNh+MMqF8Bl4biuvArc+2KItOwlatoVN9vyyBj+Q2DcrFA9ul7cSO1RWx6KyjMo+X3 qjmD8AoaCJuN4tr29x+cB8H8iI5L2YjxAxTQ497s7O1jPK3evV4aDzCCVuqlWqxiktxJ hSH9nTQ+ZSr37uiOPGtQfPt0Mfsyz/Zr6N4RC4pswf7IvHclqkeXWYVrlXtmZgKmfX8d 4LXw== 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=XbDr0sbbnzFL4llf+BfgBceR3RNdiNEIZv/0NAN4up0GkNld/OBJCZKhmBiqqC3GSk eHnbB/2gru0fjXKEZfvCLlaoNF3FCMtzXg+HcQpLZdMh5w/xNJdPsxa/rGaFA94Kcs3m etHHpVXsLKqrBzKZtMYnE//tRYy+hLRta3tykjtbPoaRA1JPiWSTQSuZeafgUT9FnwE4 Ii8bjgdeRwgiY5LaZFsiRo3ejJIFjrILfNPXNhZG49/Ff9ktVrpasY7VaqXmlC1M3lgO OP+HeIPoOxE/R6sj0uk3OFryR3jJSWbj6z3TIrCQjeBuRRsTQ5aRL2dPNO1wDmPfPhYD 3tTQ== X-Gm-Message-State: AOJu0Yz9RZ9ynjsG/7QBxMlQx2OTpcBTy3H4t9l3KSVhiRWEj5+BY8bk lTuQTt1jGauDn/GP8ILV+PBHFfwli7wxOjlGe9Rx8uYeSEUE0RU5pCsWgAWg X-Gm-Gg: ASbGncv/wvZeq83+thvf5SmnX+sfUzEEZfKSxFiWVu/Z/dU5+Jx7x3RdNn5aDpQkCNw HRlVp5cgTK2tzJeUvxSrp/k0PpthlSu3GMs5mBnmq275jQKQwRaCXnwukKuyTWZ2/UOOJO53HCb c5R5GcYb4wbsKarUL0H42MgoQTWXy86bUYNAI6kcKTVtudkjeJq1z9cM15Q2lP87lxcSAE+q05W TqXbq6Uf8anla4m+yUnnIUNHgrWpbya00sDzN8PzVGXayjL4zz0mG2KFyxy9VIzuQeqWPluoRQ0 Efu6M/pesE0cc0tnvfxLvAu/nOW310qm4OIwHby3+0LPEL8cNfoC7GvrwT2lY87eMJIh8utKPMN mzw== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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=3Dy 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_DIS= JOINT_BITS, "DRM_UT_DP", "DRM_UT_DRMRES"); =20 -static struct ddebug_class_param drm_debug_bitmap =3D { - .bits =3D &__drm_debug, - .flags =3D "p", - .map =3D &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 =20 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_ARG= S__) #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 =20 static inline bool drm_debug_enabled_raw(enum drm_debug_category category) --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79E6B23535F for ; Thu, 20 Mar 2025 18:53:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496829; cv=none; b=otwT3tTfXMAQ9Wr/9d/wjYeJDEhE4Iv7ujC9ilGKVpaCRX2iinCX92/PYHnmfTAAar5bpe2aUD91Edg/UbMIuhhXh9apYbuTa8Ty8WK2aLm9zuDHPdOeHPp69lmrMNmLpJ3cp5HaZKyfJgZN8wP3rbtV7UgqqUmbauOJynzltDs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496829; c=relaxed/simple; bh=QEhdcFjGUYEhRV5gc4j8gtE71RP/PmsIn2XZMXhHOvs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DIgG/HbbvIw+BvwpW9XG40qfArvwbRa6DSj4QoaRSSesoutwxWQ77f5B1HgTprahR2W8jD4+GqAVKbUesXnw2WDSDw5cElzaebuyutOPSFowd5LuJUhYrE3S4WEZoSf/W/iQ6ZJgtMTAz1owClmcPLi4LGN+wjEbdAlufgb5EIA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BZYeE/Q4; arc=none smtp.client-ip=209.85.166.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BZYeE/Q4" Received: by mail-io1-f49.google.com with SMTP id ca18e2360f4ac-85ae131983eso125356139f.0 for ; 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=vger.kernel.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=BZYeE/Q4vy0DfE5XtIbzIbXCMF25Ray0kW6Ix8qGhXn9MTCGIFkSH94/t5v4jUp42P dQEQYIbCQVjPGhNTA3IK/PkJdMrehlr49Jw9bkDGExiQS6wzqrliAjC7L9NTg/29D8sZ mtqwSkvWWWlb7q650aFWbUTMXoeRnu/lZkx23RyuS30vGvU1HDSRdMv79eMFUcy3tD6L BOPSVwWy0hOy5nvH6ufjLySIuTRT5SgD2ePMg3f5E/Fu1c2gKCF803ThDUBM+DcWU0cm rCw8DS4A3xa4IwGKT4mb/9ZzjFDyK/Cy9BW2zMBXD4KWRzLP72+zlqHHQePB+hoUuPGn 8SFw== 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=gXIBoIOPp5oaogdIUgQSLSnT9kZEgP+NTrj5KXDIJ46/zR7M5v84WcXIVvJDcR2GNO l/huOtqfQhqsYKERzdwCA8HkAtK2bAV9Ut+lt80hm+OG4XB6gX/HSzjaPxn0Tom2AOyh LllAwj3yg12IVvwIOoWx/wJ+Pfuea1sRNsofjZiUDcN9vAiiJUooNExgOnrky/29PnsN gqjwwXE6gpD/jBaffuEg+Ixp2n/aZHTBZ4V8tNK8VDVR2HcKJCKAqNzUGcX262HhSfpe WwUumu4H/DT0K7vVcJF2PbDCc5fwR/RS9f81X7Z/iavyMCSy6G3i3fdr987eZrzTTVsx wlSQ== X-Gm-Message-State: AOJu0YxceSfhLbTS1SzDNQfz08P61RC12IEPQqmb3Q04u7KxAlAPYKKl 3QBdnss/B+8WxnuFiRKAXbTWBTwNZz7WD1pDpOPJnV14POpQnuljEWMt7wGb X-Gm-Gg: ASbGncsg4f7iT2JL7cjmckUbNW7A5Qe+yWbc7wUAZLlJrn4zEYFLGCLMSSvMAIWFRJ/ EKT/WHFwFBCHfbH/4WAFoJBNWL4aa+qLbDeSumoSvHng9LjfpKmFRRYnuJiD0V06m/9j2FITUDt I4y8X5d25BQztJodNtt5tvpOJrFh9t1nZFDnzIsyLqKANE15n97PPxzgKbeASXYgLy6aKjaFJas 9Y5JN9w0b21oQuo+di9SlmjaCDI/99dBIcxhKcjgc6EdOIFeafXVis0avBUCLbXiRoR3fi36y/4 GJzTuKCJ0rWlOgypX+raIQSBLhodiXFPrn5GSmhGIxIyVPeUCare+k3gMyQCxhiWFn50e3/CJAo ZyLa8kWzPnjfp 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" With CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy, __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 =3D p->arg; const struct device *dev =3D drm ? drm->dev : NULL; - enum drm_debug_category category =3D p->category; =20 - if (!__drm_debug_enabled(category)) + if (!__drm_debug_enabled(p->category)) return; =20 __drm_dev_vprintk(dev, KERN_DEBUG, p->origin, p->prefix, vaf); --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 98BAB2356C0 for ; Thu, 20 Mar 2025 18:53:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496831; cv=none; b=mNd6BtDDcvNYk24l8DEYHT1mUk9GJLw2ByvE/U+iPCMtp2tNnfALauYAOcCd6zElBrtWVeZdG+QhuTIfYfshXXs/VKTTXLQ1yepiOpAt3jj0JViGonTXm7xHnuCDCAMWQq9Y1+bH4TDpjZOHs9aAy8LxjdEn15gZLKIpIr9LbQU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496831; c=relaxed/simple; bh=Iw6X7X1o8Q4OWKo6KS8Z9OyO79bsg4GTyZnnR/3pYmw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ubXD6tq/cWkGxpcx+xmAEPvjwj2vumRcLBVmJn6Q9JA7OJAD+UTfUlo6C6Aq9oJpHgVcXKbc/lSy6HDuyo48aJoXFllyR7gqNoYHDsla+JjTBKP7rXck3Q2Qw8wnnDEHeCoxtQIne/XsWS1SiG6qvvU2oJ2yN6KRiJQAS8URLJI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Bj/VfH+9; arc=none smtp.client-ip=209.85.166.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Bj/VfH+9" Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-855bd88ee2cso31257639f.0 for ; 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=vger.kernel.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=Bj/VfH+9bH/BJKXL16jb+FXohPw5wPxaZTzLEooCHxDPxqLUAhMGDLviAbFMfmWUkF NwYONLQWj3ZGrNd2Kp7xeX/Q9fD0fNEckstH4Zfj6eAkZfKvOtzktAxjF8h5D0w7XbNl 9VcBjzuelZrhoFBGZbqcoeX4/hg9LvqWy4mAQLW9/SmykOXGGAWH8HDDHtp8Np6FXLex HWAv87MxN2GHciEeluby5hzRM5uzDM2KQ3/jz6YIc+BrBYIHNXSQhmvH6Y6PLeZlX3uY y8olYeyWIp0KMYJlzXWVqXKhJlV9W/O8IAJil+TY3uoWnDNbJileT2S4bvZ0Q477sfqC qZNA== 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=HfCSrGXcDjh+sEoA3eF1YoKRco9e7TmViJwoHMean7iTyk2JofYJUvWhrwD7OPjATV pdrsTg8maHq42TkXaRivPZki2clVOQS7iOXvONkvIlaR4b7adSELzxzc0EaJhr68cPcC gxuCDqYjlU0lD8eBRfohDKt4enWZNErubbeDFPagj3WJK45eH23cX941ujmkzc9+Z2iI c7RGUkLMTkU/Fwud4kVVcntFVjKOHXXmPuElldsNWMnaDnUEpoES6+z/RixpnyiVl8aH hVrsNfREmWln6NS0ocixZRIPhNJycfu3BEkmQ7gTfcht+b+Aeege87y9yWkAX+v0dHG4 gIVw== X-Gm-Message-State: AOJu0Yw9MPwMrnk12nYObb6LlNF3sFrN5GJUwH/Q+RKm7oz3eKCPfspn 1bw0r6q2iovEgHuRfxVV8xl7NMk3pA8DmmlmKwyFTeAYYR+HJXSvOUidBVzJ X-Gm-Gg: ASbGncurtva8hf3s9afqQTNjQ7yxYoxhRxmwIe2wygWhpdphd9xLFJY8lBMNjG3UayN lPGWeE7TKpuguOBUCB2v0HBcxBQxrM0A02YPNWSBlDnT4gnq1/0QDfwnDYzYmMGPE6RDkUVHMAW +FTvl5LnilQinLp1JJOLC9a78zUSUbGlRn0tJeJzwhzrFm+AvaB1lZ2RchzUPiGGG6Eb041MQ6t UqFillh+qFnAOKTtagOl6UwzBte/KEIQ5a3pgDVlLh7cuhjCGaCFFyPgrdzkZxrL1sTBwPBMC6w uSOvmRTT4cTxr5m9vkqWDpMGepv/7r8okh7d1psLsymYN8KH+D5WV+umvn4LVIuv/6Ac6mmoaXe RPQ== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 dr= ivers.") 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 =3D -1; int amdgpu_damage_clips =3D -1; /* auto */ int amdgpu_umsch_mm_fwlog; =20 -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); =20 struct amdgpu_mgpu_info mgpu_info =3D { .mutex =3D __MUTEX_INITIALIZER(mgpu_info.mutex), --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C968C235BF9 for ; Thu, 20 Mar 2025 18:53:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496832; cv=none; b=Kr3uncDLWMA0qBAUg4w/XIJAI/GCfPOwHKR+ZnLoCTTvtEPnMx7pdD62wwQ4K4Nd1H0opENoviKXXlixRV7AEZyZHYeHsRQ45o8MWTXjk+i72dLLGqQjsUGEbszpcCPbgppRw2LG2DV68RGdnU47m4OTLW2uwf21Sn67oAsKKkI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496832; c=relaxed/simple; bh=f6e5pgnhcCDXnL0kFMpoyoVtZuv6mQ9PZJZDclqFcKg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=P8oVpUCMGkbguaxyl2Yxg0Zxh0pQTqLNqCTEloq31Suitw9iEnd4H7ucOpZTcNLgbISuEWUAoQ5hNwL7n5HnLrG08/C0f8El2VkJfNayu78hhPQmrc+JZLslBSRAdrcGVDQ++9/UhMC2EpUazyG3D4TdGL28oG7anyCvklnwtdc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mljS7HPb; arc=none smtp.client-ip=209.85.166.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mljS7HPb" Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-85db3475637so76883639f.1 for ; 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=vger.kernel.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=mljS7HPb27NPOvV9aR1dO3rKPK8eXFcoP2STV2VLUfdt8PY7pcSKn2+s7fhiRtksyJ /Msuj5im7SVGULdHU2BP4v2KeXMDPHKzvKk9zWHXzF+bSIegYurgPjemH4+QG2rVP5vq nfSzXc0DRSe+IakHHg0TOykkor/snvlqIlofyS5JFhvZKotDglrY7a3FrjNvlS7igFOb hVXPtt4NtvPHBnHSrSB+hm0eD7uUYYAwHDGnRBJDPvfD2P6bXhTfwbQRXe+PdTgABptI jzPxKYATuv/X6RAEPGMqZzWqkfd+YZvmlbwv2r6GaqmAB7/IA1LhvxC6ElM3C+CZYhbs ieJg== 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=Rhpm7A7XpO5Nsm4W8jrH3taVwAmL3saEPe3NzP9pueWGqSTpJ2is4HZ9n6ALV3Ynwi QmyT2vdABFnqcBx9/+8rf0a5TNSNPil6pWNwrKS+wjmfL7SHEN86X3CkpOKVndDTFCcx BYQRta4vR4jaXx+XWmqSa2Lb+qfsarRvgxyMoV7m9AY59GFjWG20Z7Y4jJB5r1aON2wq 7l5u03gDayaSBBMCf2mnGlr05L9XWGQb6Rf1N9K4Ry9pLDLkJxzIS6Qh/oxu05FzGldz MJRjvDgG/2wIDc80WlMsUXlF9Lq0ac6JFOSzimJmSTZ1Qac8lT8DbZeFlRPAjqCspq4d hsLA== X-Gm-Message-State: AOJu0YxFQH1QXeASDh19fGRzI9psjGRPRH7q4r51bp5Xyn1b57lX004G WsppGcpVeOi+/oMQJCs3LucQMr/xY1zj//tRIqqSCGdivSwYzD87rgJ6IljD X-Gm-Gg: ASbGnctIpjhxy93Iyg2xTiGljgWZZaXqp25Aar6XVipg5+1U4EIaKaaE89VBIVguE2L yyN3KgyGVtFQ0TnQeeanZHU8JsoCD/kEY0fTvmvDq69dxo24lUPowQrZbt6OTNLVlZ+ZVj5E9/n gl7H/d6OsFXb4oIE8heRGuSojPp2IDI6RZIZwoqW4hAcyhDKqURhs6M+TGynXY8GrcYy8MGqIuB gRYP18elI2l6ppJ8xtOvS6oQiw1/B3By+Ys3G0gQ2vuJp2+nHu7PpcsN5UtuxA/pIm0wDGM5qVO 4Wum6MeY1GRdQu70vfjrQ6R2O3vYYidFmV7Tbi1GRKWejJubPFna+IN27U65JGoGJv2wh+red0t PiQ== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 dr= ivers.") 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" =20 -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); =20 #define i915_param_named(name, T, perm, desc) \ module_param_named(name, i915_modparams.name, T, perm); \ --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB479236457 for ; Thu, 20 Mar 2025 18:53:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496833; cv=none; b=tSfROUcYjlhV+JunFxFnybVNSuYFwu3SZqaMIcRq9+VlUnqesO9l6F0ES6QQQsc3tABoNo5l9etODfzz2uI0dLNOXgbk7oWhAtdY3G02qaZX27rrha4QFf82B0vW4hvJADvBb83UFGQSRtbStcBOsDP4RK8FZua8JWasDlrG+gM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496833; c=relaxed/simple; bh=WO84BC81aPkf8NiCFVzSg6a+pS1rTrwLykHCk+BIFVo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OkZCCXLonbdmdQ/NDY+nF+OI6FgcCdP/goEc5NZ6t1qbGbJRqcNgKqdvx6ImuzPnvlPCZvYyTZIriHOBCPP/hUamDi4/k61f0SUHxK9L4JCTYoNKjlmqiojuyMVwo1Y5P4I5vk/pVypVRrp8zZqA61PAInO+xlaEWuMDVZjAdHQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FXpCrZsL; arc=none smtp.client-ip=209.85.166.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FXpCrZsL" Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-85b5e49615aso98856639f.1 for ; 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=vger.kernel.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=FXpCrZsLgj2OHFzTJ0uBzAWUHScmnryaZomR+m6c4gpfWdJW4hnK4/9Q7/ps5iFCGA miFoaHnopPBil6fmQCKHuEMZhTpYZGXdTGHo1KsED6o3WTRng0duXlhVi1LMOF68oCRm YfCgne1rfaQA+4ifOqj+SsCN3zyvV1Ob1c6uhXbnKk75goc4ErRS8JT82nwPux5p/Cjq 7X9fiJ2duS89hnY1s0txDkm9h3zlbmCo6nX7HUSetIL6SK/AkWqCQZzfA43KyF0QVW4C eD/MDFikjG5k1XlL+zGi/VAxrfjXbIE8FfhaMvtRIc/WyM4gxTYFBtmL+Zm0UhLBaS0R SuRg== 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=pzdu31C6DSmD5bNJpov869NgVnSUH9W3u47av86rk9I+XI0wyAaOuk4hkCXZgAU7P8 VxRH9D3BGsL/epf4JyCX2RjPFiMDODnBUl/Tg07i1U5MogU3Me4T65iyQRDGP1pogTYm Y79t9++rUhXrNhPrRrUzhz29q3UfPGUpRefvKHwPnEe+KUpUmF5CZOu4m3VZm3vMGntU /snMx/s3cHDDT4UeghiQQx2AdrkrBBPSS22Mx0kGIroJb7xf0ptCyVGZXdJ9X0A5orT2 2MV7SsNNmF3M/5ac/uYKDe+bIrO7UbhOvG0uPqB0E0BtRZ/h1sbdFB3XobMatrXDflwd 3mOg== X-Gm-Message-State: AOJu0Yy/BjyqwiWR66m40jjh2ZJ3swkYSMfBEvVtZJiiZFdZyk9xlggD o7TFKPMKSYAdwulijFo0FgbEXRY2w2TpscchEVxfkDpRG4t4x0j5T0oM/RKC X-Gm-Gg: ASbGncu3QFcQsn8XdEbGop1HXXzoIA+alGId///iuH1geAYNoz77IidcfyX/HlJGVg1 WLxg9hWFKfi9ebjJ0hY4mNmOB2TdpuRPcRn58WHJ88MmfxYZDdXIQgks31yBfbI+ypygRJRuO91 mDrWchpko+hUjSHp1IcIlcFC9nU2XHY+z+9097ZshrnClPn6Aj56LlOL2+gQZigTFYSEop/xd+/ tKasq2M8ad63h7KBasB5uG14HJDA32f7fZ5fvKBtqPproXrCA5GRll1E3I2TK4agKFN3TS9Znce 9j32yTw7m3dGSZGliyKOx0e0fQYV3nG3R6KNIOIkZULtHcXX56L6zsrTzP5Zw9SEanQDn+SYZaG X8Q== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 dr= ivers.") 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_h= elper.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 @@ =20 #include "drm_crtc_helper_internal.h" =20 -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); =20 /** * DOC: overview --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD9DC237193 for ; Thu, 20 Mar 2025 18:53:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496834; cv=none; b=c2ZMd8M7RCUZ+wssYkpnKzkjCGG4imVB+Ve7kn00irgoF53RDVfo9f24NGgRKe69WX6jgit2GjndyFivnVLdox4iXMZ9/wwmgLYiSGcuwlGLUJxthxbiYr1AirFRwrwg0zJVXu3lDAXpUMU+yc1UEAc+mofcgVg8V/Y3QAdp0Is= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496834; c=relaxed/simple; bh=g3lVXLb67RaSnFsR5clPnGA5HZIP+XFeHTcH+wOXkV0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nXUpSoKCxagIvG+XTIK2TZ+4MOvsym5qjqAL862VinrC88d5L8Dwv/Ps7ZJqDC+//rID0GW9mq8qCxX2HNlO/Tx2f5O1AmLvj2r/BDRn8LZwZuWQzDIt8fJxMGur2zM0G950iJ0f6PWY4+1HVV88IO7xYwACAP5NXGLS7GHW+Xw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=VjS388p3; arc=none smtp.client-ip=209.85.166.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VjS388p3" Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85b43b60b6bso41415939f.0 for ; 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=vger.kernel.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=VjS388p3BwcSSIM3egR0T9l1QxYvesA9Q5q9HaD1zNtzZa5dQlVeBCcYhFcu/5bRLj RFwJ84F8RWXnZInpPGWbaRWIEo/5gUhvcvCZgfPaTs4gKlN6f0XCgnHMxg54z1x0MW4L oNyf0foPfQF1bSE0g/zOZ7KGi5+7BnCo0bUE1nRMyDmpVieGBTLGCghJASTw0e+Sq3az x9B2P1t7sjLGwU2y5D816yUGBi0hAlv3kutPMTjcwhNBVhu3T7/vVesH3eJZOlqSNA7/ rYfQEknTa7eFoChYDU8Q0Dv7+el7mjt5Pvo2SGCaf9TJsj9nVVU5z2IoSyMuON6XreOX 1ytg== 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=oI1X+zFDE40v057u3plcctYtWlLsswggw5ynmI69SbxXIHKcffPoDGQl5XXtwfb2cL BK5awNUpx4yJDK9AQ49o7gpLMxRkRfFogP0l9S7BhhyrnZgOFJg+yFhXziDMMDMdLQoi OTeKIgwfxe9itqt5zwlAOJfqFLoQaIbLe2jY6v77Z3uwwJzCn0YcKoh/DzaLx0VFnunB +o6N0isVvzPkBTioDvzVV2V2633/1XDk/ROm1XAWnSYN2/ag033x34CP2xrZPqNJriO+ 7xX7vP3LU+WIHi3/u1JoB7GNceA6r9Fv1Yd7h/JStk2veDpqciItPiZfUEylIPgFimAq JhVQ== X-Gm-Message-State: AOJu0YwlYOHciPw6qxpvCydfwSqjp91hAqiLOqoHxHhO646rXehwU7Az KM5ouXUMwKa1wczXMl9HJUq17uhr2mxVfXrDD/gCd/9EzsV6SJam4RubX4SE X-Gm-Gg: ASbGncv1EtKzVMtKAfARzftggyx3rCalha/nTCiSnIopPJL9PtFzjIHHwuhxC+YQGQZ rAZ5ZQ5I5SPzIPEE7GlhEOduUJ5eMk5e9HCX9iPnfsBIGQ3RwTAQN4Wh1cJ5SmL/5XyZXopH5ED 2/3Hsre4p5mBD+V9zC7wQg6MxH/PwZlks6KM6a0QTLCE6TaXlbRPLHF4x6i/nUM665a4W2iWPdE SeqJGTXLgLEav25qJ7bZFkESm8yhr95ZNWVr5acRkqWQ5pvTCzT0Jb7jePiMshJXwr+JisKfu1D UepCf97wnOeg/2gwGYlUrQBc6lIZnKJLnLwoXOpreVew/o517C48WhgC84t4vPeHYIcl2Ydfhbp xJg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 dr= ivers.") 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/disp= lay/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 @@ =20 #include "drm_dp_helper_internal.h" =20 -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); =20 struct dp_aux_backlight { struct backlight_device *base; --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E28BB22A4ED for ; Thu, 20 Mar 2025 18:53:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496835; cv=none; b=BUA55RGg1+kYL6vQFRoVJ31JZeeqNZ67M0N7vElF1SC9piuITOo6gOmH+55mgP4+NUZysXPx/dNcIL5iuSV+XFkOKE5CnfQIIN6JI7nrayRsheJ/0gGQBFP9oRnKovN5VDFu3CwLuijFSr+RY+EkodG2tI6/d0xdW8X9STE5+iY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496835; c=relaxed/simple; bh=Sjq+8vveQ+GMspa86ZhuQnE/poHCKuBjtOobvctgQIg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J3H1V+Hj5+liDd1ivasrENGD7HyhLtutb6aRIUxCctl61o9Astxtf4AkGXQwr1TCpFwFFAG3pfKOdaXVvlsDUO7dITY5Ju036r7sC2eaGmRfjmXN20JcIPhg94JwysdVL8z/EjRa9yz3MdEMt1WlGha9oAL1nw68vxbhZiT6cnQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QMmvUFzn; arc=none smtp.client-ip=209.85.166.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QMmvUFzn" Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-85de3e8d0adso13782739f.1 for ; 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=vger.kernel.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=QMmvUFznZuRr+34DKOOjxR9xUQQMZqRA+mY64Rzv1wJNCZ9hFMpvC4K+yWBmf4q5xb 1HTccyxDfBOGMiuvx6R75dO+rWme8h6tQnInaXKeIN6XciSvXwf20dFHRQfI5kHMM2aI 6fgu8VYr/qrCCzgVslLGyhsTCMYLib/m6Ahy0gejMMO/dVI238nKcnfOWevdsUV6ikX0 RD88dZfNs7BcFD5ikEf0gvHIyC9g0H+WD/vXOwn2dVnXFA900Y7CdDWZ0uZ/syJukLNI 0oAazv1j3swnUhOfJFy/bha3xvHNIht5GIFCtUr7nH0BXMb9Sj+6UN2rpWjgffKx5VJk yvMw== 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=nu6a/uiwnL6yhdE2kRm39QMYliRnETfpVAzxbhKk9W3djAoQ8HkGHKMAclStmBEooO g8wXlxk1uAMM96VwPEfcQfyL+HLA9wU1Y/sti0MQCkStUHqERI5Hu3/maVPlnCo3fXwS RNjvh26QhywSryfuHOtZlXyY8uhtzXQZ4ofJGoQWfI3/xeAmiuuDs/oCf9uHwDoBz0Oh e+HhzbDfdRorHd+YRe9Az/oYYm/F5NUB1+TZhdvp8btrIWo7lSOYRlSyzwq14h/CPNwJ GgDgsWPLP4SrEohRZsy/dnB8BXx0y2WYSQ7ai4oXDK2o6gWLdaPbmn2hJua4Lk/QmVAm ft0g== X-Gm-Message-State: AOJu0YyIA3c9z9K7dfCtOO1yehvkjNO3pywQddusoZCbbkR+DnwHeij7 JqrgoKMQwd+cyElQ63Jbd9ZTawASkrlkB4Hx3/omRXN5JJ6vwX4gTUZ/UZq9 X-Gm-Gg: ASbGncsx15tm+qNxyDUm/k7BFe92k2gLqvogMZmFauHyDV7OQRn0V1M0BnHO9H8NeTX HykLsq7Trru57SG8utCX2aqQJwR+z5cE2f7dx4uZoRs6pVMFjARBonoN+eHq3pyZwmP6Bbn4BLm +uBKTjT6fXhYvFzqHP25j1nNiGN53xarF62/EMGShXlXM/KQJXNO986zOet77oJVQOzadS/eG0E 6Bx7TgwtgZ6StsAXPSOKzVZv7pS+//t6BxKIFGZHuRQp8vz/0CoPciQTubwEDOTip13w0AREQI+ oFUNgt7SZdXPx5qeQCBeVGimIB7W5PTweNvQB1UV8SLYZJn1PUfsp2AdCLiuBoJY9XFhWo1R6Uq ydQ== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 dr= ivers.") 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/nouvea= u/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" =20 -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); =20 MODULE_PARM_DESC(config, "option string to pass to driver core"); static char *nouveau_config; --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4EB45239584 for ; Thu, 20 Mar 2025 18:53:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496836; cv=none; b=TZnhRubiNlX6z2IHYRPvfSSnFzApuDNBDJtZWb1NzNcPB+1HI2djutYJ0gUrsmJKz19/gUZsLBg0rzHx0+Qa6AKuYNEmhPcNd4ZHZgxQp5hpXnibbtGqW4KLUPYGsyMrYEQyOVnytOafWinGsTPXGWTBZeEm2RFCNu9IE+sTbB8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496836; c=relaxed/simple; bh=nXayAqcdlEcp/73PzyITDbRkBO/uOMYZRgU9kmwREN8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bYJ2IlfrjKWWvF2vuHoVDcK8jMt2pwhmEbOxosyXriXUEER/IHG0yq2sETmFSmZAJa9sgu/VCD8mwRLfQC6Be4rnXrHOKgI7aylRdmBSvUnXhusOxgO7o7Cxk00YKEsp5y69MWLsK091znZCSx/rnMhM8IdWMnpdchj1Wl24Kj0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XPosjr6l; arc=none smtp.client-ip=209.85.166.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XPosjr6l" Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85afd2b9106so111078139f.0 for ; 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=vger.kernel.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=XPosjr6lJp2YZFu+fK6JPVrzOh8yrOmZNRMBYHfiUepSyx3W1M7fsyjlPBPkmObA/x nfwUD04XBJfIfztkhgvgoLSaPZ9Bnc1D1QnIh18AUZJkbt5HQQWjiV1yQV0XSFlWE6xi UgWWBNhgT4khDgef4sJiv+n+y0b0b3R8HZ73anzBipFa2wN7t1ysoKoIi7sZvVUGgQfW XUva2QZT42VwsBKNw/Nk4gXi/Dh/nSGs+48PX44opdU2+rbcn1D6DRJgpuityosqzP/Q m6bk/6BxIf5CidnaklxkceNRQBXWPN+txHXK0dFp1Ku/DU1zkfXB8Sa2zSyybq+m3IlY 3NFQ== 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=cNHvtx1PSXNo/9D2RL6Dbxyih+JecYIH/q6aDqxrp8q1hGWO627FgLlpb76kb6ctbo OLYHag8qeaZK1BZRQM4muQhfgyMp72jXdO1fWFlt+Lf/Gy6DQFtLPt0yltmYaWsI+3sk Lbty+vQhkgqD9ox7jawfExKqaOQeVRktrVquW576WHWP1GRuj7IZYZOgmhZiib/gFW33 0WjGSxIrTHX1N9cU5YP0YSbITtBWT8ZVc3LiRV3xQt17Yz6FcGmCDvuQarCim28p+40h Hm9EdZGVGrhGJbu/SQYVeO82aQ8cBabLOaleKvywDH9u3YQLZNR6BMuD3ypbwu+qSQ9w 7n9w== X-Gm-Message-State: AOJu0Yxl3QhIVMrBzpbzy3hnU5qKZYCm5NXcIketpX2GWh8J49uzRV2S OIo+BSKe1qTtVabb6JJ/J4US88M9GCanwC5HVFWz+iYhl+c+4he6QUmpGchI X-Gm-Gg: ASbGncu8c0ltNxhHl7/Y55lWH3FRoExxfS1Yl/BT6JJbDCIcovUUMWAHY86H/jf5ewT ltxr+mS7TykFUBDdgJdj73Aenc8cQLEe3n2d9aZ8ryYhTPL1iTFP6nDA4Xu1cQijHLdZm/Krsgm wuxoBSGDs2nDGmcxyxXRg+t7zDO7aTdEqkkDByZSVuen0dnHE5lkAmbET3EDBDinIMrLlE1K87M gzvbuIjxJEiYBFAaD/BXSWMY33C9BnCATSFRt0o38+lE/0/42BR7pqIPlYzwem7GbqTgM1Ah7FV vnDxZ+d5SmvOH6Aq+0sDnFPSQQPbXMJndJULFMksRGacyVeAypb5Seo5zRoKlVtbkt+48m21NxJ Thg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Invoke DRM_CLASSMAP_USE from xe_drm_client.c. When built with CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy, 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" =20 +DRM_CLASSMAP_USE(drm_debug_classes); + /** * DOC: DRM Client usage stats * --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9CFBB22A4F8 for ; Thu, 20 Mar 2025 18:53:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496838; cv=none; b=fb/EknXV+2n3p9CHkpG/tjBmddFh3X3Dl43yRgYgNdXaSTZC/293CFQ+MiLv+fz2mrZI2OHZ440CEsGYlhcvxvUhRXfAgGIgtETC+4swmyDPeyNOut/BOs+0r0amqf4PIiVPBtLNjpNYLERSJhLoIwROSXMw/gPY4G66WXdZV7g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496838; c=relaxed/simple; bh=rcrUkUCjB1xs0RhGIZDJqSoks92bVgXttXWRlrICL7w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=A4/hMYtFVLP0QeEcf20+jLNk03z/6BH0I6tm2JGvYqrEdCdEuNnYXm0XcNjG7iYZ6h38x6BX9D+/MX5bPacPIiSgZrM1DMKLXmix7AXqkFv+p+am77kFyzjz86gg+UglGlTny+Ciuf7Q3/5VAzL7ZC/MAVtnxSPH02p6nq4ywoo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FfiMOt5q; arc=none smtp.client-ip=209.85.166.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FfiMOt5q" Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-85b5e49615aso98867039f.1 for ; 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=vger.kernel.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=FfiMOt5qZ1kFcTAmLYiWwQMcxQ2FP4d2fXqb2/6WRmcvyr3cBJknUOlSSvBt5Is9VS AXDbuX0nK/06puJbxthXOHs35svDjzZuxDSddTGQz1pHMJWh8Ja6uQmyeyEJypa0aXx9 pDWz1NVRwCnAyNkBZs8VDI4L2fKcpLjDmw6dYSbwL6BaIrSGjKCvDyxSnCzHxD6S4/NH dYtS1tZPCHTFnorxDkQENiSLqSIC421ZSiW1Uhb2YHxK/UN3ZEbUuTmH4U2ny9u4P0Fv 1bmdnllnlJBildRsbWdqWSImtX/AFfzK7fmGvZ2YpbRMP1+5Ra3QOlbD1w+CIEtRAZZA zH6A== 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=oPNbFjSnwXzpYt6Qmn5LAsjsVB/Aysms8ldYFRONcqQLLmwZWQrRnkDul402i8+jSi DHjeEG//MLKr4cciXOCuL1SpaNOH1JkatsPJgR2PQWCwrSO92GwW+/PTKuJgyeKYJhtd 5KD5JwDuQ1yQqBTKuGAjCTYGHLIBuR3R6zQ8cLrfuaST6v62s7U7gelADLlMWylY+lHY o13Bc6ALIsAelghx2w7qLzRS13fHblEJWBArxgWohbl/+mujjpWFYI1Jd0juu37efw1s IKkPNs3Fs6hwjuWkKagnUm/YLsqGtJEdfxjEQXFDLNoti9+bXqqK3q+Y/Y4PA6peR2PU lg4g== X-Gm-Message-State: AOJu0YzWbC1iEm97TCGaBkuH80HBZ/DasDdWQmA6L+FxO3muY1tLw894 Hnm/4ZfoHWlEbRtoX119Wx4a61T682rHq0twItqc0KQ0Zl+7yzjXdC9L92Ac X-Gm-Gg: ASbGncsBDWsrzfAoHaG8EaTLEcJPDxo/IM873BMtll8/Kzw4oLqyehAGSj6fCLtk+MV w9fG7CpwZkdexzm3Gp0DP/m+STc4mQQ4FDIZ3vPV08hIbjG8HkcTm7+ZZa0eF5GvDRftefewGll F9mGX/KVN+xNniBa7QHhJZS0cxku/jW98tIMKu/Fp5N8iFHzUkkr8CzkDuoc3UP+UGfhMt8LheA jZIVNs5GAqQtfFaeVFYP0CFJBLLjc5zE8A4ypgIfvGTUDcvCA4cB0N+9t/JKqMnDXes0V1IAZVb 9HUzT50qMrwfTWHIYCbzFK3Fge3c1y+s6Fus1jQ0t7/yM9fWYQ7TDoX/Qn3c8iJaAc3Q2qLNHRZ mQg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" virtio_gpu has 10 DRM_UT_CORE debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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; =20 static int virtio_gpu_modeset =3D -1; =20 +DRM_CLASSMAP_USE(drm_debug_classes); + MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); module_param_named(modeset, virtio_gpu_modeset, int, 0400); =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C621C23E242 for ; Thu, 20 Mar 2025 18:53:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496839; cv=none; b=Z9QD0LwTSIa5f4PAGwPC4H/JXu6LdnN55yuCYl0Co6RHrBVFhfQXB6KxSU1RfjX3wqUa9fUoOj+YaMteq4j+JRofnx+yUd3KtOc7h99WdXXeAISmOfMBxfH8s5ev3bwWpXs/cRUGDKNlCKENjqk+6tkBvZRQmgTuhrUdElBl9ZU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496839; c=relaxed/simple; bh=9NtscGLERKvma6MVRefJ14MqvdE12lJjU+jsKPBV/DE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fnQ+VVSSPvi2BaeUFIDbZP2rf5qLyL6p1vzgFDGB0FAG2leJ2FPY/0TSMSSMdCaJC3bSTGf8KO20B4agMUW3nSMCR4rcRyD2WSKmTKWNfI/zyfTaLpqZLGhjNYu3p/OG7SYya08vHi6dIgbCvm0OkN7bXBTpX0EE3FjZmEb0Spk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MgM4uSmO; arc=none smtp.client-ip=209.85.166.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MgM4uSmO" Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85b41281b50so31037339f.3 for ; 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=vger.kernel.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=MgM4uSmO1bBvAshBR/qu2ZNIsxEbgPbqrK2hz/PoZ/7repDMXsglxUle+Mc1dcO4yU 7WJ6afNfs5ZsAgL+lvTVO0pLXupAMAsuno2XyQRm2K2ycnYpx13RR0J8F5eTv4BqHtiK jjtrzeyOH7RcJrGA3ovkJUQ1ccK9+xO6FSl7QoTCaOMEFx/noekw9gF9cQtH5m5gYodv Kc3ZgxLN/6EtCyjy1b5rw2Qo7deDRpZYcGkRM2fval5S7TEBNnz4sH2yv7OfGzkJ6ndF OC9BuHrzBBKPopx0MvuG8sO6Fz1AB2MPd8fLN9K7xTjFE2w0d0qQabfr7fKNS2gL+BXd Hx1g== 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=VU96ZnYeSzT1RXSi6CA2DxkYJ52bTeu7uy3cHYEzK1hcQteLcCR87kEa88Z13ZLKeQ +3LaPL3AUk8ilSv7K6DRSZWC+kM54MwfjvSNh3Bn6kb4E3HDqME2AllGTv4mY7pQNmtd uEZdOklDdqKI38mGUxCQaiUgjsMYwxq5Eyj9SpzpgVm2PSgfV3mc6jm0RtS32F3SxUWT TRDc08gJBwVG0FovtckywYjoMZv265xYAJeZPQC+SxYw7CMgfy71dAysSbw5hrZjxC/3 Tmz/1d+jfRe7TkDoYAW6FtPAcSo0jtAeZiMohopBo7Csrze1dUSK0s3v8B1rSDSu94rG VXAA== X-Gm-Message-State: AOJu0YxQOUyj1k/LZ1Se2jOhNGIsMf5CBwlHHfRB5DgFe0uM5rrj849D UczYWgixBoXw7vDnx7bmBjvHyoG7jlCqMAwsqC9O48TTs6MwzfgMscmIVO2u X-Gm-Gg: ASbGncs9D43XmuNK2ElwzAVC5mtjJD7xjUu/whrlhtDRY/+1dasMNIC6Wu3fPv1wQvv +UN/gukvoZTi8OJdqHty70OC6gRo1IkDI9bOPKz32t/IvtDjMSmrn7BnD+xz3/qV8pyn9rjoQCk 099b4VpLO67ayferfkyUoKmOWh/wNX29tLkqosHVCrHHS4zYTumsDGX/UwzKQZTWvQkPR4nugZC jPejw8Lp723GNFpc+4DEVctRXD0KrTe4VT81FDoHrCgbpf/mv8ahwNNs81dEOsyOR6ow+je7YZK eYaDI160e70/LdaC4CcN44IqANOq+xF+C1a86MRmB5n5ruKHhkky+388PkUzZI6DRq/SGQcSaC0 BYKNvM59ugrlh 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" tiny/simpledrm has 3 DRM_UT_DRIVER debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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/simple= drm.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 =20 +DRM_CLASSMAP_USE(drm_debug_classes); + /* * Helpers for simplefb */ --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3A2823BD12 for ; Thu, 20 Mar 2025 18:53:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496840; cv=none; b=ZZ3u2UQPJRUIkNP44Urgaq0deNZtcjNDaYFtevED98eCG7sT+VHF0XTnGpMErB5d7O6WDr9SnPaYdXA6RTdwWz74xdLmIFzGlPmI8Kccwbi9yL0MO4lUGDOBRmmYWv9WVwSu6fo9SJjfSd+ZhMPnG67Mh+H3u9oIxAnxEYc6mTU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496840; c=relaxed/simple; bh=KCHO3lLH7dI4RY8+BKa/OQC7CPvk4Z4wABHEVsW8A4k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=adHXHtm7kBfGfBJ/MofTss7nQdczibrQgU/RNSEsS8YhCRgVWo994E3MAcylvm9XHENw6yQ2fOhruxh5WfpIZIfoJ9BpGd36SzYysDrOgAHtZXn0rjDm62eNDvD26Ny89JtMnGhe91aTiUJYSChaQf/QWZJY3YtA1RFTMi+vGPo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=h+H53GVN; arc=none smtp.client-ip=209.85.166.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="h+H53GVN" Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85b4170f1f5so31711139f.3 for ; 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=vger.kernel.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=h+H53GVN+0blphq7ZTsZ7TVu3BAbRTX8A8DetvOXq9rG3RUblozL1gGIAGQe/f9NVN zwk6gTPBio89So3q+AJSx7dVfXiteFKDi8SNG5prC4ogAhqkqk0EPV9t3C1ZbNRIeqiU FZVMOL9hWASO6CO3lXpd6cfEm/tWFHiGWxlF0+Ag2gR69Z6icokUQjfLcuxd1TXoeCBo D34vJojPWoTUi8WL+b0qzO7goCHOs5xJE8R11GbLed4fTdv10klTzNo2JCr82KplOhme VK+2de9XsHxSogMdzrCpEjQmeM+nFZ1doOiAaapvTVMCMqOv0Iwp7Qn1vvlsY2diSsW2 qlOg== 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=ruBpilKGwPCz23xSygxMhse6OTUC6D5Jc0fWNDAgGaRMeFL0lQObZOuY73Vmz0fCGt l/pRzymLtekj8jMoco0FL7NSy5cWQej6TiV1awvOB8W9kxlTqHe956BPvlPOwsWwVef3 vs3Lv/L9G9hQrueZV1gvxZybVuO+vLoxSsb8JK8BCDdI74LNEu0qJuPkQhVt4bivWTMe gaTxUeJ9ejE5vG2bf/m3WOuwsZKCh67EDbKYGRv6/xZicRDITN5cQF58NQ7C8ys1TpSr 1Qw6tiI5dXX089SGXh3psgs9VCFAwDNkG2kpqaVEvmLCcwG8FWrUZJLa6NkqP+Eh1cuM nowQ== X-Gm-Message-State: AOJu0Ywk5TQlJkF37+zpMJBb2v09aml+msqqiFslut/5T1EuKbdV6mg2 +irI3bXUGGH/smidj5ULZvZv1DB88EqYxjJXw2bFfHgEEiFNNCjw9F+lLDO5 X-Gm-Gg: ASbGncsVBLJ7GKrg7fHrr1dG4TGj0D4lmNViWrbAQDkUvJpR65P/RhYdQ4lmjxC/scJ KCny791QDX8Bz3BUClv8ASmce9LnXYnOEM0c2woKmX1gylTod4x7eVilJqKPEuCeIeuPwWGvvCM J8tlaq2PyQlscrFJoOtFY8IG4jyNeXzxmOkrEwC6HD+vx3Fmwu9xhJW7Zm9p7C8MYPPcpRGZ6n4 HCrSbp8tEoRrfjbmaqNLYx8XM+KHr7R4/HOCGfu57HqkxOo4fTJm9kDGziWoyiVPTwiYMUctqNz ujiuV9uvJepH0L+Btb89wcdxa0hP4SEI6bD9cOhlB8QwjENKgtyeVR1Q8TH++3+gelX3nv54FoG /bA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" tiny/bochs has 5 DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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 =3D -1; static int defx =3D 1024; static int defy =3D 768; =20 +DRM_CLASSMAP_USE(drm_debug_classes); + module_param_named(modeset, bochs_modeset, int, 0444); MODULE_PARM_DESC(modeset, "enable/disable kernel modesetting"); =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BD30C23F364 for ; Thu, 20 Mar 2025 18:53:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496841; cv=none; b=IuVOcWOHQ6LedBU8R0qXko0Pm79NUMhiYV62qe1knqmV17WlCsKDhsks1TDnkPCN+w80GOVmBKHJLBYi6lb9zT49PZLYy6dprEjjNqSWUE1uGgEZVZKSWsVMK7cN05KtKSs4SZvnVOJRgN4dH5NUVr6Ov6LjZ8HNsmoCtucFXrA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496841; c=relaxed/simple; bh=8uJoalDz4gUJ4A+Uu9pLqeleSfN8jtRQc+WX9rk4RaY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a3sICL4WczeGsudSgMJrM5buyNIg52i3wC8AwltnDzAf1i4XUBKnhQYvkE8TB/ava3cgygl7Pr0C075ZX+VIb5yjXYZ5tyoJDqtaMzCw3nfoK92dI4AX2P4fkRCAC6yCZHC/FxQGmisW0PwOu/HzViDyuJstpc7lg/dpRE7ElgI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dqslYZOe; arc=none smtp.client-ip=209.85.166.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dqslYZOe" Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-854a682d2b6so76766039f.0 for ; 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=vger.kernel.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=dqslYZOey6TZBtJHNjXvcQT0cUzQDGBMIwbyR3fyh89ghQlVeG6WJv9q1tVSQAe1kU KTNDVyTvifoFWbU9W1Q4pAhCKUZiI+ZpYd81kwsUWX0Mmfzk9Me3F33O+8x4PxMxuFYl KbfXP51SJhVcKoMqkouUQp6Ug5A7Ezq1O18ePgVWyXTAWrbrpW98F4URzuwzOuwGvNSj htfetcHkR4ypHKBl1tGSGDrWAsUhWnAz10sEE00uLmeUIVcDv4Jp6VL+gSc+t8BldHHR s/VkdjII5hiQLoCH8XPOpK/R/3zb/ZgZvcwMgYx/voi7IT+KdOIHnFK4efg8zSHac9ii SmkA== 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=U37FWbdhPLrfSGYaFUuQBBPaBAvxfrMK3pnYqLX1GDXwAKfFC+glSJT2t3h6VQYkRd CLPSgu8HnvKyUyqvHP+Dj8EewHMal+6pQjObFuGGyyyaHSw8Mta2DWhuhjANwzBAk73R xLEQt1EhJKMm2QM3sGCAZNJUgwFq/sbXy0jX1Gkq60EqEzGcLj7Tdjzw2LI2YhOI0vUQ TPKIpiE+/l4lNZ33hPTKa8gx8YGz7mcuJMDzkN4j8paYj2sh/0HMwe6GiQbHxkklo6l0 blLHWjDJUJjjFeo17HxFP2rdRsDU7FpdDNGFMBdVBek6htDqyRf8KxDYJyyUx82bLiVc 8Zkw== X-Gm-Message-State: AOJu0YwBA6JXv7pvJYl5o7CSXJGVsMgicWGuq5IhBV/TwJ01veyZlJso JTsEC+tapPfrQq8oBma8LJlQTncOQ0i7rCmAXBBiZG2D20DqU7R6htX9/rMN X-Gm-Gg: ASbGncs+dsdqRlyOdTaUbJ1Uxvl8WKz533ZH6iiojG2E8+KBd2YRG1RE85p0Vk96hv4 /qthYs7UtoYKew+HjIHF6P5wTcJn5TnU3oKY6ovlbCYuK5oY3Jo4v4IkhC9tm4pE4dmegh8ytJ6 jzPInxK0NtW32HNZ7PHxy7bhIH3X+lCBA4hlrSy03NmygIVTyiyhFZQFQQFN1B/GK/x0isEcDai /XGGyeBxATcUqrfOoqUM/RJ9Reu6y4XTwu5qt+J9/O/Y4uqKGjI2Edn/ctBhwNjjbD1FWml2u8K Xco4hVVq3xPfm9Ka1eg9iQRo0k4MAAXvMQqlIT2lCU57RNU8qn01aLuLo2AUkuKofM/rsateV3T Nng== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" etnaviv has 5 DRM_UT_CORE debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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/etnavi= v/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" =20 +DRM_CLASSMAP_USE(drm_debug_classes); + /* * DRM operations: */ --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7E3123F419 for ; Thu, 20 Mar 2025 18:54:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496842; cv=none; b=A1D6KXa2ISWrbZrnUfdZUsmytOBNQbAUBO6XnDOE1M5FaBjU1RVp8ASKa3OoKwo7eD8IVLsa0r5/pStirTK5tBdpaoEHL/1KkrmDbYGbvYL/MBPpWcxEZDCKUWUcKFB/SuNuj9USuyTsG3QltSf9UVMnSKFPSl8fF71qxRjKNhQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496842; c=relaxed/simple; bh=pnykpLg2nT1btqisiOtnE7+yyT4IxmtHkmEzKH03RVs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O6yJdpd8A1RjEXtj22kZVTZ3L68gNO/2wtCqUlETUA/c7EW47RfxSTMNVYfvHF5vXykKhLNJPDlgmsdbtV2rAUiDniRZk1A1vCQZ1RtcwgL4vA2K8f7V4x42lHn38h4yJlZ2SQU4Mn9nCuvCEy0NuTfeWbf6Y48HLE0CR6QgxGw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SzJO0lud; arc=none smtp.client-ip=209.85.166.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SzJO0lud" Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85ae131983eso125383339f.0 for ; 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=vger.kernel.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=SzJO0ludiz+JtezF72mGcIouaMd2eiVqvkj29aLyP+fvkUsye6eY5t6vQW4c9s1oNr 3nQjk702YW6UtXGbo7vT741WS6aQ+noCOWQ2AFk723wv2kWgSzM761j31qpTpzCh5Jn1 SuUHxX5g8GPjFj/uXzuJ9nARsrwy+AVFkK3/hNm1+1OWAAd4Z84Y8FV8VjGhvm0W2xW3 Dk5EHOqzCp63cXMxDV94GMw33a0ANGJoTu7psa+U+MaxAWbHDIlfE0ED2nVLhJBCQBtT RidKmMKvJU8O969yJXKPoKGI1lTsWRzcMp1Kytf4oITeH1uvtC2XK/oeJiABzFLft2T4 OsHw== 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=mmtgZU7Iv5PdriokSbOM+HTJCmFTkGLSaY96fYYfWNwyfzLPoBI/U3RrMlyqzOWKDN XdS28KWllU0M2I+0qrRun/1u7L/alDAw6kjOk7eL7+VuiFr7SfZIAYZZv6rVf8Llaxlz RF0Bj2bLSyxetk9l40CCusuVMiuu7CO6tm3xaKuwUUHFv1E9F49KWhEpl/CgbzAk1pEz /eEHrsskld+20i4CIAdmR+C2fuU55+cBwrHhwbh0GHHdswJ00f/y8y0mMaJUfaMZTdIY xy332qGNILqstj1+qV5vpBJzbLSQVHHA9UVQvCIJLbLQzTMocDSuS18VjGm0VpVl92uP EAXQ== X-Gm-Message-State: AOJu0YwaGBpQS0O+Bt51v9OCJj320u+0n9/IS5MxtgJooXzt2LhZD0e5 9cTLCaxDOJx7J4XrIBxf58ZulWEqe8RXT8GPCiO/MTJan+NXyuqvJEu3Aljc X-Gm-Gg: ASbGncv2ZmdUz+ek6hxkIA8Uo5axK+2xPscEaZMa/HWOKHzLEvcH6CBTS1nhmrBYLf/ d3TKa84tK8wtsGHk1z19QoJ4yUS0Vzt+99UT96JRxSrLOpxOIpvCKmUO4y3XLSIIxJYwyYdI7Rv bLRd71gRj5pHBxt2umGVNdJgsqeszW0slRp+eMY2HdxBxG7M5kSU+efuT8MJeFAlF/6L+j+7ySj 2F2lCHaVpZygxLDpRvqCLEvD2/YHnzNi/QrjQ1E+7NkdAhors1Ib7a6nrRqei9ky9XgKNN9ztqJ QO1yIUO28GXsEM8x6GfOM2yEw/XmaPFd6/Gjo66sZ1kigZh2xqdE2D/3gbcd8/dzR1IwBB+ONaN LYA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The gma500 has 126 DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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); =20 +DRM_CLASSMAP_USE(drm_debug_classes); + /* * The table below contains a mapping of the PCI vendor ID and the PCI Dev= ice ID * to the different groups of PowerVR 5-series chip designs --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 53D23241660 for ; Thu, 20 Mar 2025 18:54:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496843; cv=none; b=YPRMhggID+UAsNGKGqw8SeVyYZDS/zDAhffAQiwugKkhJoPTwbmXXCu9mQI1YZV4W2iPYI0hlGEKiWU5gL5I3ZbccDW68X1iCV/BLABUBj1NMEV0jdhGQJG4sQJVBUwoP/SspRxuhS7KgUJ1I17SJoSL6xwKOrdIExyxpEpVgWQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496843; c=relaxed/simple; bh=SMOgUl5f5Hv4lntfLvuEDqMGTbyJ1k0zKXfBEdqoVtE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MiDei2hgvX3hbL4BkloKNiYh9kfaB0V9pyGS7Zrpd6BN7q61rLvxj9SyDFgNqXiP6MpmttQbz+B2A8z3c0F0v4zHQBAvqqt0kE5vHlFIzHRGpG+LLPSjpAMf/2nvJRw2v3SrYwvO3LAD22wqBop7INeg8w3xXXivn7noaYr/HdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=aOGuXzCS; arc=none smtp.client-ip=209.85.166.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="aOGuXzCS" Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-85b515e4521so36872739f.1 for ; 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=vger.kernel.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=aOGuXzCS81M//gsfAcPWnKvRfW/MTiPZaIv0uqH2KWSs8EoTJHM7uwveA4OfbvClQh 5SjgsbTduq9wUdT3+FemEvnoSslezykGSbAIKeR360brE3ZyhCZynNpa8BfEyrpWwGKL p0oJg5WMeGCOEJ9zuW7odWcIRKWz+cQZKMzAqeIK35CFvdBqBnqwg8b7wxiN2PLMdiTy rweyiSlR3zZR46AOgeaDF/OGe9ejUBAogJITl0nkRjeZ5PwvU8ggj5WQmmGSangIYJ7z MO2/W8RRNZzOfbBpcKWrUUn8CLmpS/M+Za3XUib+6v8lbRGOTwbFa4Roj1cw//sm8GDJ YSPQ== 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=HgA+VX3E+fl61rQ6NlGXW7y/2WPh51mfpxPQI2ZVw2RYGOuOASAfhcJbiUaU+kxq4K 4CExLbc7akd+DZBrZipmql7Q4NupIxvIXzSC1Pk4wCMKrJyAp1VYBse+gKMwwhX2niDg npEmyQ0IBqtMIF+6zmLo4FQApSgjqmhAXscMsoiedX7E2sB80Mct6bsZvg5XjH3XVvsB OPZ+NKFfRoApdRJTzXb3/7BEiO4QwuSeKC/JNkabkQO55j7jgbEop5Z05vAVjuKF8+iq FiqLCoCJ0S1253hQErAuEkUFWkwHhVy7i2qKkLr/diXi2SuyqrBpkgBT5+GetxGatTbg nsnQ== X-Gm-Message-State: AOJu0YzQOz7bAGHrMU2KNbwaTQl7njTvybdOqkehnGF05VRE3Xfz7g+a O946CTqc4biHEVTNN1x25A+CTnrIzDslw5AR1h8jdbXc7nt6UyyxhwGdmyJ4 X-Gm-Gg: ASbGncsetdCRaLdjMoUzA1ZPF4qu8U8H9+1Yspihf1lv6Lowr8WtkxhO0w1HbORDmbT Ngm628EiREmxMl+cS1VGysM7gZ/FFD9KgWegHcbEnCjVuhDpHB2m/JjxlDV4e0y+n4orTs7ad63 qikvcTn9MwcJsEPAFu9lZps1Az3NXQArQBTD59gCzPw/B6eVE2ovWU+vmguE7RD/BYby/e4LFvf hHzvFz5eNxVoWRXrMcF45/uMc4L48s951voh17eH1JZiLks126wpLIkV6EcUpbK3VczHtJqSpBs OTUhB7fE7yi+7O8iqwtbvpISV+NUZPpA6vtTsYJ4IpP1Rd/eqyUVJlMjbl1MMWm3rDJevRiwprW Af9UBzdXs4oHN 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" radeon has some DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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/r= adeon_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[] =3D { }; MODULE_DEVICE_TABLE(pci, pciidlist); =20 +DRM_CLASSMAP_USE(drm_debug_classes); + static const struct drm_driver kms_driver; =20 static int radeon_pci_probe(struct pci_dev *pdev, --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A240241698 for ; Thu, 20 Mar 2025 18:54:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496844; cv=none; b=csUHisubWPuepQsrWeC5KeU9AFFTQ/65yCC2AZOeJdgxkcSm5KllCfeKRTjOpX9lYDYSLQNQktw9UH/B7lOmB+/T/YY0GbSfLJ+TgOJ4Le4AOnCZA+4QME7zye9QgfCYLTHER/YMi/4UuUZYCA7FE1/cgKHfX/9sJi8iXY4UYyI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496844; c=relaxed/simple; bh=106XxGOuAhdnmay00WQENaLHjezUM4Q8dwXi2xfOFYw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rjhU5WQPX/UZ/l63wGnIRldAieBRPfLMY1p732LGBBV5whgx4dCRYbhCUn7XlmbcpQoUXwVpu17vf7UuSBlSTzbQg426iBKDrlPFsta3mtCONEoF5f/atVEXYcbKLIjbRquMY8RjdfnjnHdTWyXVhsKqJfIbVyGT06kx49YgrTE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=NwaRH7BE; arc=none smtp.client-ip=209.85.166.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="NwaRH7BE" Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85df99da233so93764839f.3 for ; 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=vger.kernel.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=NwaRH7BEd9NF3PbrxWaDWtm32VHnmjyaGBXMm3QdcKggbNVtmjjDA9B919xDZjVI9r flhKUBRtUIekY+1UwI/blJLfiIbJdR6yy73TI+m1iYL+snS84HIfc1DEK0ASdd0qGnXI gHRzURbarkbU/qAPgZ8nrMUpQFoKXOJcdvbGjpkslSo6gLGfG1tUsOvCgnS/RVbHDICM XYhIaVZTBdRK11+qvCb2if/uWASMXZy6Sl/O9DNSCZH8KkksiS2o0aRV7jhFu+qYWOWL VI1uwNvOp3AnZj9RbuDO/4Mh66lE15NMpEBlfYsvZeKQv4OSrWthKkiUiwCuBleUMsie t5tw== 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=K78oRY1LQ0gID83D11GtGdloKprykrI3LuxyAhQB1C7KhSAhinjB2IkHCGEH40GQgn 2Vgo3lXKrJt4Yc5lEOhVSarFU5AGfmIBSV8oTRdhT5qrmKfqECcUwIzmMLXkxdHO8ibm eQcC+nFCg/RzDx5e/a7GV+KNLMzZV0SZy2dxJOffXDomb05UAtw/Dfz8qsLbWos/O7cy rDMPnKF7jtHfV7PEepEdlY2h7avyZybqO1zvHCo9ALj/WxEAOgiib1uH4cGyqxsS10dp eVSOEwdmtsNToeZ4DFtpA06kShHFgFEZeOk9UAijj76GOXlYZwVJcytUaAXzG9XHZCdv sLpQ== X-Gm-Message-State: AOJu0YynzEvNtEd9nNywPrnfWGEDq4wyl9suIzbBOOwtk57D37TVIwpZ F1/XachAmTl8jyyKLbxsdPST+J177feNJbARFU4lxqXaiSxDKlwPnBG4mMnJ X-Gm-Gg: ASbGncuGTCQ62yGNOHPD+o7k/oa8c4cs8RpY5p6qwNhAf4EklSnkJ60g0i7b7c9XlOE oO6M5EdKRDDQuEaZaXrSC/wzztT58YBMgJjpt4c0oumvJnG54pEEo6gMTcUFZ63dnOPMwuzsFG1 dd8MAQEuIbuu805zP2/XBVrxv6rTGBL34FmMK82FNoc1ZJmTrz98ZSltd2oscx3zAnlXLQwbNS1 D6mAJcyWZOx+tGMFce3PhcW5DW3efW7p/duJ4VwWd33gRix05kwpXOOic2P/PRtex0jScDHjGH4 u7rJkTDO0pPsmCXUFYSidhMoxqCH+PsftEvhEb0tmxOXow9zvmv8q+eoZtAaPtae1uCDajxSVe8 dJw== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The vmwgfx driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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/v= mwgfx_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); =20 +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"); --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70D67245014 for ; Thu, 20 Mar 2025 18:54:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496845; cv=none; b=qBhCOUpfDm/YQE0H50YQFXePko060etTz0gTNeXoIPVS6xZZqrHHnkWBDKVsZk0qhMTGxe5w03UM2G127ja6C373vHIFs4Ez/lOk8bcn8m+35cMdoIpI2jIvkpymEssS0p7btdZI0EC9XqgwV7YR/NV8tntvdiK6F1NmWQrcZxA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496845; c=relaxed/simple; bh=SjSejjyZ/55nTJ9bgxnHE6PQ8OHS1Xh0Xc0rMHnptQc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JYQFYh2L02wL3Ggc1vDfrN7Vui+RiIZBV/7E3JwpYYW4X01ANzrdrm5WW7JRF0KygeBvkQbSYcHQEqA7f6Tvm9YDCZFKQRj40pq2xjNWz/F/aV5+uuz/MBXn1AoWtzrhV1+Qzz80x0A3loasa+CexMQuTIwiWvKr4k0kKIcfxW0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=aW1mdpX6; arc=none smtp.client-ip=209.85.166.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="aW1mdpX6" Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-85ae131983eso125390139f.0 for ; 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=vger.kernel.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=aW1mdpX6OE4pJuPfUaVfyion//yQrLwcmA1VCtOd5a1zKdNi99qYRITS5XiyMtC32g PZi1COJysAvxkosVrFi1GCbYRCe3IQaTzq5aIU++vyPQYeHVvCvBukF1q5A7qj9v8GN+ 5m3rEiHEtco02GqFyQtnvSwsl3xPg0MPQX2BqWW/4zduWKsVVttXCh4vdR5H4xe09zxo 5ZT4MPcVyvoJYBCkDp/0XJFQym410fnT2nQhH1SH/8tUlP8vQdtaUcG5JELtGOsMhCMG GLacvhu18Asj1xbhq2HOXQDLlOCB51LDe7d43Vvbg5RE0jY9qa/G71kmzX6vG5N/zwx+ bszA== 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=s9TNnB5HCs0u78C3rOl0BwHr1odN4cTK+gVikQQp0YlC5fONz2ZdTUJvH2XKd3lSon JwzvwFMCbCww5cefEPGdR13Z9uJ+gDlftG0bisoNFnrtELzMOXZKK+Rsds1f6LU8Yce4 gTmrC+P8eMtFwDe/72FR9WIRA+ECCIr1Z6WAre8o4nDIvlvZXDMKB9RBP8IdL+i/sO/V UNXVUBICiLXgPEX0ia50NxpywZU7Plk8XoLEuJHpKx7XhHCcLAD9rclieBonCSOYsv82 IvJ3cNh6XD5d/NR/txTykRTr2dd5UZZEbBhr7jcS6LToBbBbDBf7kqT+kJB8t7l9CmlZ CMaQ== X-Gm-Message-State: AOJu0YxY7MLn3C/9OEyGbN8ssmEjB1BXk+F3gkfsurzEZdUNFuuD4RXf h1j3tOLZddqeFlIAN3jFsGQDalPgCK9jA4t6di9NU3j6MNunULl2G4pgkXn1 X-Gm-Gg: ASbGncvZ0j+r0/0dv5buZEW2JXdJOzjwoksYly0nOuUSD6LSgqLNKpwtTNP/ZSSg8d7 Lpb5QHn/aZ2c5k6bdONP/qYzioKPoFIXXLDKtN3HDlqD0LdC299nZsisy8aT2WpbkD9BigEwaYJ Ktrpd6u6hRJRzYUWL53UO6sSmI/01xoUfAOgkyQ5CGOhdG0Fnb2P2cUetxEgL/uqgApYat2KoO+ 9K9rZNhjT7kDTfU3ao84HvCpodDaatpBBjOSfi17fLsgnRfSf4mRL+EQ3l3PdRdYjIu3DwEZIKy bZg7RMm/UHfzvZu8JKfxiOH9X4s/NXoClBf2Wod5aiGhgoPj1t3XDgMgNmxlsTpiq6vWt6fCijF 9W9o/beEewNv0 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The vkms driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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_dr= v.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 @@ =20 static struct vkms_config *default_config; =20 +DRM_CLASSMAP_USE(drm_debug_classes); + static bool enable_cursor =3D true; module_param_named(enable_cursor, enable_cursor, bool, 0444); MODULE_PARM_DESC(enable_cursor, "Enable/Disable cursor support"); --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A6E0D23F419 for ; Thu, 20 Mar 2025 18:54:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496847; cv=none; b=tl5iwi9c86EW3yGrc0bTLae47hm/Ykn0PEjwHLq5FYp4osspnEpd0c+Co9t2jPAf+5Oj4nURBf+InRBZH/GYxVI5DbLyxJM+rtE8TRSZ4ep983/pNWEqQoFJzAhlMgMJbgtAk4VqdpOGJbP7aQERJgLksXfrMy9PvmzoELhZz4M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496847; c=relaxed/simple; bh=CwWS1tqqtSrGX5l/zPl5jVAGna1ng5cXDDz/wrrMCME=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZEAbhlFULNsNpTXc066xyi2HWPTpvIIwOIAAGB15ya6VEy2/rLy0lssNnXaOzy+BwrPwoLsG3XHsuQLDTvWGLsHlnJtI8emYxl1SfN/Gs2rj5EnDqLZ1Il+Cteo3oRTUppwyCHXdTAc/LqDzH6MuHhs5qs6iQiLhdiS5QzApO3Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=J4Vgi/Se; arc=none smtp.client-ip=209.85.166.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="J4Vgi/Se" Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85de3e8d0adso13786739f.1 for ; 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=vger.kernel.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=J4Vgi/SeQrDMJ5V2TBnBJoCAH3lrwcdx6bHtUqKsy89xmDT8ejpiFM5J4dzFz3p6z/ 4YUrKdIuGJRqTxHfwGN2FcFwsvWzx4u4GUZJda+HhoiI2qFh/sZyI4MOR9A5X5SQSQ68 qRvvkov0tAztkg3BIWG+defv/kiPMsRzXyBFN5C25kutuBMrHXV5LYWnan24stAAfRkj yI4v1KJ/R9HjBmdwkO6QIX4VKmlVOFPXSXq6/TOwZNceQT9j/fndzpZIJbVke4NPsqsN P24ia3qa43kyStVc2olWdTNnWZnsJBDmhzXaAVM746RQ1krkEVgjvwvmCg8/Z5mIXWc8 HOHg== 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=p1LdwDQx7YBQufkaim60xAuIUXH3jnoj/Dk5whW03ApbfFUyH66Gr5+e/CfiqmlTrj Dpy0xX8dCtWrXRs50iwf8emlll/7OktpmcGobpQG+cn4X9+MrdsIziSBswC6lhZVvlPz pwpOSZxTTvL8gqg+EdbzadL82fNkbhGUycVlGRswidv2/c8UbzTouegKk2h9h4XNibgR 1cYnzED7K84zVCZn5fQ5R2k+7kjbqtfLv6teNkfp/CtLR5+m3xHdN3TaL70cAnqTG10z JLFx4kPCkABE/T9NysHFIy8NasBGNg0NPj4jVZuEaQR7+jK1/XiOTawao5jZownpK42O z1PA== X-Gm-Message-State: AOJu0Yw/ybYjHm+ayQ0SBj5ob3P3pR37QneMJZjFdXgPPDU1S6tv5Atk 2BPFiwUs+RvFdyOvyuw58waE/9MlTlIKVlLo7t2Nh8JG7LD23Mzr0Oh1wcua X-Gm-Gg: ASbGncs7qpzv/MNacBQOrrpqsgD4qmp8ktFQCg8WgBowFVP7jEyBfwceIaj3UqUNKDr wpsxnP2qBBCeRlPguEAheFBFHTHvxdK8vwupYgVDg2bNAXJ78hf6A8f57Yl6wxUm98l8fTIvXyI xYtU++vmDAToAiglZgigqzCqaP0AhFdkyGHUbMkUxRkMDqadhaCPHqvTdalNnN+S40RNY8cOs6/ tWFPFshxKQpiJXsbc63Zjpw65Qw62bBhSUMfMJSI7Z66f9Ows2vc2aDSZUhkzEEiyMk0LaRAnxI UKYEBDFBLmlASieGAMkJDrQgmxtVc/a6V1RsL14R69NQjkr6uPdajz48b/dJhJ28upKklaUJy7O 6AA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The udl driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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 @@ =20 #define NR_USB_REQUEST_CHANNEL 0x12 =20 +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 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8263248867 for ; Thu, 20 Mar 2025 18:54:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496848; cv=none; b=Nbmzyb0290uN02eKUDIYpXz7pUL1fKzfFXoq3mOytjjXgkVoLRk0Ib4TbOikcVPJ/Xfhq4Ti0ya/azUxY0o4cL3fURTFh//DiFyHukBcp6lAduMspA4PzZbOt4t66YNgfas3XvxZGxEGvq8xB4UaI4NbC7XCcqRVoclE4srFKCk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496848; c=relaxed/simple; bh=N9BDlQuttJ/CG7/8erFPoatDdgkmwr3Xfmvi/9L/ya8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Hbjc8mlPhTrPRrjN525mn/A4LT330TOSpdwW0j/3zZScRbGZL5A/JrWJaT4CvaH0a4kOaoh4aOcx3fhIV2m+XP0SxEBJvyun9EjJabtCZ+1ZobxdQb1Txbasqj9IMMlwCABBifKgxkvxDWcbTLUFrjic8FaZsBA7DfLtvxinX9g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=aNBgItCC; arc=none smtp.client-ip=209.85.166.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="aNBgItCC" Received: by mail-io1-f48.google.com with SMTP id ca18e2360f4ac-85b515e4521so36874839f.1 for ; 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=vger.kernel.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=aNBgItCCDCn5X8308AhZ0ohghCrRmI/1NPi2z5vlxiYVEOkS+asHCVeUJC4m1TyqY3 swBgY7EKIxCmzqwvmwON0JGrqIb7qwWccTKljNLH0938oI9QtnfyrrEc4dzUb/THNTEX lpIF08oGwtO9U8MYcSGL/QR0PuGMll1mb2pmh5CvSFzSLGETD4uQJos7Y5qfwrcNT8Ed H1Sqa44XDUXIAx5HOw8pw4h4M1KWbOj9SwBIP9m1LVOf1Dc3y2IcOFwzSZOyDCbz1Yji LzrRuhbK1jBJ/imiKTGQp+rRA9UCpzNLgkddPe2P/P/96AMFQal59bhxFJoRza47N+sZ jTiw== 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=N5aElqvzzqk8jT6eZhcCat7/9zsawQdsw2xdAX1AZtTWHQnOpDDoKyCRt9u5TNB3mG NnUVlhweE4UYJC/VWbpZ/rMvZaa+jDbti619aLm3fYTrhx1tJf6DEKY/u2wDKTG2y8DQ eU0dSpfOBcCb9s1OAcJ/JWCDU4HjrsD3CUoPF9e69ieG77azpW0a9ax4llAaEldINOLu m9UISa3Ox+QwoW+xwV49AWX6XCd8gRID8/+KemTqU0CxML1E0S5g+3yTVSSjVKmtex9A L6ZEkN4RtnCyotBO5YEwwrGWG6uEwCEoUH6MsFw8o88rbWQ359mZH2UPYGLuOf3j8QMd /1VA== X-Gm-Message-State: AOJu0Yz4IJeiknRUjR3lAeQAM/t3s6f2Sw4sMpAtOYqOsoXqRir0/VZs FCO8NXTpkY3kyAhkMmvgkD95GD6ZNG7TbTkkWp/cTAW1hzq9E0cGdiZ2IXTv X-Gm-Gg: ASbGnctOIZXuiZBhJD8EgW7hBZX7RqamiPH/unTFprOuECTsoOXSsFEzBvHWte9grIz c/nYbkZXy/IAAmwx8Lj9JqSoilG79wCqLUfHpFhtVT92sJFXbaIbFs24/6veMGe+ehbGxi5kMib RCv+HNZJh70bCwVDfaqcF/yS6LSdje5MeTFu1dZ+siJ9qU7SPZXkSQKiTkD4IyOpRO+G6nQOr+t oxrfYmS4TEWvhXVxFCqNZMXzJ9FQBhWUkD6CE3G60/E9gDxDPts9WAPNRe1gqOiWPGM4VOQV4je 2YMUnvCU2ICFf7Z9qkwAM9UUJ9K8LaqZiCLpp4UNRMTOhplW3YnHuoNRlbnsQHNTazcuJfubyUh zPg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The mgag200 driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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/mgag20= 0/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 =3D -1; MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); module_param_named(modeset, mgag200_modeset, int, 0400); =20 +DRM_CLASSMAP_USE(drm_debug_classes); + int mgag200_init_pci_options(struct pci_dev *pdev, u32 option, u32 option2) { struct device *dev =3D &pdev->dev; --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0361A248894 for ; Thu, 20 Mar 2025 18:54:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496849; cv=none; b=hqzf8g4bNxCPPYOxYyQtcI0YihU34zXPhcbySrtGmENHdFr0Km9fRi/V7OixkSG3X/uFAUeqN725WoAkBapmq6bk4lcUm4A1IzY6d9O2Y/HTDQQES8CYjP852SE33iiodoHfdLuCv9lBIG2Tk1SuD2EtukoiR4j3m66X5ZC2ccI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496849; c=relaxed/simple; bh=HYMxLPoXW6Y1QIruiib9Zo9L+bclQU5xJEqbXk6UmFk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=n0AwABIxIhDAIgOpYVu4isSblyYhVuOERqjlMZVMpmWs3mG9dVIjJgNnwPYodJ7jHjC/QQl5vhAP6kVOwumRiMh8g4qyq0bym9ca1NQE8TGxIaWd6jmO36XJUSc16v/koeJQTX30LESEh9CtUs8oUKwH6DsEElqDik2VM4AH3Uk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dUZg8BgK; arc=none smtp.client-ip=209.85.166.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dUZg8BgK" Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-85b42db7b69so12880239f.0 for ; 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=vger.kernel.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=dUZg8BgKh6j/4qhhAdC7a9IZ0LYrJK8PrIfx27AnUVSQDdUBCTB5t6KPJFpheBDeST LTjnUUiC3qZI3xwBJUgSQnqPDqfRmeOqTKlUKfunJyqL0o6stI09p0NnVPmgsiArHdiU KggvfVBW1ef/MEo2pBmNXlIRo9Wy8lR8GNqFXwM0eDL7crxfZkVQDltGSi+DY+ZhoVVl pdTYwnVJtnbgNosvGHF2lVk1jyNz3IdljsX+9VV0waFm9FX4tJfGcGd78tt3cRhMW9NV UppkeI0p/lx9dd5x3FUtG/IFXB/I241fFNSwPkUE+26NptSyESV9Zm3VxAhOEo2ks+Ne T92w== 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=fiNg2A8ToonjdRwxVXX5qNntHjNsZqKdQSl245p2x7G5RbTZ8AZVqQ/liVBO7N9aNo 4Lrw101kVFJ7H3kQTxAnafbjSTu99MeOiOHq+mzt2h4flVeUMjd7Uo2tjLxpImPgpLW3 CljQEBuFteCSsKcY47jLV7zsorgbwWTRG9jUMFnIDUzcDhME8TKP7Lx0hCLqF9Cxa1Di 6lecmRPqkAb4M4z4uedsszOzWAUkJ8pkGMSozNyHj47B0C/eChk0B0I/lFyAVvmFvbC7 VYOlOcaIJFvbI+C4Cf7wKKVYlsmQhckH8kbuIsWpXg017+v2k7OV1cOUh7ZnjmDbKbH2 N9xw== X-Gm-Message-State: AOJu0YyW6zCoTEfQYC9RtWl/7QtTkxp2uuaFA6OahX+OlZcy5kFRdX3M s7El7i5UYsfoRRFrEzq09EzSo7xlzE8jB177JgrVWDcTtyoaOMI6kPKSdBcy X-Gm-Gg: ASbGncug4pHvT3kVg1RF3PCi5g+oZjKlC/bZyix+lA43OzB8kAGE4SEaVS+03qVAxx+ 4tFn8M+DORK92tL8Bpvr5tSeKLXmxzX5oN2Wev11gj5Z/ZQ4AzihywyHrtydVz654wgdfTVD0eh Kh1S0Dn93lcTU6BZ/x80zykEk5pycwrppSuYqMJnwylN92Z7qjcAklQa9VVjmtDQvJ/14kyvAop 53LN1VjvQ+aaQNoE6cueqHK5ffY1+gkUXKMT7BDWo58V6ExBr+IFGTr76uCiO2clby9SlvRDfy0 hosa7Sqsnna5SM8pfryhvTiT8J9ehH/RX0XgLRuZkeCm5e/wr7rA8fH8lMxuiIeZYlx+NZexgjz Aks6Ik9sQaSee 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The gud driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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 @@ =20 #include "gud_internal.h" =20 +DRM_CLASSMAP_USE(drm_debug_classes); + /* Only used internally */ static const struct drm_format_info gud_drm_format_r1 =3D { .format =3D GUD_DRM_FORMAT_R1, --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D7B724A066 for ; Thu, 20 Mar 2025 18:54:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496850; cv=none; b=bbwPaj4zz+h/dA+8OS/cBghKxHAteOMhofSfA/IKqGMlstmhq9Jlrp/nq48v8nE3Ai6+aetaecjqyPUSpuztDo3flApjLKiYFZ33HOsHOjzdRDPCgZqkoZ5B68UNxZMUCyF8XTnYqamkSLrONjeJCJFe8Ng/Tz+Nu6FX8KOUcLs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496850; c=relaxed/simple; bh=jtmuGtEYcaPHI+wbnujDHwf0zLuAr7ob6sebW7yeKAM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rOe1JFBBc5kfD0DsTvzAH0eeTbNE818pNauauzDSnu/p008UCgwdaeBKUuSV6m7YJ0yAivCRmgCVecybyG/x8qum/SSUdOCPsDZNs0cwhnYOby2/QLhTi8Tis3mOB39ZCik+JWfrVD8pmgF24XgxM8ZHL89nT+QQltXok5E6nbM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HbVzAjGk; arc=none smtp.client-ip=209.85.166.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HbVzAjGk" Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-85ae131983eso125399439f.0 for ; Thu, 20 Mar 2025 11:54:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742496848; x=1743101648; darn=vger.kernel.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=HbVzAjGk7zx4+zTws2JuiEHfkJ974OI4ZcKAKpkjGtai2gLbTgslMpSpuPvqMev8Op vLUWJVCP81HGkb7GDnmLmcd6HQWVk35C3ezTbBg+Bt1DiDclmNNOZXir6WcWIrKPDhQA VKySi2Az4ju9mxi/ZWHlEk8UNdSYBMSvbj+/df33ogSwkWSDTv1hQW5oke0DkjUc257m Bj27nukjZ1LwzwCjEUq/N3WlBam84LrDvVrGQDglihtwOxtSEQ2SSvcEdzs0k6tsmCDE HV4Thw9sUaPO9lbHa1R7KZyEdjPW5FssYL6ntr+HGwac8g0YNoq1o3o6q/OlM6BduJBT UL/g== 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=rwsr/BFLmTqP6Ta5/sEDa3L90I0OESwvBpU+tQJUEKRGo6OkWL2Zm5PC/F8+sRjUyV 4ZA7pe0Ry1o3ZMPmo9uiFqTXLbr4dowqMBzv//w/T1up0T/odS9uhYyYe7vWX33vHgnU 6P9SZrTOuf+TLHbpY9vLw9XVgME6ozFMoh6E5fzXub9dfXZcGAfrDpGRp2iF/lelWAxb yCIaOyf0P5kfxGTCc+O+fHIdzjf+OkYk2IPe3qccX8gOuMo+egJyPmupWKS1tsjney8S Q85KJOv/x33VRc0YaVIrVxHsqrnLS7sQmptfAIeBmAuvbydUBE0RhK2m+TeB/AP7j0mG Ybyg== X-Gm-Message-State: AOJu0YwOwbIOoGkNibqWgu3scXroDwdvvzPlVN8kBDIT1vZRCeBz0eva mcspZyKOfANOOa3rgpFlMFo3bHGURgkCMlmq0PH1etLVD50WTZrFmXJsNa1B X-Gm-Gg: ASbGncuhR5WVqqcrEX46gnCezs1dwviurP6Vgk0fCu8+oQsprKiRZUjGo0aqgS/K6rk uVUpJYfrMgxAe92v0mH2LwGTKTyKUNBicWiX6HwcDtBPHEknGIOTBcWdOIxXJKHl/ADlx7wsIYU IDXe/W+GI8w+REqofamoF9PTQVVFSJJ8DOIt/10O+iIuiIQnxhgHl8Cdu7PFhrz/8HidFFn4DLj n+FVz6n5MsCMmbi87UNpw3ZdXSLb72Q4z1xp1sBuHVkt08gP1bRhZA6ecdEok8lXcm2KCfHa9km AqCnIZDMAsHUBT9F5B4weV2oqHzyW1aGFAZdn7tRkLCvecKuOA5ETsSf+krsOKWKUSrC8tdPd/X 3pA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The qxl driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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); =20 +DRM_CLASSMAP_USE(drm_debug_classes); + static struct drm_driver qxl_driver; static struct pci_driver qxl_pci_driver; =20 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8B32124BBF2 for ; Thu, 20 Mar 2025 18:54:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496852; cv=none; b=h675DnqNI5n4zQzPvpsAbx44gU1RDTCa55gDMPm/1k/oaej8wzoSucy9MUPLaXOvZHTGyyfRyceJTKINvm/yPMxyh2XKOB1lG6RTBjJeP6jPodzNJ82/E4/8BrTIYfVkfRj4rQzF8foMQA3vI1tCl+sCJITWB9N3iFqsxcCKKOo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496852; c=relaxed/simple; bh=jo1ydT2hB6u1cx8n6xgWYmM/1GUAUgZV4IauZsWcOk0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N6HZJaHtx4aXjdmE40GJ3FpsuPiBJrDt6Yj/zWjH1gntZ4Z9+1Wn3krfUgdc57NOE8JTbJaO/Eyj0joO9RjNZ+20gJruugd0gxTKIxOTsFIRG/ebf+qq72IjoqNRkVN5zazTAq1n9iycqc04gYGHQbNH7D2L3XDUI+giqR2/okQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=T2x15mOz; arc=none smtp.client-ip=209.85.166.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="T2x15mOz" Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-85b4277d03fso43924439f.1 for ; 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=vger.kernel.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=T2x15mOz1CSO6ZORPg77Fz2K00aOoPBU5wKc1um9gmMd2RWyC+4qgc1m/N9Ctr6Lio 232pbeWRzCLGc1i+KqjMAhqigW3Ve6+clAK/vIDo3Wn+yPVY6a5bknNkexeB7X2/TG1z Dg2tRIScx43IfCzGY89icFN9DCv37PyzmD98n/TFX7L2zh+nYBwkeA3riPL7tifuBjpf J4eG0llN9VJvMW95wKIJZ7es6wsy8wlKwIo1ACo4Ncv+bLuSbl6K3J7qERkzgiaor/nf mfdt7xjG+PH1gJ9SG0tJ5GgpyuBNYDy4n7jpgtAu1myRoWUk2Q+kxjO3FPS59GqU1YR2 s+9g== 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=rqhNgelYbt/vcuJzafL/fFp4iFodfvC4ytnWiKfAaiSuvs/XApXvnxu2hmh7OYneeF 5/iLg/aivul596HFove7d/6AuufpeC2YPLNPp5T9kv1pJ/g+PSZWNOPW97ZHZNMiQrll S2adjbG3u51YH5y4h2lHvlcbOMoqx1iQVeQ8gKqWoZ0zwB6/6StcroaSHPhBC3Y3NmZc tmn+bEE8jNY/3i70IaDUVunsWG3GzVGrkg/5gvVhMv0pCSisZQuuWHzLoEou5TLkXVAP GrWpg5AeF0J85z1aTxMg6ZvKPlm15KoCj+CKegWnDLekLOmvMgW2dlm0S7s9DDFhvBG7 95kw== X-Gm-Message-State: AOJu0YyuCpA8WzAGgtqMWuqMaRl9oK+5zL8FWsr9lRqRXFghkwea0cW7 HvMT95Y0cdgWIlTuCkq1J0mOYfb81reWPM5hknI3umkbcqpLi4og1l8hTxeE X-Gm-Gg: ASbGncv6cQB7pQ5VCLsLh1xkrILXO3LoV6FtLc+FQ6iRPbgt+zCUJSuWFQALe2jChrC Id+i0kZOdgQTRFhkiske1nq33f1NYI802S9vFtZjpyVxlADXZt5HXE5IveVS90WDkJrtJ/8xsH7 z1AfjlTg0ItoZyVOwcVizhwhY/cj5wiVJuE8wlsxictSb1AUOIqQyMfND7BoEwxHXnP8QMJUoa9 F4vwpJqbnThjs/2Ux9r0ITnsxZE0LK2OLRCYKmp3Q5QgZq0+ZqQceX2RIm9KYIpRyPgYGxdy80z bilsnX4P0SE7T3xhXpdU72IdF+3f8TdQyoS2BFdo4GU4wIMxE4V6yBkapcStwsJtKAl1qO9icP6 FBg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The drm_gem_shmem_helper driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=3Dy 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_g= em_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 =20 MODULE_IMPORT_NS("DMA_BUF"); +DRM_CLASSMAP_USE(drm_debug_classes); =20 /** * DOC: overview --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3992C227B8E for ; Thu, 20 Mar 2025 18:54:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496852; cv=none; b=uQj/xKSNGcd3Y2tQRUwMgmV47JXZPogIaT9YrG0BGu94SdkI6SzseAIsS7I1+UETWFUaIedYrtzqGcRK+AR7g8WJI/ObOuOfo2/5wjpK2N7vHhA5F++UyOJkUM+3dsy8OCRvtDl+ZDpat/gdK78THFRcY6iQtOKseRoUKel0KpQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496852; c=relaxed/simple; bh=2hj07UwdhkVjVMyzWoCwFWPShBiCLBIyGVcsL78LCFs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bXYMuSe6HPQtYr3t9MRB6scZ6ObB4p51h+HNPQykad3naMiOYva3YryKDbvKdz9yMef8CuHBE+fKrVcpLHAF+ebkJMwhsWqvDKb4YN1MGr786miL8f4wxrUEoHA2kamkEHpaytnzx4nvYI60+RNQnulswm161kVtHELlWC4cyD8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LnH357E5; arc=none smtp.client-ip=209.85.166.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LnH357E5" Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-85da5a36679so109022739f.3 for ; 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=vger.kernel.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=LnH357E5aATLNc7FWU3AyA0CnWX76vsxMNdNHuTU/w5WjTQcC1JG8wjPA4QzfBQOFg abAozYwi14DkZSer9N5pRF6ISI0dQ/Qs1fIYQPP2uNzZNP9dIfYFaP3qZNXU6f7gcJHz iuolKWZTwzFMoONaNP3UNTw+7Qh7O8EV1q3eGLQ/lY+XG1YnQu29///FYd00PJ8QYJ5g o4SJaqogCBoM3WtCv8pWU9U0q++Lt18dutGoutmdea6O7Xd6p/a47Pd2hfP1P+zLGcVK cCj1HqKoOCvJf8fleUh5OGdcd5hNuVDhPFrZ8byjq5LgfgbokTmePcX5PTazKy6H1/nJ fTuw== 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=SP3KmvU5fFJiHLZNfhUWWIWWk5TA8utod5QzcD211hmloyvo6jwgAo6DKDztCXk/Fs A6Yp9H0PyurFl62rnn3PO9LIa7+8CHPM4oemu1ub636W2+izrllbVhcVu9ZHlpsYlrxh eT20VPcVHP1H5+lkLMbWxe5BGR+v7e4Z1YDWmlkoeApZKspiqaupqHAByr5jweF1ogSt mF9eNvF8I1sHJ1vJqLSuYmBTxu6d0wDFpaOI2CDwuSycd9AiIBqNlgU1k2OIo0D1cksp W/h5iOyWSgR07V2vx/pfKLLh3rTmnTFm8iLUInB9uy7/db0uGZSH8cb5VzZXkxj5Zv9r axfg== X-Gm-Message-State: AOJu0YxbVfG5Ur8XjbPVV6FfcVHgVYXnIHyXQ2dZOdaHGvLdbAOPcYyn 2TbZ9m0Z/kudM1OCMxtzJzz+ZAFOVd0ytCPveo7zkrRLwiRYTN4w39wOrCfF X-Gm-Gg: ASbGncvBJQRAXzwOLZ2rdkhoe8+yFb9aiyS3pz8wg90HXixO4N5w4eWHXXnHdC+rt77 RPq1Y6rwWUAq2uPhqOgD4xabr0h6j4/0VhCpsNDRDJ7rW+R4hGn/6gLuWjP7q6RJCc81/K+Jqzc FBkdmvPzF3egLXJ8468emIxyoN1smjLAbSThOlgePj/7S1JmlY83Wv4vdHcvXvmoAbGJzL0Nip3 SOM3VrJ4WnaYLGbJORmk0yVpRfIO1bslj0H2vJVIHKdJKweCkDE3Akp3Lxp72QOVk/95l/lrZ67 0rkCkbej4bKviTvbLErHobUjIrCK1sqU8zUBPFHu6OxkppXcUbH3FDH9uFPBa1e8j3PNjFGCfbm z6NNTM0KMvUP7 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =20 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 --=20 2.49.0 From nobody Thu Dec 18 23:00:19 2025 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8883624C062 for ; Thu, 20 Mar 2025 18:54:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496854; cv=none; b=k4t4Sbr1PBvYVBItDQNui9UX6sRBcB7wHOidOP1zupEkM/8LniyVDVh9JK8VYxOc3Nl9uf7bjFhguP6GWBnNapVD9gKpm/kI840NPWhf1lbCu87/ijCPQC+T/aPig1MtFpZfprR3WMXhPgR54pdjcIbtzvkcu0pK4lpk+n5fh2E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742496854; c=relaxed/simple; bh=ysvtgpv8Lzoof+7How0DiBM+y+vEotUTIOC5+Z4md5Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jU0BgX2+f/7vCHwS0FvLpplv1q1XX24lbTqibpohwO8Q25DY2hd0lpo77DxT0iB0RL1HApJ7L6tUJCj1RVjiwEFQgMMA2kkq1hgk6fRHB6GStd6kWMfa/VS/DPKry02N+z/dcHcqwl7VnwIP8dzuCEnD6jgzCN+0fHifUK32vvs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MTQfTeRS; arc=none smtp.client-ip=209.85.166.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MTQfTeRS" Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85ae4dc67e5so58339539f.2 for ; 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=vger.kernel.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=MTQfTeRS+/Q1W0wvLLzdrz22NJUiFN8iGORy9jhGbnaYou3vNBIdENgcvxGe3a+wX9 gGlZBPWolcAq+2Rcc2rB644qpuAsg8+1bdMKABIyy1G/VBkfvU2Lke/3Z04d6scKHXVM f1JfioyJaxU35ll6uZnaGMZbefVzQ5np5maCqG5E4wIh6/jcY06LNvrluIaEG911CpCk X+aTYX/582QppkQMbSwGLouANJnJClV7XPP7Z9Anc5Ke1GR/0e+Gce9uqlz6lDA/49IL H4L0y41okN44r5BV2V05z9+dAojpnkFoG8trOo2rj1RdLRolxndPFKII85qXIEZ+9HNZ iXvQ== 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=i57L+cP9XiGbMOtfJjP2jZp6Q0AkOtR0pI3Mf+YZp+7RFfU5N1F/QQkl6AM1JUJMRA ykO8qL8dizqoK0IDxr2m9PcqU7543/qUR9FWIqEK1B93tcVOAzuRisPz6IOh5Qlmd8h6 N690JSqduYCBbHhcdBrnHDRqE5shXD1uHBnIIgyWmJLpo0+my3L/TCca+6o5fd5ReJ0S dmptzjm8SoVJPyZxcwdwkN491USNfbm0BcgfRh3HOrBtrWTTZU61fh5hoa88/54iuwif FX2il7r0ef8Cgg5YWeccoSdRkk0ICoeobigcRYgxoCgrHQgq0KNYmyxkoUXnMJvdbnXi GF/g== X-Gm-Message-State: AOJu0YwGGw739lwBX3YBsVuE/VvcS2nIfDhkqN8bErQxonXoqI57PM5f J6owkhEQgJtpSC/jvBGp3AiuwnZoyZ4v2CXyRes+HP0Wsaz1kNAjX4npGaaX X-Gm-Gg: ASbGncvd7EYNg4o4pBNRIlwozaLwX4d8AHdP5BPR8n6RTeFLAntQ1rcC8IMwBuh7lyG iIcA9YqMxnHaS8oJ4/nj5bvrZ9Lq4tNU+n1ksAJQ8zifdvyIffBBVl69WpD+qXeEn2HsYMVWfK6 Q5TvTek0wxw64BLgM7wHNdiEKsRdkci01IlwElrdceh4p9OLmMb//W772S52M4kTYWHqudJontK H5qIyaB1noL1uMLwuoKUXUqVlEnhJw1zpaOEO6/ggXQ/Qn31Hi9D/KFZSgX1+1Dij7g24g9kVuo XDubezTqPfOhhtHnI1iTsQRIZzP+hNft5F41UkjFm7QIfoI3u7Rqg2+SQm3WA2Pcm3W+f4UGl/t 3Xg== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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) +=3D drm_dyndbg_user.o Attempt a foreach: to add $driver-y +=3D ../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) +=3D ../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 :=3D \ drm_vblank_work.o \ drm_vma_manager.o \ drm_writeback.o + drm-$(CONFIG_DRM_CLIENT) +=3D \ drm_client.o \ drm_client_event.o \ drm_client_modeset.o + drm-$(CONFIG_DRM_LIB_RANDOM) +=3D lib/drm_random.o drm-$(CONFIG_COMPAT) +=3D drm_ioc32.o drm-$(CONFIG_DRM_PANEL) +=3D drm_panel.o @@ -111,20 +113,25 @@ obj-$(CONFIG_DRM_BUDDY) +=3D drm_buddy.o drm_dma_helper-y :=3D drm_gem_dma_helper.o drm_dma_helper-$(CONFIG_DRM_FBDEV_EMULATION) +=3D drm_fbdev_dma.o drm_dma_helper-$(CONFIG_DRM_KMS_HELPER) +=3D drm_fb_dma_helper.o +drm_dma_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D drm_dyndbg_user.o obj-$(CONFIG_DRM_GEM_DMA_HELPER) +=3D drm_dma_helper.o =20 drm_shmem_helper-y :=3D drm_gem_shmem_helper.o drm_shmem_helper-$(CONFIG_DRM_FBDEV_EMULATION) +=3D drm_fbdev_shmem.o +drm_shmem_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D drm_dyndbg_user.o obj-$(CONFIG_DRM_GEM_SHMEM_HELPER) +=3D drm_shmem_helper.o =20 drm_suballoc_helper-y :=3D drm_suballoc.o +drm_suballoc_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D drm_dyndbg_user.o obj-$(CONFIG_DRM_SUBALLOC_HELPER) +=3D drm_suballoc_helper.o =20 drm_vram_helper-y :=3D drm_gem_vram_helper.o +drm_vram_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D drm_dyndbg_user.o obj-$(CONFIG_DRM_VRAM_HELPER) +=3D drm_vram_helper.o =20 drm_ttm_helper-y :=3D drm_gem_ttm_helper.o drm_ttm_helper-$(CONFIG_DRM_FBDEV_EMULATION) +=3D drm_fbdev_ttm.o +drm_ttm_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D drm_dyndbg_user.o obj-$(CONFIG_DRM_TTM_HELPER) +=3D drm_ttm_helper.o =20 # @@ -149,11 +156,13 @@ drm_kms_helper-y :=3D \ drm_simple_kms_helper.o drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) +=3D bridge/panel.o drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) +=3D drm_fb_helper.o +drm_kms_helper-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D drm_dyndbg_user.o obj-$(CONFIG_DRM_KMS_HELPER) +=3D drm_kms_helper.o =20 # # Drivers and the rest # +subdir-obj-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) +=3D drm_dyndbg_user.o =20 obj-y +=3D tests/ =20 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); --=20 2.49.0