linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] nouveau: ratelimit IRQ messages
@ 2010-10-02  7:58 Jiri Slaby
  2010-10-02 10:05 ` Marcin Slusarz
  0 siblings, 1 reply; 2+ messages in thread
From: Jiri Slaby @ 2010-10-02  7:58 UTC (permalink / raw)
  To: airlied; +Cc: dri-devel, linux-kernel, jirislaby, Ben Skeggs

There are two messages in the ISR of nouvea which might be printed out
hundred times in a second. Ratelimit them.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Ben Skeggs <bskeggs@redhat.com>
---
 drivers/gpu/drm/nouveau/nouveau_irq.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_irq.c b/drivers/gpu/drm/nouveau/nouveau_irq.c
index 794b0ee..c6d57eb 100644
--- a/drivers/gpu/drm/nouveau/nouveau_irq.c
+++ b/drivers/gpu/drm/nouveau/nouveau_irq.c
@@ -200,7 +200,9 @@ nouveau_fifo_irq_handler(struct drm_device *dev)
 		}
 
 		if (status & NV_PFIFO_INTR_DMA_PUSHER) {
-			NV_INFO(dev, "PFIFO_DMA_PUSHER - Ch %d\n", chid);
+			if (printk_ratelimit())
+				NV_INFO(dev, "PFIFO_DMA_PUSHER - Ch %d\n",
+						chid);
 
 			status &= ~NV_PFIFO_INTR_DMA_PUSHER;
 			nv_wr32(dev, NV03_PFIFO_INTR_0,
@@ -227,8 +229,9 @@ nouveau_fifo_irq_handler(struct drm_device *dev)
 		}
 
 		if (status) {
-			NV_INFO(dev, "PFIFO_INTR 0x%08x - Ch %d\n",
-				status, chid);
+			if (printk_ratelimit())
+				NV_INFO(dev, "PFIFO_INTR 0x%08x - Ch %d\n",
+					status, chid);
 			nv_wr32(dev, NV03_PFIFO_INTR_0, status);
 			status = 0;
 		}
-- 
1.7.3.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/1] nouveau: ratelimit IRQ messages
  2010-10-02  7:58 [PATCH 1/1] nouveau: ratelimit IRQ messages Jiri Slaby
@ 2010-10-02 10:05 ` Marcin Slusarz
  0 siblings, 0 replies; 2+ messages in thread
From: Marcin Slusarz @ 2010-10-02 10:05 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: airlied, dri-devel, linux-kernel, jirislaby, Ben Skeggs

On Sat, Oct 02, 2010 at 09:58:56AM +0200, Jiri Slaby wrote:
> There are two messages in the ISR of nouvea which might be printed out
> hundred times in a second. Ratelimit them.
> 
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> ---
>  drivers/gpu/drm/nouveau/nouveau_irq.c |    9 ++++++---
>  1 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nouveau_irq.c b/drivers/gpu/drm/nouveau/nouveau_irq.c
> index 794b0ee..c6d57eb 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_irq.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_irq.c
> @@ -200,7 +200,9 @@ nouveau_fifo_irq_handler(struct drm_device *dev)
>  		}
>  
>  		if (status & NV_PFIFO_INTR_DMA_PUSHER) {
> -			NV_INFO(dev, "PFIFO_DMA_PUSHER - Ch %d\n", chid);
> +			if (printk_ratelimit())
> +				NV_INFO(dev, "PFIFO_DMA_PUSHER - Ch %d\n",
> +						chid);

There's nouveau_ratelimit() for this.
  
>  			status &= ~NV_PFIFO_INTR_DMA_PUSHER;
>  			nv_wr32(dev, NV03_PFIFO_INTR_0,
> @@ -227,8 +229,9 @@ nouveau_fifo_irq_handler(struct drm_device *dev)
>  		}
>  
>  		if (status) {
> -			NV_INFO(dev, "PFIFO_INTR 0x%08x - Ch %d\n",
> -				status, chid);
> +			if (printk_ratelimit())
> +				NV_INFO(dev, "PFIFO_INTR 0x%08x - Ch %d\n",
> +					status, chid);
>  			nv_wr32(dev, NV03_PFIFO_INTR_0, status);
>  			status = 0;
>  		}
> -- 
> 1.7.3.1
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-10-02 10:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-02  7:58 [PATCH 1/1] nouveau: ratelimit IRQ messages Jiri Slaby
2010-10-02 10:05 ` Marcin Slusarz

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).