* [B.A.T.M.A.N.] [PATCH 0/5] batman-adv: Tracing and debugfs deprecation cleanups @ 2018-10-21 9:30 Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 1/5] batman-adv: Drop unused lockdep include Sven Eckelmann ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: Sven Eckelmann @ 2018-10-21 9:30 UTC (permalink / raw) To: b.a.t.m.a.n Hi, the current master branch already contains support to store debug messages to the tracing buffer and to inform users about the deprecation of the debugfs functionality. This patchset is now cleaning it up a little bit more and allows to the tracing infrastructure completely without BATMAN_ADV_DEBUGFS. Kind regards, Sven Sven Eckelmann (5): batman-adv: Drop unused lockdep include batman-adv: Add includes for deprecation warning batman-adv: Improve includes for trace functionality batman-adv: Allow to use BATMAN_ADV_DEBUG without BATMAN_ADV_DEBUGFS batman-adv: Fix description for BATMAN_ADV_DEBUG compat.h | 5 ---- net/batman-adv/Kconfig | 7 +++-- net/batman-adv/bat_iv_ogm.c | 1 - net/batman-adv/debugfs.c | 2 ++ net/batman-adv/log.c | 60 ++++++++++++++++++++----------------- net/batman-adv/trace.c | 2 -- net/batman-adv/trace.h | 6 ++++ 7 files changed, 45 insertions(+), 38 deletions(-) -- 2.19.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [B.A.T.M.A.N.] [PATCH 1/5] batman-adv: Drop unused lockdep include 2018-10-21 9:30 [B.A.T.M.A.N.] [PATCH 0/5] batman-adv: Tracing and debugfs deprecation cleanups Sven Eckelmann @ 2018-10-21 9:30 ` Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 2/5] batman-adv: Add includes for deprecation warning Sven Eckelmann ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Sven Eckelmann @ 2018-10-21 9:30 UTC (permalink / raw) To: b.a.t.m.a.n The commit f36b93064420 ("batman-adv: Move OGM rebroadcast stats to orig_ifinfo") removed all used functionality of the include linux/lockdep.h from batadv_iv_ogm.c. Signed-off-by: Sven Eckelmann <sven@narfation.org> --- net/batman-adv/bat_iv_ogm.c | 1 - 1 file changed, 1 deletion(-) diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c index d2227091..1d31ac84 100644 --- a/net/batman-adv/bat_iv_ogm.c +++ b/net/batman-adv/bat_iv_ogm.c @@ -34,7 +34,6 @@ #include <linux/kernel.h> #include <linux/kref.h> #include <linux/list.h> -#include <linux/lockdep.h> #include <linux/netdevice.h> #include <linux/netlink.h> #include <linux/pkt_sched.h> -- 2.19.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [B.A.T.M.A.N.] [PATCH 2/5] batman-adv: Add includes for deprecation warning 2018-10-21 9:30 [B.A.T.M.A.N.] [PATCH 0/5] batman-adv: Tracing and debugfs deprecation cleanups Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 1/5] batman-adv: Drop unused lockdep include Sven Eckelmann @ 2018-10-21 9:30 ` Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 3/5] batman-adv: Improve includes for trace functionality Sven Eckelmann ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Sven Eckelmann @ 2018-10-21 9:30 UTC (permalink / raw) To: b.a.t.m.a.n The commit fee04b6f72cf ("batman-adv: Mark debugfs functionality as deprecated") introduced various messages to inform the user about the deprecation of the debugfs based functionality. The messages also include the context/task in which this problem was observed. The datastructures and functions to access this information require special headers. These should be included directly instead of depending on a more complex and fragile include chain. Signed-off-by: Sven Eckelmann <sven@narfation.org> --- net/batman-adv/debugfs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/batman-adv/debugfs.c b/net/batman-adv/debugfs.c index 8b608a2e..d4a7702e 100644 --- a/net/batman-adv/debugfs.c +++ b/net/batman-adv/debugfs.c @@ -19,6 +19,7 @@ #include "debugfs.h" #include "main.h" +#include <asm/current.h> #include <linux/dcache.h> #include <linux/debugfs.h> #include <linux/err.h> @@ -27,6 +28,7 @@ #include <linux/fs.h> #include <linux/netdevice.h> #include <linux/printk.h> +#include <linux/sched.h> #include <linux/seq_file.h> #include <linux/stat.h> #include <linux/stddef.h> -- 2.19.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [B.A.T.M.A.N.] [PATCH 3/5] batman-adv: Improve includes for trace functionality 2018-10-21 9:30 [B.A.T.M.A.N.] [PATCH 0/5] batman-adv: Tracing and debugfs deprecation cleanups Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 1/5] batman-adv: Drop unused lockdep include Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 2/5] batman-adv: Add includes for deprecation warning Sven Eckelmann @ 2018-10-21 9:30 ` Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 4/5] batman-adv: Allow to use BATMAN_ADV_DEBUG without BATMAN_ADV_DEBUGFS Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 5/5] batman-adv: Fix description for BATMAN_ADV_DEBUG Sven Eckelmann 4 siblings, 0 replies; 6+ messages in thread From: Sven Eckelmann @ 2018-10-21 9:30 UTC (permalink / raw) To: b.a.t.m.a.n The batadv_dbg trace event uses different functionality and datastructures which are not directly associated with the trace infrastructure. It should not be expected that the trace headers indirectly provide them and instead include the required headers directly. Signed-off-by: Sven Eckelmann <sven@narfation.org> --- net/batman-adv/trace.c | 2 -- net/batman-adv/trace.h | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/net/batman-adv/trace.c b/net/batman-adv/trace.c index 3d57f998..8e102421 100644 --- a/net/batman-adv/trace.c +++ b/net/batman-adv/trace.c @@ -16,7 +16,5 @@ * along with this program; if not, see <http://www.gnu.org/licenses/>. */ -#include <linux/module.h> - #define CREATE_TRACE_POINTS #include "trace.h" diff --git a/net/batman-adv/trace.h b/net/batman-adv/trace.h index 3acda26a..104784be 100644 --- a/net/batman-adv/trace.h +++ b/net/batman-adv/trace.h @@ -21,7 +21,13 @@ #include "main.h" +#include <linux/bug.h> +#include <linux/kernel.h> +#include <linux/netdevice.h> +#include <linux/percpu.h> +#include <linux/printk.h> #include <linux/tracepoint.h> +#include <linux/types.h> #undef TRACE_SYSTEM #define TRACE_SYSTEM batadv -- 2.19.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [B.A.T.M.A.N.] [PATCH 4/5] batman-adv: Allow to use BATMAN_ADV_DEBUG without BATMAN_ADV_DEBUGFS 2018-10-21 9:30 [B.A.T.M.A.N.] [PATCH 0/5] batman-adv: Tracing and debugfs deprecation cleanups Sven Eckelmann ` (2 preceding siblings ...) 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 3/5] batman-adv: Improve includes for trace functionality Sven Eckelmann @ 2018-10-21 9:30 ` Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 5/5] batman-adv: Fix description for BATMAN_ADV_DEBUG Sven Eckelmann 4 siblings, 0 replies; 6+ messages in thread From: Sven Eckelmann @ 2018-10-21 9:30 UTC (permalink / raw) To: b.a.t.m.a.n The BATMAN_ADV_DEBUGFS portion of batman-adv is marked as deprecated. Thus all required functionality should be available without it. The debug log was already modified to also output via the kernel tracing function but still retained its BATMAN_ADV_DEBUGFS functionality. Separate the entry point for the debug log from the debugfs portions to make it possible to build with BATMAN_ADV_DEBUG and without BATMAN_ADV_DEBUGFS. Signed-off-by: Sven Eckelmann <sven@narfation.org> --- compat.h | 5 ---- net/batman-adv/Kconfig | 2 +- net/batman-adv/log.c | 60 +++++++++++++++++++++++------------------- 3 files changed, 34 insertions(+), 33 deletions(-) diff --git a/compat.h b/compat.h index 385b629c..559df2f3 100644 --- a/compat.h +++ b/compat.h @@ -30,11 +30,6 @@ #include "compat-autoconf.h" -/* test for dependency CONFIG_BATMAN_ADV_DEBUG -> CONFIG_BATMAN_ADV_DEBUGFS */ -#if defined(CONFIG_BATMAN_ADV_DEBUG) && !defined(CONFIG_BATMAN_ADV_DEBUGFS) -#error CONFIG_BATMAN_ADV_DEBUG=y requires CONFIG_BATMAN_ADV_DEBUGFS=y -#endif - #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) /* wild hack for batadv_getlink_net only */ diff --git a/net/batman-adv/Kconfig b/net/batman-adv/Kconfig index f75816f5..7b0e1fcd 100644 --- a/net/batman-adv/Kconfig +++ b/net/batman-adv/Kconfig @@ -100,7 +100,7 @@ config BATMAN_ADV_DEBUGFS config BATMAN_ADV_DEBUG bool "B.A.T.M.A.N. debugging" - depends on BATMAN_ADV_DEBUGFS + depends on BATMAN_ADV help This is an option for use by developers; most people should say N here. This enables compilation of support for diff --git a/net/batman-adv/log.c b/net/batman-adv/log.c index 6beb5f06..02e55b78 100644 --- a/net/batman-adv/log.c +++ b/net/batman-adv/log.c @@ -43,6 +43,8 @@ #include "debugfs.h" #include "trace.h" +#ifdef CONFIG_BATMAN_ADV_DEBUGFS + #define BATADV_LOG_BUFF_MASK (batadv_log_buff_len - 1) static const int batadv_log_buff_len = BATADV_LOG_BUF_LEN; @@ -92,33 +94,6 @@ static int batadv_fdebug_log(struct batadv_priv_debug_log *debug_log, return 0; } -/** - * batadv_debug_log() - Add debug log entry - * @bat_priv: the bat priv with all the soft interface information - * @fmt: format string - * - * Return: 0 on success or negative error number in case of failure - */ -int batadv_debug_log(struct batadv_priv *bat_priv, const char *fmt, ...) -{ - struct va_format vaf; - va_list args; - - va_start(args, fmt); - - vaf.fmt = fmt; - vaf.va = &args; - - batadv_fdebug_log(bat_priv->debug_log, "[%10u] %pV", - jiffies_to_msecs(jiffies), &vaf); - - trace_batadv_dbg(bat_priv, &vaf); - - va_end(args); - - return 0; -} - static int batadv_log_open(struct inode *inode, struct file *file) { if (!try_module_get(THIS_MODULE)) @@ -259,3 +234,34 @@ void batadv_debug_log_cleanup(struct batadv_priv *bat_priv) kfree(bat_priv->debug_log); bat_priv->debug_log = NULL; } + +#endif /* CONFIG_BATMAN_ADV_DEBUGFS */ + +/** + * batadv_debug_log() - Add debug log entry + * @bat_priv: the bat priv with all the soft interface information + * @fmt: format string + * + * Return: 0 on success or negative error number in case of failure + */ +int batadv_debug_log(struct batadv_priv *bat_priv, const char *fmt, ...) +{ + struct va_format vaf; + va_list args; + + va_start(args, fmt); + + vaf.fmt = fmt; + vaf.va = &args; + +#ifdef CONFIG_BATMAN_ADV_DEBUGFS + batadv_fdebug_log(bat_priv->debug_log, "[%10u] %pV", + jiffies_to_msecs(jiffies), &vaf); +#endif + + trace_batadv_dbg(bat_priv, &vaf); + + va_end(args); + + return 0; +} -- 2.19.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [B.A.T.M.A.N.] [PATCH 5/5] batman-adv: Fix description for BATMAN_ADV_DEBUG 2018-10-21 9:30 [B.A.T.M.A.N.] [PATCH 0/5] batman-adv: Tracing and debugfs deprecation cleanups Sven Eckelmann ` (3 preceding siblings ...) 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 4/5] batman-adv: Allow to use BATMAN_ADV_DEBUG without BATMAN_ADV_DEBUGFS Sven Eckelmann @ 2018-10-21 9:30 ` Sven Eckelmann 4 siblings, 0 replies; 6+ messages in thread From: Sven Eckelmann @ 2018-10-21 9:30 UTC (permalink / raw) To: b.a.t.m.a.n The debug messages of batman-adv are not printed to the kernel log at all but can be stored (depending on the compile setting) in the tracing buffer or the batadv specific log buffer. There is also no debug module parameter but a batadv netdev specific log_level setting to enable/disable different classes of debug messages at runtime. Signed-off-by: Sven Eckelmann <sven@narfation.org> --- net/batman-adv/Kconfig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/batman-adv/Kconfig b/net/batman-adv/Kconfig index 7b0e1fcd..082e9606 100644 --- a/net/batman-adv/Kconfig +++ b/net/batman-adv/Kconfig @@ -104,8 +104,9 @@ config BATMAN_ADV_DEBUG help This is an option for use by developers; most people should say N here. This enables compilation of support for - outputting debugging information to the kernel log. The - output is controlled via the module parameter debug. + outputting debugging information to the debugfs log or tracing + buffer. The output is controlled via the batadv netdev specific + log_level setting. config BATMAN_ADV_TRACING bool "B.A.T.M.A.N. tracing support" -- 2.19.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-10-21 9:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-10-21 9:30 [B.A.T.M.A.N.] [PATCH 0/5] batman-adv: Tracing and debugfs deprecation cleanups Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 1/5] batman-adv: Drop unused lockdep include Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 2/5] batman-adv: Add includes for deprecation warning Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 3/5] batman-adv: Improve includes for trace functionality Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 4/5] batman-adv: Allow to use BATMAN_ADV_DEBUG without BATMAN_ADV_DEBUGFS Sven Eckelmann 2018-10-21 9:30 ` [B.A.T.M.A.N.] [PATCH 5/5] batman-adv: Fix description for BATMAN_ADV_DEBUG Sven Eckelmann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).