All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jim Cromie <jim.cromie@gmail.com>
To: jbaron@akamai.com, gregkh@linuxfoundation.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	intel-gvt-dev@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: daniel.vetter@ffwll.ch, seanpaul@chromium.org,
	robdclark@gmail.com, linux@rasmusvillemoes.dk, joe@perches.com,
	Jim Cromie <jim.cromie@gmail.com>
Subject: [PATCH v6 25/57] drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro
Date: Sun,  4 Sep 2022 15:41:02 -0600	[thread overview]
Message-ID: <20220904214134.408619-26-jim.cromie@gmail.com> (raw)
In-Reply-To: <20220904214134.408619-1-jim.cromie@gmail.com>

For CONFIG_DRM_USE_DYNAMIC_DEBUG=y, wrap __drm_dbg() & __drm_dev_dbg()
in one of dyndbg's Factory macros: _dynamic_func_call_no_desc().

This adds the callsite descriptor into the code, and an entry for each
into /proc/dynamic_debug/control.

  #> echo class DRM_UT_ATOMIC +p > /proc/dynamic_debug/control

CONFIG_DRM_USE_DYNAMIC_DEBUG=y/n is configurable because of the .data
footprint cost of per-callsite control; 56 bytes/site * ~2k for i915,
~4k callsites for amdgpu.  This is large enough that a kernel builder
might not want it.

Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
---
 drivers/gpu/drm/Kconfig  | 12 ++++++++++++
 drivers/gpu/drm/Makefile |  2 ++
 include/drm/drm_print.h  | 12 ++++++++++++
 3 files changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 2f52e8941074..3b75c286f14f 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -51,6 +51,18 @@ config DRM_DEBUG_MM
 
 	  If in doubt, say "N".
 
+config DRM_USE_DYNAMIC_DEBUG
+	bool "use dynamic debug to implement drm.debug"
+	default y
+	depends on DRM
+	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
+	depends on JUMP_LABEL
+	help
+	  Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
+	  Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
+	  bytes per callsite, the .data costs can be substantial, and
+	  are therefore configurable.
+
 config DRM_KUNIT_TEST
 	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
 	depends on DRM && KUNIT
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 25d0ba310509..0b283e46f28b 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -3,6 +3,8 @@
 # Makefile for the drm device driver.  This driver provides support for the
 # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
 
+CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG)	+= -DDYNAMIC_DEBUG_MODULE
+
 drm-y       :=	drm_aperture.o drm_auth.o drm_cache.o \
 		drm_file.o drm_gem.o drm_ioctl.o \
 		drm_drv.o \
diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index c429c258c957..2d2cef76b5c1 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -384,8 +384,14 @@ void __drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
 	}								\
 })
 
