Re: Re: [v3.10.y][v3.11.y][v3.12.y][v3.13.y][v3.14.y][PATCH 1/1][V2] ALSA: usb-audio: Prevent printk ratelimiting from spamming kernel log while DEBUG not defined

From: Joseph Salisbury
Date: Fri Jun 20 2014 - 11:21:17 EST


On 06/18/2014 09:52 PM, Ben Hutchings wrote:
> On Wed, 2014-06-18 at 14:32 -0400, Joseph Salisbury wrote:
>> From: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
>>
>> BugLink: http://bugs.launchpad.net/bugs/1319457
>>
>> This (widely used) construction:
>>
>> if(printk_ratelimit())
>> dev_dbg()
>>
>> Causes the ratelimiting to spam the kernel log with the "callbacks suppressed"
>> message below, even while the dev_dbg it is supposed to rate limit wouldn't
>> print anything because DEBUG is not defined for this device.
>>
>> [ 533.803964] retire_playback_urb: 852 callbacks suppressed
>> [ 538.807930] retire_playback_urb: 852 callbacks suppressed
>> [ 543.811897] retire_playback_urb: 852 callbacks suppressed
>> [ 548.815745] retire_playback_urb: 852 callbacks suppressed
>> [ 553.819826] retire_playback_urb: 852 callbacks suppressed
>>
>> So use dev_dbg_ratelimited() instead of this construction.
>>
>> Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
>> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
>> (backported from commit b7a7723513dc89f83d6df13206df55d4dc26e825)
>> Signed-off-by: Joseph Salisbury <joseph.salisbury@xxxxxxxxxxxxx>
> It looks like you have combined the commit identified here with the
> preceding:
>
> commit a5065eb6da55b226661456e6a7435f605df98111
> Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
> Date: Wed Apr 9 11:30:44 2014 -0600
>
> ALSA: usb-audio: Suppress repetitive debug messages from retire_playback_urb()
>
> They should not be squashed together like this.
>
> Ben.
>
>> ---
>> sound/usb/pcm.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
>> index ca3256d..ede4b92 100644
>> --- a/sound/usb/pcm.c
>> +++ b/sound/usb/pcm.c
>> @@ -1488,7 +1488,8 @@ static void retire_playback_urb(struct snd_usb_substream *subs,
>> * on two reads of a counter updated every ms.
>> */
>> if (abs(est_delay - subs->last_delay) * 1000 > runtime->rate * 2)
>> - snd_printk(KERN_DEBUG "delay: estimated %d, actual %d\n",
>> + dev_dbg_ratelimited(&subs->dev->dev,
>> + "delay: estimated %d, actual %d\n",
>> est_delay, subs->last_delay);
>>
>> if (!subs->running) {
Hi Ben,

Thanks for the feedback. Do you think it's best to cherry-pick these
two commits? If so, I'll do that and test. If it all works, I can send
a request to stable to cherry pick the commits and revert my backport.

Thanks,

Joe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/