写入 /sys/kernel/debug/dynamic_debug/control 时 +p 意味着什么?

写入 /sys/kernel/debug/dynamic_debug/control 时 +p 意味着什么?

我已经激活了wireguard的日志,实际上我现在想禁用它们 - 首先,这个过程让我了解添加的内容,因此这里有这个问题。

我用这个命令激活了日志:
# modprobe wireguard && echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

我想了解文件中添加了什么。运行时echo module wireguard +p我没有得到任何结果,echo手册页没有列出有关此+p内容的信息。

你能告诉我,+p是什么吗?

答案1

在这种情况下,这+p是一个内核调试指令,其中+将给定标志添加到配置中,并且p在这种情况下给定标志将启用 pr_debug() 调用站点。 echo 命令只是将动态调试配置文件写入/sys/kernel/debug/dynamic_debug/control.更详细的解释动态调试 - Linux 内核文档

答案2

我知道一位用户已经提供了内核文档的链接,但对于懒惰的用户来说,除了p.

这些标志是(来自内核文档):

p    enables the pr_debug() callsite.
f    Include the function name in the printed message
l    Include line number in the printed message
m    Include module name in the printed message
t    Include thread ID in messages not generated from interrupt context

所以要让他们从上面的问题中做起echo module wireguard +pfm > /sys/kernel/debug/dynamic_debug/control

要删除它们只需执行echo module wireguard -pfm > /sys/kernel/debug/dynamic_debug/control.

相关内容