+#if !defined(CONFIG_DRM_USE_DYNAMIC_DEBUG)
 #define drm_dev_dbg(dev, cat, fmt, ...)				\
 	__drm_dev_dbg(dev, cat, fmt, ##__VA_ARGS__)
+#else
+#define drm_dev_dbg(dev, cat, fmt, ...)				\
+	_dynamic_func_call_no_desc(fmt, __drm_dev_dbg,			\
+				   dev, cat, fmt, ##__VA_ARGS__)
+#endif
 
 /**
  * DRM_DEV_DEBUG() - Debug output for generic drm code
@@ -492,7 +498,13 @@ void ___drm_dbg(enum drm_debug_category category, const char *format, ...);
 __printf(1, 2)
 void __drm_err(const char *format, ...);
 
+#if !defined(CONFIG_DRM_USE_DYNAMIC_DEBUG)
 #define __drm_dbg(fmt, ...)		___drm_dbg(fmt, ##__VA_ARGS__)
+#else
+#define __drm_dbg(cat, fmt, ...)					\
+	_dynamic_func_call_no_desc(fmt, ___drm_dbg,			\
+				   cat, fmt, ##__VA_ARGS__)
+#endif
 
 /* Macros to make printk easier */
 
-- 
2.37.2


WARNING: multiple messages have this Message-ID (diff)
From: Jim Cromie <jim.cromie@gmail.com>
To: jbaron@akamai.com, gregkh@linuxfoundation.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	intel-gvt-dev@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: daniel.vetter@ffwll.ch, linux@rasmusvillemoes.dk,
	seanpaul@chromium.org, joe@perches.com
Subject: [PATCH v6 25/57] drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro
Date: Sun,  4 Sep 2022 15:41:02 -0600	[thread overview]
Message-ID: <20220904214134.408619-26-jim.cromie@gmail.com> (raw)
In-Reply-To: <20220904214134.408619-1-jim.cromie@gmail.com>

For CONFIG_DRM_USE_DYNAMIC_DEBUG=y, wrap __drm_dbg() & __drm_dev_dbg()
in one of dyndbg's Factory macros: _dynamic_func_call_no_desc().

This adds the callsite descriptor into the code, and an entry for each
into /proc/dynamic_debug/control.

  #> echo class DRM_UT_ATOMIC +p > /proc/dynamic_debug/control

CONFIG_DRM_USE_DYNAMIC_DEBUG=y/n is configurable because of the .data
footprint cost of per-callsite control; 56 bytes/site * ~2k for i915,
~4k callsites for amdgpu.  This is large enough that a kernel builder
might not want it.

Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
---
 drivers/gpu/drm/Kconfig  | 12 ++++++++++++
 drivers/gpu/drm/Makefile |  2 ++
 include/drm/drm_print.h  | 12 ++++++++++++
 3 files changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 2f52e8941074..3b75c286f14f 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -51,6 +51,18 @@ config DRM_DEBUG_MM
 
 	  If in doubt, say "N".
 
+config DRM_USE_DYNAMIC_DEBUG
+	bool "use dynamic debug to implement drm.debug"
+	default y
+	depends on DRM
+	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
+	depends on JUMP_LABEL
+	help
+	  Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
+	  Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
+	  bytes per callsite, the .data costs can be substantial, and
+	  are therefore configurable.
+
 config DRM_KUNIT_TEST
 	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
 	depends on DRM && KUNIT
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 25d0ba310509..0b283e46f28b 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -3,6 +3,8 @@
 # Makefile for the drm device driver.  This driver provides support for the
 # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
 
+CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG)	+= -DDYNAMIC_DEBUG_MODULE
+
 drm-y       :=	drm_aperture.o drm_auth.o drm_cache.o \
 		drm_file.o drm_gem.o drm_ioctl.o \
 		drm_drv.o \
diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index c429c258c957..2d2cef76b5c1 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -384,8 +384,14 @@ void __drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
 	}								\
 })
 
