From: Takashi Iwai <tiwai@suse.de>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Joe Perches <joe@perches.com>, alsa-devel@alsa-project.org
Subject: Re: [PATCH] ALSA: get rid of CONFIG_SND_VERBOSE_PRINTK
Date: Wed, 05 Jun 2013 08:04:59 +0200 [thread overview]
Message-ID: <s5hobblrt2s.wl%tiwai@suse.de> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1306041646240.1093-100000@iolanthe.rowland.org>
At Tue, 4 Jun 2013 16:54:12 -0400 (EDT),
Alan Stern wrote:
>
> On Tue, 4 Jun 2013, Joe Perches wrote:
>
> > A somewhat common convention is to use
> >
> > prefix_dbg(level, fmt, ...)
> >
> > where level is either a numeric value or bitmask,
> > and also is either a #define or a MODULE_PARAM
> >
> > today sound/misc.c has:
> >
> > ------------------------------------------
> >
> > #ifdef CONFIG_SND_DEBUG
> >
> > #ifdef CONFIG_SND_DEBUG_VERBOSE
> > #define DEFAULT_DEBUG_LEVEL 2
> > #else
> > #define DEFAULT_DEBUG_LEVEL 1
> > #endif
> >
> > static int debug = DEFAULT_DEBUG_LEVEL;
> > module_param(debug, int, 0644);
> > MODULE_PARM_DESC(debug, "Debug level (0 = disable)");
> >
> > #endif /* CONFIG_SND_DEBUG */
>
> Yes, I have read this part of the code.
>
> > ------------------------------------------
> >
> > I suggest converting all the remaining
> >
> > snd_printd(...) to snd_dbg(1, ...)
> > and
> > snd_printdd(...) to snd_dbg(2, ...)
> >
> > so that debug module param control can be used for
> > all these and if the DEFAULT_DEBUG_LEVEL isn't
> > high enough, the various snd_dbg(2, ...) can be
> > completely optimized away if appropriate.
>
> I don't see how DEFAULT_DEBUG_LEVEL can be used to optimize away
> anything. The user can always change the value of the "debug" module
> parameter while the system is running. The only valid opportunity for
> optimization would be if CONFIG_SND_DEBUG was disabled; then all these
> messages would disappear.
>
> You didn't respond to the first point I raised. Since these messages
> are all meant for debugging, there's no point allowing them to have
> prefixes like KERN_ERR or KERN_INFO. They should always be printed at
> the KERN_DEBUG level. Or did you think this was so obviously true that
> it didn't require any comment?
Unfortunately, it's not so straightforward. Many messages are better
with KERN_INFO indeed. In such places, snd_printd() is used rather as
snd_chattier_printk_with_prefix().
This comes from the subsystem development history. In the era of 2.4
kernels, many systems did load/unload the module frequently on demand.
Thus we didn't want to put a message from driver at each module probe
or removal. Otherwise dmesg will be flood of such messages at each
time you play a WAV song or ring a beep via PCM.
Instead, we tended to put such informational messages as snd_printd(),
while keeping the driver itself reticent as much as possible for
"productive" systems. This style was kept for a while even after
merged to 2.5 kernels until recently.
Also, some places use KERN_WARNING or KERN_ERR with snd_printd(),
mostly because they are in the context with CONFIG_SND_DEBUG.
They can be well pr_warning() or pr_err().
Last but not least, as mentioned in the reply to patch 1/2, many
messages miss proper prefixes.
These are the main reasons I stated that systematic replacements would
be difficult. We need to take a look through the whole snd_print*()
and replace appropriately case by case...
thanks,
Takashi
next prev parent reply other threads:[~2013-06-05 6:04 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-03 20:18 [PATCH] ALSA: get rid of CONFIG_SND_VERBOSE_PRINTK Alan Stern
2013-06-03 20:24 ` Joe Perches
2013-06-03 20:40 ` Alan Stern
2013-06-03 20:49 ` Joe Perches
2013-06-04 9:13 ` Takashi Iwai
2013-06-04 14:49 ` Alan Stern
2013-06-04 15:03 ` Takashi Iwai
2013-06-04 17:20 ` [PATCH 1/2] ALSA: convert "snd_printk(KERN_INFO" to "pr_info(" Alan Stern
2013-06-05 5:52 ` Takashi Iwai
2013-06-05 6:07 ` Joe Perches
2013-06-05 6:16 ` Takashi Iwai
2013-06-06 20:54 ` Alan Stern
2013-06-07 5:41 ` Takashi Iwai
2013-06-07 15:51 ` Alan Stern
2013-06-04 17:20 ` [PATCH 2/2 v.2] ALSA: get rid of CONFIG_SND_VERBOSE_PRINTK Alan Stern
2013-06-04 19:32 ` [PATCH] " Alan Stern
2013-06-04 19:45 ` Joe Perches
2013-06-04 20:54 ` Alan Stern
2013-06-04 21:19 ` Joe Perches
2013-06-06 20:42 ` Alan Stern
2013-06-06 20:59 ` Joe Perches
2013-06-07 14:40 ` Alan Stern
2013-06-07 16:10 ` Joe Perches
2013-06-05 6:04 ` Takashi Iwai [this message]
2013-06-05 6:15 ` Joe Perches
2013-06-05 6:32 ` Takashi Iwai
2013-06-05 6:52 ` Joe Perches
2013-06-05 6:54 ` Takashi Iwai
2013-06-05 7:07 ` Joe Perches
2013-06-05 7:22 ` Takashi Iwai
2013-06-05 7:34 ` Joe Perches
2013-06-05 7:47 ` CONFIG_SND_DEBUG (was: Re: [alsa-devel] [PATCH] ALSA: get rid of CONFIG_SND_VERBOSE_PRINTK) David Henningsson
2013-06-05 8:46 ` CONFIG_SND_DEBUG (was: " Takashi Iwai
2013-06-05 10:53 ` CONFIG_SND_DEBUG (was: Re: [alsa-devel] " Andy Whitcroft
2013-06-05 11:38 ` CONFIG_SND_DEBUG David Henningsson
2013-06-05 11:43 ` CONFIG_SND_DEBUG Takashi Iwai
2013-06-05 14:11 ` CONFIG_SND_DEBUG Alan Stern
2013-06-05 14:28 ` CONFIG_SND_DEBUG Takashi Iwai
2013-06-05 14:47 ` CONFIG_SND_DEBUG Alan Stern
2013-06-06 21:28 ` [PATCH] ALSA: get rid of CONFIG_SND_VERBOSE_PRINTK Alan Stern
2013-06-06 21:50 ` Joe Perches
2013-06-07 5:57 ` Takashi Iwai
2013-06-07 15:34 ` Alan Stern
2013-06-07 5:53 ` Takashi Iwai
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=s5hobblrt2s.wl%tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=joe@perches.com \
--cc=stern@rowland.harvard.edu \
/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