From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Jason Baron <jbaron@akamai.com>
Cc: Will Deacon <will@kernel.org>,
linux-kernel@vger.kernel.org, kernel-team@android.com
Subject: Re: [PATCH v2] dynamic_debug: allow to work if debugfs is disabled
Date: Wed, 22 Jan 2020 20:29:40 +0100 [thread overview]
Message-ID: <20200122192940.GA88549@kroah.com> (raw)
In-Reply-To: <8d68b75c-05b8-b403-0a10-d17b94a73ba7@akamai.com>
On Wed, Jan 22, 2020 at 01:56:48PM -0500, Jason Baron wrote:
>
>
> On 1/22/20 8:53 AM, Greg Kroah-Hartman wrote:
> >
> > With the realization that having debugfs enabled on "production" systems is
> > generally not a good idea, debugfs is being disabled from more and more
> > platforms over time. However, the functionality of dynamic debugging still is
> > needed at times, and since it relies on debugfs for its user api, having
> > debugfs disabled also forces dynamic debug to be disabled.
> >
> > To get around this, move the "control" file for dynamic_debug to procfs IFF
> > debugfs is disabled. This lets people turn on debugging as needed at runtime
> > for individual driverfs and subsystems.
> >
>
> Hi Greg,
>
> Thanks for updating this. Just a comment below.
>
>
> > Reported-by: many different companies
> > Cc: Jason Baron <jbaron@akamai.com>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > ---
> > v2: Fix up octal permissions and add procfs reference to the Kconfig
> > entry, thanks to Will for the review.
> >
> > .../admin-guide/dynamic-debug-howto.rst | 3 +++
> > lib/Kconfig.debug | 7 ++++---
> > lib/dynamic_debug.c | 17 ++++++++++++++---
> > 3 files changed, 21 insertions(+), 6 deletions(-)
> >
> > diff --git a/Documentation/admin-guide/dynamic-debug-howto.rst b/Documentation/admin-guide/dynamic-debug-howto.rst
> > index 252e5ef324e5..41f43a373a6a 100644
> > --- a/Documentation/admin-guide/dynamic-debug-howto.rst
> > +++ b/Documentation/admin-guide/dynamic-debug-howto.rst
> > @@ -54,6 +54,9 @@ If you make a mistake with the syntax, the write will fail thus::
> > <debugfs>/dynamic_debug/control
> > -bash: echo: write error: Invalid argument
> >
> > +Note, for systems without 'debugfs' enabled, the control file can be
> > +also found in ``/proc/dynamic_debug/control``.
> > +
> > Viewing Dynamic Debug Behaviour
> > ===============================
> >
> > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> > index 5ffe144c9794..49980eb8c18e 100644
> > --- a/lib/Kconfig.debug
> > +++ b/lib/Kconfig.debug
> > @@ -98,7 +98,7 @@ config DYNAMIC_DEBUG
> > bool "Enable dynamic printk() support"
> > default n
> > depends on PRINTK
> > - depends on DEBUG_FS
> > + depends on (DEBUG_FS || PROC_FS)
> > help
> >
> > Compiles debug level messages into the kernel, which would not
> > @@ -116,8 +116,9 @@ config DYNAMIC_DEBUG
> > Usage:
> >
> > Dynamic debugging is controlled via the 'dynamic_debug/control' file,
> > - which is contained in the 'debugfs' filesystem. Thus, the debugfs
> > - filesystem must first be mounted before making use of this feature.
> > + which is contained in the 'debugfs' filesystem or procfs if
> > + debugfs is not present. Thus, the debugfs or procfs filesystem
> > + must first be mounted before making use of this feature.
> > We refer the control file as: <debugfs>/dynamic_debug/control. This
> > file contains a list of the debug statements that can be enabled. The
> > format for each line of the file is:
> > diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
> > index c60409138e13..0f1b26f10fb2 100644
> > --- a/lib/dynamic_debug.c
> > +++ b/lib/dynamic_debug.c
> > @@ -993,13 +993,24 @@ static __initdata int ddebug_init_success;
> >
> > static int __init dynamic_debug_init_debugfs(void)
> > {
>
> The naming now is a little confusing - dynamic_debug_init_control ?
Ah, good point. I'll go fix that up, and fix up the foolish build
warning that I missed...
thanks,
greg k-h
next prev parent reply other threads:[~2020-01-22 19:29 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-22 7:43 [PATCH] dynamic_debug: allow to work if debugfs is disabled Greg Kroah-Hartman
2020-01-22 8:03 ` Will Deacon
2020-01-22 8:12 ` Greg Kroah-Hartman
2020-01-22 13:53 ` [PATCH v2] " Greg Kroah-Hartman
2020-01-22 18:56 ` Jason Baron
2020-01-22 19:29 ` Greg Kroah-Hartman [this message]
2020-01-22 19:31 ` [PATCH v3] " Greg Kroah-Hartman
2020-01-22 21:43 ` Randy Dunlap
2020-01-23 8:48 ` Greg Kroah-Hartman
2020-01-23 8:50 ` [PATCH v4] " Greg Kroah-Hartman
2020-01-23 9:36 ` Will Deacon
2020-01-23 15:53 ` [PATCH v3] " Theodore Y. Ts'o
2020-01-23 17:55 ` Greg Kroah-Hartman
2020-01-24 6:02 ` Theodore Y. Ts'o
2020-01-24 7:29 ` Greg Kroah-Hartman
2020-01-25 1:42 ` Theodore Y. Ts'o
2020-01-25 17:11 ` Jonathan Corbet
2020-01-27 22:19 ` Saravana Kannan
2020-02-09 11:05 ` [PATCH v5] " Greg Kroah-Hartman
2020-02-09 15:53 ` Joe Perches
2020-02-09 17:03 ` Greg Kroah-Hartman
2020-02-10 21:11 ` [PATCH v6] " Greg Kroah-Hartman
2020-02-10 21:15 ` Randy Dunlap
2020-02-12 21:58 ` Greg Kroah-Hartman
2020-02-11 11:01 ` Will Deacon
2020-01-25 0:03 ` [PATCH] " kbuild test robot
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=20200122192940.GA88549@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=jbaron@akamai.com \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=will@kernel.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 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).