+#if !defined(CONFIG_DRM_USE_DYNAMIC_DEBUG)
 #define drm_dev_dbg(dev, cat, fmt, ...)				\
 	__drm_dev_dbg(dev, cat, fmt, ##__VA_ARGS__)
+#else
+#define drm_dev_dbg(dev, cat, fmt, ...)				\
+	_dynamic_func_call_no_desc(fmt, __drm_dev_dbg,			\
+				   dev, cat, fmt, ##__VA_ARGS__)
+#endif
 
 /**
  * DRM_DEV_DEBUG() - Debug output for generic drm code
@@ -492,7 +498,13 @@ void ___drm_dbg(enum drm_debug_category category, const char *format, ...);
 __printf(1, 2)
 void __drm_err(const char *format, ...);
 
+#if !defined(CONFIG_DRM_USE_DYNAMIC_DEBUG)
 #define __drm_dbg(fmt, ...)		___drm_dbg(fmt, ##__VA_ARGS__)
+#else
+#define __drm_dbg(cat, fmt, ...)					\
+	_dynamic_func_call_no_desc(fmt, ___drm_dbg,			\
+				   cat, fmt, ##__VA_ARGS__)
+#endif
 
 /* Macros to make printk easier */
 
-- 
2.37.2


WARNING: multiple messages have this Message-ID (diff)
From: Jim Cromie <jim.cromie@gmail.com>
To: jbaron@akamai.com, gregkh@linuxfoundation.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	intel-gvt-dev@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: Jim Cromie <jim.cromie@gmail.com>,
	daniel.vetter@ffwll.ch, linux@rasmusvillemoes.dk,
	seanpaul@chromium.org, joe@perches.com
Subject: [Intel-gfx] [PATCH v6 25/57] drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro
Date: Sun,  4 Sep 2022 15:41:02 -0600	[thread overview]
Message-ID: <20220904214134.408619-26-jim.cromie@gmail.com> (raw)
In-Reply-To: <20220904214134.408619-1-jim.cromie@gmail.com>

For CONFIG_DRM_USE_DYNAMIC_DEBUG=y, wrap __drm_dbg() & __drm_dev_dbg()
in one of dyndbg's Factory macros: _dynamic_func_call_no_desc().

This adds the callsite descriptor into the code, and an entry for each
into /proc/dynamic_debug/control.

  #> echo class DRM_UT_ATOMIC +p > /proc/dynamic_debug/control

CONFIG_DRM_USE_DYNAMIC_DEBUG=y/n is configurable because of the .data
footprint cost of per-callsite control; 56 bytes/site * ~2k for i915,
~4k callsites for amdgpu.  This is large enough that a kernel builder
might not want it.

Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
---
 drivers/gpu/drm/Kconfig  | 12 ++++++++++++
 drivers/gpu/drm/Makefile |  2 ++
 include/drm/drm_print.h  | 12 ++++++++++++
 3 files changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 2f52e8941074..3b75c286f14f 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -51,6 +51,18 @@ config DRM_DEBUG_MM
 
 	  If in doubt, say "N".
 
+config DRM_USE_DYNAMIC_DEBUG
+	bool "use dynamic debug to implement drm.debug"
+	default y
+	depends on DRM
+	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
+	depends on JUMP_LABEL
+	help
+	  Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
+	  Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
+	  bytes per callsite, the .data costs can be substantial, and
+	  are therefore configurable.
+
 config DRM_KUNIT_TEST
 	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
 	depends on DRM && KUNIT
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 25d0ba310509..0b283e46f28b 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -3,6 +3,8 @@
 # Makefile for the drm device driver.  This driver provides support for the
 # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
 
+CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG)	+= -DDYNAMIC_DEBUG_MODULE
+
 drm-y       :=	drm_aperture.o drm_auth.o drm_cache.o \
 		drm_file.o drm_gem.o drm_ioctl.o \
 		drm_drv.o \
diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index c429c258c957..2d2cef76b5c1 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -384,8 +384,14 @@ void __drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
 	}								\
 })
 
+#if !defined(CONFIG_DRM_USE_DYNAMIC_DEBUG)
 #define drm_dev_dbg(dev, cat, fmt, ...)				\
 	__drm_dev_dbg(dev, cat, fmt, ##__VA_ARGS__)
+#else
+#define drm_dev_dbg(dev, cat, fmt, ...)				\
+	_dynamic_func_call_no_desc(fmt, __drm_dev_dbg,			\
+				   dev, cat, fmt, ##__VA_ARGS__)
+#endif
 
 /**
  * DRM_DEV_DEBUG() - Debug output for generic drm code
@@ -492,7 +498,13 @@ void ___drm_dbg(enum drm_debug_category category, const char *format, ...);
 __printf(1, 2)
 void __drm_err(const char *format, ...);
 
+#if !defined(CONFIG_DRM_USE_DYNAMIC_DEBUG)
 #define __drm_dbg(fmt, ...)		___drm_dbg(fmt, ##__VA_ARGS__)
+#else
+#define __drm_dbg(cat, fmt, ...)					\
+	_dynamic_func_call_no_desc(fmt, ___drm_dbg,			\
+				   cat, fmt, ##__VA_ARGS__)
+#endif
 
 /* Macros to make printk easier */
 
-- 
2.37.2


WARNING: multiple messages have this Message-ID (diff)
From: Jim Cromie <jim.cromie@gmail.com>
To: jbaron@akamai.com, gregkh@linuxfoundation.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	intel-gvt-dev@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: Jim Cromie <jim.cromie@gmail.com>,
	daniel.vetter@ffwll.ch, linux@rasmusvillemoes.dk,
	robdclark@gmail.com, seanpaul@chromium.org, joe@perches.com
Subject: [PATCH v6 25/57] drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro
Date: Sun,  4 Sep 2022 15:41:02 -0600	[thread overview]
Message-ID: <20220904214134.408619-26-jim.cromie@gmail.com> (raw)
In-Reply-To: <20220904214134.408619-1-jim.cromie@gmail.com>

For CONFIG_DRM_USE_DYNAMIC_DEBUG=y, wrap __drm_dbg() & __drm_dev_dbg()
in one of dyndbg's Factory macros: _dynamic_func_call_no_desc().

This adds the callsite descriptor into the code, and an entry for each
into /proc/dynamic_debug/control.

  #> echo class DRM_UT_ATOMIC +p > /proc/dynamic_debug/control

CONFIG_DRM_USE_DYNAMIC_DEBUG=y/n is configurable because of the .data
footprint cost of per-callsite control; 56 bytes/site * ~2k for i915,
~4k callsites for amdgpu.  This is large enough that a kernel builder
might not want it.

Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
---
 drivers/gpu/drm/Kconfig  | 12 ++++++++++++
 drivers/gpu/drm/Makefile |  2 ++
 include/drm/drm_print.h  | 12 ++++++++++++
 3 files changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 2f52e8941074..3b75c286f14f 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -51,6 +51,18 @@ config DRM_DEBUG_MM
 
 	  If in doubt, say "N".
 
+config DRM_USE_DYNAMIC_DEBUG
+	bool "use dynamic debug to implement drm.debug"
+	default y
+	depends on DRM
+	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
+	depends on JUMP_LABEL
+	help
+	  Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
+	  Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
+	  bytes per callsite, the .data costs can be substantial, and
+	  are therefore configurable.
+
 config DRM_KUNIT_TEST
 	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
 	depends on DRM && KUNIT
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 25d0ba310509..0b283e46f28b 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -3,6 +3,8 @@
 # Makefile for the drm device driver.  This driver provides support for the
 # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
 
+CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG)	+= -DDYNAMIC_DEBUG_MODULE
+
 drm-y       :=	drm_aperture.o drm_auth.o drm_cache.o \
 		drm_file.o drm_gem.o drm_ioctl.o \
 		drm_drv.o \
diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index c429c258c957..2d2cef76b5c1 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -384,8 +384,14 @@ void __drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
 	}								\
 })
 
