All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/22] various dynamic_debug patches
@ 2018-09-19 22:04 Rasmus Villemoes
  2018-09-19 22:04 ` [PATCH 01/22] linux/device.h: use DYNAMIC_DEBUG_BRANCH in dev_dbg_ratelimited Rasmus Villemoes
                   ` (24 more replies)
  0 siblings, 25 replies; 107+ messages in thread
From: Rasmus Villemoes @ 2018-09-19 22:04 UTC (permalink / raw)
  To: Jason Baron, Andrew Morton
  Cc: linux-kernel, Rasmus Villemoes, Greg Kroah-Hartman, netdev,
	Petr Mladek, Steven Rostedt, linux-btrfs, linux-acpi, x86

This started as an experiment to see how hard it would be to change
the four pointers in struct _ddebug into relative offsets, a la
CONFIG_GENERIC_BUG_RELATIVE_POINTERS, thus saving 16 bytes per
pr_debug site (and thus exactly making up for the extra space used by
the introduction of jump labels in 9049fc74). I stumbled on a few
things that are probably worth fixing regardless of whether the latter
half of this series is deemed worthwhile.

Patch relationships: 1-2, 3-4, 5-6 and 15-16 can be applied
individually, though 2, 4 and 6 probably makes most sense in the
context of the final goal of the series.

7-12 I believe make sense on their own. Patch 13 again only makes
sense if we go all the way, and 14 and 17 depend on 13.

18-21 are more preparatory patches, and finally 22 switch over x86-64
to use CONFIG_DYNAMIC_DEBUG_RELATIVE_POINTERS. I've tested that the
end result boots under virtme and that the dynamic_debug control file
has the expected contents.

Rasmus Villemoes (22):
  linux/device.h: use DYNAMIC_DEBUG_BRANCH in dev_dbg_ratelimited
  linux/device.h: use unique identifier for each struct _ddebug
  linux/net.h: use DYNAMIC_DEBUG_BRANCH in net_dbg_ratelimited
  linux/net.h: use unique identifier for each struct _ddebug
  linux/printk.h: use DYNAMIC_DEBUG_BRANCH in pr_debug_ratelimited
  linux/printk.h: use unique identifier for each struct _ddebug
  dynamic_debug: consolidate DEFINE_DYNAMIC_DEBUG_METADATA definitions
  dynamic_debug: don't duplicate modname in ddebug_add_module
  dynamic_debug: use pointer comparison in ddebug_remove_module
  dynamic_debug: remove unused EXPORT_SYMBOLs
  dynamic_debug: move pr_err from module.c to ddebug_add_module
  dynamic_debug: add static inline stub for ddebug_add_module
  dynamic_debug: refactor dynamic_pr_debug and friends
  btrfs: implement btrfs_debug* in terms of helper macro
  ACPI: use proper DYNAMIC_DEBUG_BRANCH macro
  ACPI: remove unused __acpi_handle_debug macro
  ACPI: implement acpi_handle_debug in terms of _dynamic_func_call
  dynamic_debug: introduce accessors for string members of struct
    _ddebug
  dynamic_debug: drop use of bitfields in struct _ddebug
  dynamic_debug: introduce CONFIG_DYNAMIC_DEBUG_RELATIVE_POINTERS
  x86: jump_label: introduce ASM_STATIC_KEY_INIT_{TRUE,FALSE}
  x86_64: use relative pointers with dynamic debug

 arch/x86/Kconfig                     |   1 +
 arch/x86/include/asm/dynamic_debug.h |  35 +++++++++
 arch/x86/include/asm/jump_label.h    |  18 +++++
 fs/btrfs/ctree.h                     |  34 +++------
 include/linux/acpi.h                 |  11 +--
 include/linux/device.h               |   6 +-
 include/linux/dynamic_debug.h        | 126 +++++++++++++++++++--------------
 include/linux/jump_label.h           |   2 +
 include/linux/net.h                  |   6 +-
 include/linux/printk.h               |   6 +-
 kernel/module.c                      |   6 +-
 lib/Kconfig.debug                    |   3 +
 lib/dynamic_debug.c                  | 133 ++++++++++++++++++++++++-----------
 13 files changed, 251 insertions(+), 136 deletions(-)
 create mode 100644 arch/x86/include/asm/dynamic_debug.h

-- 
2.16.4

^ permalink raw reply	[flat|nested] 107+ messages in thread

end of thread, other threads:[~2019-02-12 21:43 UTC | newest]

