From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754648AbaEBQNO (ORCPT ); Fri, 2 May 2014 12:13:14 -0400 Received: from cantor2.suse.de ([195.135.220.15]:57053 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753638AbaEBQNL (ORCPT ); Fri, 2 May 2014 12:13:11 -0400 Date: Fri, 02 May 2014 18:13:09 +0200 Message-ID: From: Takashi Iwai To: Sander Eikelenboom Cc: Greg Kroah-Hartman , Julia Lawall , linux-sound@vger.kernel.org, linux-kernel Subject: Re: [PATCH] Sound USB: Prevent printk ratelimiting from spamming kernel log while DEBUG not defined In-Reply-To: <1399036167-6203-2-git-send-email-linux@eikelenboom.it> References: <1399036167-6203-1-git-send-email-linux@eikelenboom.it> <1399036167-6203-2-git-send-email-linux@eikelenboom.it> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.3 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At Fri, 2 May 2014 15:09:27 +0200, Sander Eikelenboom wrote: > > 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 Thanks, applied. This is a result of the recent rewrite to dev_dbg() from plain printk(), I suppose. Takashi > --- > sound/usb/pcm.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c > index 131336d..c62a165 100644 > --- a/sound/usb/pcm.c > +++ b/sound/usb/pcm.c > @@ -1501,9 +1501,8 @@ static void retire_playback_urb(struct snd_usb_substream *subs, > * The error should be lower than 2ms since the estimate relies > * on two reads of a counter updated every ms. > */ > - if (printk_ratelimit() && > - abs(est_delay - subs->last_delay) * 1000 > runtime->rate * 2) > - dev_dbg(&subs->dev->dev, > + if (abs(est_delay - subs->last_delay) * 1000 > runtime->rate * 2) > + dev_dbg_ratelimited(&subs->dev->dev, > "delay: estimated %d, actual %d\n", > est_delay, subs->last_delay); > > -- > 1.7.10.4 >