+#if !defined(CONFIG_DRM_USE_DYNAMIC_DEBUG)
 #define drm_dev_dbg(dev, cat, fmt, ...)				\
 	__drm_dev_dbg(dev, cat, fmt, ##__VA_ARGS__)
+#else
+#define drm_dev_dbg(dev, cat, fmt, ...)				\
+	_dynamic_func_call_no_desc(fmt, __drm_dev_dbg,			\
+				   dev, cat, fmt, ##__VA_ARGS__)
+#endif
 
 /**
  * DRM_DEV_DEBUG() - Debug output for generic drm code
@@ -492,7 +498,13 @@ void ___drm_dbg(enum drm_debug_category category, const char *format, ...);
 __printf(1, 2)
 void __drm_err(const char *format, ...);
 
+#if !defined(CONFIG_DRM_USE_DYNAMIC_DEBUG)
 #define __drm_dbg(fmt, ...)		___drm_dbg(fmt, ##__VA_ARGS__)
+#else
+#define __drm_dbg(cat, fmt, ...)					\
+	_dynamic_func_call_no_desc(fmt, ___drm_dbg,			\
+				   cat, fmt, ##__VA_ARGS__)
+#endif
 
 /* Macros to make printk easier */
 
-- 
2.37.2


  parent reply	other threads:[~2022-09-04 21:44 UTC|newest]

Thread overview: 295+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-04 21:40 [PATCH v6 00/57] DYNDBG: opt-in class'd debug for modules, use in drm Jim Cromie
2022-09-04 21:40 ` Jim Cromie
2022-09-04 21:40 ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40 ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 01/57] dyndbg: fix static_branch manipulation Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 02/57] dyndbg: fix module.dyndbg handling Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40 ` [PATCH v6 03/57] dyndbg: show both old and new in change-info Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 04/57] dyndbg: reverse module walk in cat control Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40 ` [PATCH v6 05/57] dyndbg: reverse module.callsite " Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 06/57] dyndbg: use ESCAPE_SPACE for " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 07/57] dyndbg: let query-modname override actual module name Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40 ` [PATCH v6 08/57] dyndbg: add test_dynamic_debug module Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40 ` [PATCH v6 09/57] dyndbg: drop EXPORTed dynamic_debug_exec_queries Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 10/57] dyndbg: cleanup auto vars in dynamic_debug_init Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-07 14:10   ` Jason Baron
2022-09-07 14:10     ` [Intel-gfx] " Jason Baron
2022-09-07 14:10     ` Jason Baron
2022-09-07 14:10     ` Jason Baron
2022-09-04 21:40 ` [PATCH v6 11/57] dyndbg: gather __dyndbg[] state into struct _ddebug_info Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 12/57] dyndbg: add class_id to pr_debug callsites Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 13/57] dyndbg: add __pr_debug_cls for testing Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40 ` [PATCH v6 14/57] dyndbg: add DECLARE_DYNDBG_CLASSMAP macro Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 15/57] kernel/module: add __dyndbg_classes section Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40 ` [PATCH v6 16/57] dyndbg: add ddebug_attach_module_classes Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 17/57] dyndbg: validate class FOO by checking with module Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-07 18:19   ` Jason Baron
2022-09-07 18:19     ` [Intel-gfx] " Jason Baron
2022-09-07 18:19     ` Jason Baron
2022-09-07 18:19     ` Jason Baron
2022-09-09 20:44     ` jim.cromie
2022-09-09 20:44       ` jim.cromie
2022-09-09 20:44       ` [Intel-gfx] " jim.cromie
2022-09-09 20:44       ` jim.cromie
2022-09-12 20:17       ` Jason Baron
2022-09-12 20:17         ` [Intel-gfx] " Jason Baron
2022-09-12 20:17         ` Jason Baron
2022-09-12 20:17         ` Jason Baron
2022-09-12 22:08         ` jim.cromie
2022-09-12 22:08           ` [Intel-gfx] " jim.cromie
2022-09-12 22:08           ` jim.cromie
2022-09-12 22:08           ` jim.cromie
2022-09-04 21:40 ` [PATCH v6 18/57] doc-dyndbg: describe "class CLASS_NAME" query support Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 19/57] doc-dyndbg: edit dynamic-debug-howto for brevity, audience Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 20/57] dyndbg: add drm.debug style (drm/parameters/debug) bitmap support Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40 ` [PATCH v6 21/57] dyndbg: test DECLARE_DYNDBG_CLASSMAP, sysfs nodes Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-07 14:54   ` Greg KH
2022-09-07 14:54     ` Greg KH
2022-09-07 14:54     ` Greg KH
2022-09-07 14:54     ` [Intel-gfx] " Greg KH
2022-09-07 14:57     ` Greg KH
2022-09-07 14:57       ` Greg KH
2022-09-07 14:57       ` [Intel-gfx] " Greg KH
2022-09-07 14:57       ` Greg KH
2022-09-04 21:40 ` [PATCH v6 22/57] drm_print: condense enum drm_debug_category Jim Cromie
2022-09-04 21:40   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-04 21:40   ` Jim Cromie
2022-09-07  6:09   ` [Intel-gfx] " Daniel Vetter
2022-09-07  6:09     ` Daniel Vetter
2022-09-07  6:09     ` Daniel Vetter
2022-09-07  6:09     ` Daniel Vetter
2022-09-04 21:41 ` [PATCH v6 23/57] drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-07  6:13   ` Daniel Vetter
2022-09-07  6:13     ` Daniel Vetter
2022-09-07  6:13     ` [Intel-gfx] " Daniel Vetter
2022-09-07  6:13     ` Daniel Vetter
2022-09-09 19:06     ` jim.cromie
2022-09-09 19:06       ` [Intel-gfx] " jim.cromie
2022-09-09 19:06       ` jim.cromie
2022-09-04 21:41 ` [PATCH v6 24/57] drm_print: interpose drm_*dbg with forwarding macros Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` Jim Cromie [this message]
2022-09-04 21:41   ` [PATCH v6 25/57] drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 26/57] drm-print.h: include dyndbg header Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 27/57] drm-print: add drm_dbg_driver to improve namespace symmetry Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 28/57] drm_print: refine drm_debug_enabled for jump-label Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-07  6:40   ` Daniel Vetter
2022-09-07  6:40     ` Daniel Vetter
2022-09-07  6:40     ` [Intel-gfx] " Daniel Vetter
2022-09-07  6:40     ` Daniel Vetter
2022-09-09 23:42     ` jim.cromie
2022-09-09 23:42       ` [Intel-gfx] " jim.cromie
2022-09-04 21:41 ` [PATCH v6 29/57] drm_print: prefer bare printk KERN_DEBUG on generic fn Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 30/57] drm_print: add _ddebug descriptor to drm_*dbg prototypes Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41 ` [PATCH v6 31/57] nouveau: change nvkm_debug/trace to use dev_dbg POC Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 32/57] nouveau: adapt NV_DEBUG, NV_ATOMIC to use DRM.debug Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2023-03-06 18:49   ` Timur Tabi
2023-03-06 18:49     ` [Intel-gfx] " Timur Tabi
2023-03-06 18:49     ` Timur Tabi
2023-03-07  5:10     ` jim.cromie
2023-03-07  5:10       ` [Intel-gfx] " jim.cromie
2023-03-07  5:10       ` jim.cromie
2022-09-04 21:41 ` [PATCH v6 33/57] nouveau: WIP add 2 LEVEL_NUM classmaps for CLI, SUBDEV Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41 ` [PATCH v6 34/57] dyndbg: add _DPRINTK_FLAGS_ENABLED Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41 ` [PATCH v6 35/57] dyndbg: add _DPRINTK_FLAGS_TRACE Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 36/57] dyndbg: add write-events-to-tracefs code Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 37/57] dyndbg: add 2 trace-events: drm_debug, drm_devdbg Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 38/57] dyndbg: add 2 more trace-events: pr_debug, dev_dbg Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 39/57] dyndbg/drm: POC add tracebits sysfs-knob Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-07  6:59   ` Daniel Vetter
2022-09-07  6:59     ` [Intel-gfx] " Daniel Vetter
2022-09-07  6:59     ` Daniel Vetter
2022-09-07  6:59     ` Daniel Vetter
2022-09-04 21:41 ` [PATCH v6 40/57] dyndbg: abstraction macros for modname,function,filename fields Jim Cromie
2022-09-04 21:41   ` [PATCH v6 40/57] dyndbg: abstraction macros for modname, function, filename fields Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 41/57] dyndbg: split repeating columns to new struct _ddebug_site Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41 ` [PATCH v6 42/57] dyndbg: shrink lineno field by 2 bits Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 43/57] dyndbg: add _index,_map to struct _ddebug Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] [PATCH v6 43/57] dyndbg: add _index, _map " Jim Cromie
2022-09-04 21:41   ` [PATCH v6 43/57] dyndbg: add _index,_map " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 44/57] dyndbg: extend __ddebug_add_module proto to allow packing sites Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41 ` [PATCH v6 45/57] dyndbg: de-duplicate sites Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 46/57] dyndbg: drop site-> in add-module, more needed Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41 ` [PATCH v6 47/57] dyndbg: demote iter->site in _init Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 48/57] dyndbg: add .gnu.linkonce slot in vmlinux.lds.h KEEPs Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 49/57] dyndbg: add structs _ddebug_hdr, _ddebug_site_hdr Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 50/57] dyndbg: count unique callsites Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 51/57] dyndbg: prevent build bugs via -DNO_DYNAMIC_DEBUG_TABLE Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 52/57] dyndbg: add DEFINE_DYNAMIC_DEBUG_TABLE, use it tacitly RFC Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 53/57] dyndbg: add/use is_dyndbg_header then set _uplink Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 54/57] dyndbg: add .gnu.linkonce. & __dyndbg* sections in module.lds.h Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 55/57] dyndbg: dynamic_debug_sites_reclaim() using free_reserved_page() WAG Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 56/57] dyndbg: work ddebug_map_site Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41 ` [PATCH v6 57/57] dyndbg: fiddle with readback value on LEVEL_NAMES types Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` Jim Cromie
2022-09-04 21:41   ` [Intel-gfx] " Jim Cromie
2022-09-04 22:04 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for DYNDBG: opt-in class'd debug for modules, use in drm. (rev4) Patchwork
2022-09-04 22:04 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-09-04 22:22 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-09-04 23:32 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2022-09-07 15:08 ` [Intel-gfx] [PATCH v6 00/57] DYNDBG: opt-in class'd debug for modules, use in drm Greg KH
2022-09-07 15:08   ` Greg KH
2022-09-07 15:08   ` Greg KH
2022-09-07 15:08   ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220904214134.408619-26-jim.cromie@gmail.com \
    --to=jim.cromie@gmail.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-gvt-dev@lists.freedesktop.org \
    --cc=jbaron@akamai.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=robdclark@gmail.com \
    --cc=seanpaul@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.