Thread overview: 107+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-19 22:04 [PATCH 00/22] various dynamic_debug patches Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 01/22] linux/device.h: use DYNAMIC_DEBUG_BRANCH in dev_dbg_ratelimited Rasmus Villemoes
2018-09-20  8:47   ` Greg Kroah-Hartman
2018-09-19 22:04 ` [PATCH 02/22] linux/device.h: use unique identifier for each struct _ddebug Rasmus Villemoes
2018-09-20  8:47   ` Greg Kroah-Hartman
2018-09-19 22:04 ` [PATCH 03/22] linux/net.h: use DYNAMIC_DEBUG_BRANCH in net_dbg_ratelimited Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 04/22] linux/net.h: use unique identifier for each struct _ddebug Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 05/22] linux/printk.h: use DYNAMIC_DEBUG_BRANCH in pr_debug_ratelimited Rasmus Villemoes
2018-09-27  7:52   ` Petr Mladek
2018-09-19 22:04 ` [PATCH 06/22] linux/printk.h: use unique identifier for each struct _ddebug Rasmus Villemoes
2018-09-27  8:22   ` Petr Mladek
2018-09-27  8:41     ` Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 07/22] dynamic_debug: consolidate DEFINE_DYNAMIC_DEBUG_METADATA definitions Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 08/22] dynamic_debug: don't duplicate modname in ddebug_add_module Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 09/22] dynamic_debug: use pointer comparison in ddebug_remove_module Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 10/22] dynamic_debug: remove unused EXPORT_SYMBOLs Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 11/22] dynamic_debug: move pr_err from module.c to ddebug_add_module Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 12/22] dynamic_debug: add static inline stub for ddebug_add_module Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 13/22] dynamic_debug: refactor dynamic_pr_debug and friends Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 14/22] btrfs: implement btrfs_debug* in terms of helper macro Rasmus Villemoes
2018-09-20 13:10   ` David Sterba
2018-09-20 14:11     ` Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 15/22] ACPI: use proper DYNAMIC_DEBUG_BRANCH macro Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 16/22] ACPI: remove unused __acpi_handle_debug macro Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 17/22] ACPI: implement acpi_handle_debug in terms of _dynamic_func_call Rasmus Villemoes
2018-09-20  8:05   ` Rafael J. Wysocki
2018-09-19 22:04 ` [PATCH 18/22] dynamic_debug: introduce accessors for string members of struct _ddebug Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 19/22] dynamic_debug: drop use of bitfields in " Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 20/22] dynamic_debug: introduce CONFIG_DYNAMIC_DEBUG_RELATIVE_POINTERS Rasmus Villemoes
2018-09-19 22:04 ` [PATCH 21/22] x86: jump_label: introduce ASM_STATIC_KEY_INIT_{TRUE,FALSE} Rasmus Villemoes
2018-10-02  8:21   ` Rasmus Villemoes
2018-10-02  9:48   ` Ingo Molnar
2018-09-19 22:04 ` [PATCH 22/22] x86_64: use relative pointers with dynamic debug Rasmus Villemoes
2018-09-20 10:56   ` [PATCH 23/22] x86: dynamic_debug: protect against dynamic debug identifier reuse Rasmus Villemoes
2018-10-02  9:50   ` [PATCH 22/22] x86_64: use relative pointers with dynamic debug Ingo Molnar
2018-10-03 21:40     ` Rasmus Villemoes
2018-09-20  8:05 ` [PATCH 00/22] various dynamic_debug patches Rafael J. Wysocki
2018-10-03  9:25   ` Rafael J. Wysocki
2018-09-22  0:27 ` Jason Baron
2018-10-09 11:19 ` [PATCH v2 00/23] " Rasmus Villemoes
2018-10-09 11:19   ` [PATCH v2 01/23] linux/device.h: use DYNAMIC_DEBUG_BRANCH in dev_dbg_ratelimited Rasmus Villemoes
2018-10-09 11:19   ` [PATCH v2 02/23] linux/device.h: use unique identifier for each struct _ddebug Rasmus Villemoes
2018-10-09 11:19   ` [PATCH v2 03/23] linux/net.h: use DYNAMIC_DEBUG_BRANCH in net_dbg_ratelimited Rasmus Villemoes
2018-10-09 11:19   ` [PATCH v2 04/23] linux/net.h: use unique identifier for each struct _ddebug Rasmus Villemoes
2018-10-09 11:19   ` [PATCH v2 05/23] linux/printk.h: use DYNAMIC_DEBUG_BRANCH in pr_debug_ratelimited Rasmus Villemoes
2018-10-09 11:19   ` [PATCH v2 06/23] linux/printk.h: use unique identifier for each struct _ddebug Rasmus Villemoes
2018-10-09 11:19   ` [PATCH v2 07/23] dynamic_debug: consolidate DEFINE_DYNAMIC_DEBUG_METADATA definitions Rasmus Villemoes
2018-10-09 11:19   ` [PATCH v2 08/23] dynamic_debug: don't duplicate modname in ddebug_add_module Rasmus Villemoes
2018-10-09 11:19   ` [PATCH v2 09/23] dynamic_debug: use pointer comparison in ddebug_remove_module Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 10/23] dynamic_debug: remove unused EXPORT_SYMBOLs Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 11/23] dynamic_debug: move pr_err from module.c to ddebug_add_module Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 12/23] dynamic_debug: add static inline stub for ddebug_add_module Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 13/23] dynamic_debug: refactor dynamic_pr_debug and friends Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 14/23] btrfs: implement btrfs_debug* in terms of helper macro Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 15/23] ACPI: use proper DYNAMIC_DEBUG_BRANCH macro Rasmus Villemoes
2018-10-10  9:38     ` Rafael J. Wysocki
2018-10-09 11:20   ` [PATCH v2 16/23] ACPI: remove unused __acpi_handle_debug macro Rasmus Villemoes
2018-10-10  9:38     ` Rafael J. Wysocki
2018-10-09 11:20   ` [PATCH v2 17/23] ACPI: implement acpi_handle_debug in terms of _dynamic_func_call Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 18/23] dynamic_debug: introduce accessors for string members of struct _ddebug Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 19/23] dynamic_debug: drop use of bitfields in " Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 20/23] dynamic_debug: introduce CONFIG_DYNAMIC_DEBUG_RELATIVE_POINTERS Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 21/23] x86: jump_label: introduce ASM_STATIC_KEY_INIT_{TRUE,FALSE} Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 22/23] x86_64: use relative pointers with dynamic debug Rasmus Villemoes
2018-10-09 11:20   ` [PATCH v2 23/23] x86: dynamic_debug: protect against dynamic debug identifier reuse Rasmus Villemoes
2018-10-10  9:37   ` [PATCH v2 00/23] various dynamic_debug patches Rafael J. Wysocki
2018-11-09 23:09   ` [PATCH v3 " Rasmus Villemoes
2018-11-09 23:09     ` [PATCH v3 01/23] linux/device.h: use DYNAMIC_DEBUG_BRANCH in dev_dbg_ratelimited Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 02/23] linux/device.h: use unique identifier for each struct _ddebug Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 03/23] linux/net.h: use DYNAMIC_DEBUG_BRANCH in net_dbg_ratelimited Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 04/23] linux/net.h: use unique identifier for each struct _ddebug Rasmus Villemoes
2018-11-09 23:22       ` Joe Perches
2018-11-09 23:31         ` Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 05/23] linux/printk.h: use DYNAMIC_DEBUG_BRANCH in pr_debug_ratelimited Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 06/23] linux/printk.h: use unique identifier for each struct _ddebug Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 07/23] dynamic_debug: consolidate DEFINE_DYNAMIC_DEBUG_METADATA definitions Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 08/23] dynamic_debug: don't duplicate modname in ddebug_add_module Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 09/23] dynamic_debug: use pointer comparison in ddebug_remove_module Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 10/23] dynamic_debug: remove unused EXPORT_SYMBOLs Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 11/23] dynamic_debug: move pr_err from module.c to ddebug_add_module Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 12/23] dynamic_debug: add static inline stub for ddebug_add_module Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 13/23] dynamic_debug: refactor dynamic_pr_debug and friends Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 14/23] btrfs: implement btrfs_debug* in terms of helper macro Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 15/23] ACPI: use proper DYNAMIC_DEBUG_BRANCH macro Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 16/23] ACPI: remove unused __acpi_handle_debug macro Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 17/23] ACPI: implement acpi_handle_debug in terms of _dynamic_func_call Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 18/23] dynamic_debug: introduce accessors for string members of struct _ddebug Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 19/23] dynamic_debug: drop use of bitfields in " Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 20/23] dynamic_debug: introduce CONFIG_DYNAMIC_DEBUG_RELATIVE_POINTERS Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 21/23] jump_label: move JUMP_TYPE_* constants to new asm-generic file Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 22/23] x86: jump_label: introduce asm macros STATIC_KEY_INIT{,_TRUE,_FALSE} Rasmus Villemoes
2018-11-09 23:10     ` [PATCH v3 23/23] x86_64: use relative pointers with dynamic debug Rasmus Villemoes
2019-02-12 21:41     ` [PATCH v4 00/14] various dynamic_debug patches Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 01/14] linux/device.h: use DYNAMIC_DEBUG_BRANCH in dev_dbg_ratelimited Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 02/14] linux/net.h: use DYNAMIC_DEBUG_BRANCH in net_dbg_ratelimited Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 03/14] linux/printk.h: use DYNAMIC_DEBUG_BRANCH in pr_debug_ratelimited Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 04/14] dynamic_debug: consolidate DEFINE_DYNAMIC_DEBUG_METADATA definitions Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 05/14] dynamic_debug: don't duplicate modname in ddebug_add_module Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 06/14] dynamic_debug: use pointer comparison in ddebug_remove_module Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 07/14] dynamic_debug: remove unused EXPORT_SYMBOLs Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 08/14] dynamic_debug: move pr_err from module.c to ddebug_add_module Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 09/14] dynamic_debug: add static inline stub for ddebug_add_module Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 10/14] dynamic_debug: refactor dynamic_pr_debug and friends Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 11/14] btrfs: implement btrfs_debug* in terms of helper macro Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 12/14] ACPI: use proper DYNAMIC_DEBUG_BRANCH macro Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 13/14] ACPI: remove unused __acpi_handle_debug macro Rasmus Villemoes
2019-02-12 21:41       ` [PATCH v4 14/14] ACPI: implement acpi_handle_debug in terms of _dynamic_func_call Rasmus Villemoes

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.