Linux PARISC architecture development
 help / color / mirror / Atom feed
* [PATCH] parisc: use __ratelimit
       [not found] <1267354697-6456-1-git-send-email-akinobu.mita@gmail.com>
@ 2010-02-28 10:58 ` Akinobu Mita
  2010-03-01 23:54   ` Kyle McMartin
  0 siblings, 1 reply; 2+ messages in thread
From: Akinobu Mita @ 2010-02-28 10:58 UTC (permalink / raw)
  To: linux-kernel
  Cc: Akinobu Mita, Kyle McMartin, Helge Deller, James E.J. Bottomley,
	linux-parisc

Replace open-coded rate limiting logic with __ratelimit().

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Helge Deller <deller@gmx.de>
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
Cc: linux-parisc@vger.kernel.org
---
 arch/parisc/kernel/unaligned.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/arch/parisc/kernel/unaligned.c b/arch/parisc/kernel/unaligned.c
index e6f4b7a..92d977b 100644
--- a/arch/parisc/kernel/unaligned.c
+++ b/arch/parisc/kernel/unaligned.c
@@ -25,6 +25,7 @@
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/signal.h>
+#include <linux/ratelimit.h>
 #include <asm/uaccess.h>
 
 /* #define DEBUG_UNALIGNED 1 */
@@ -446,8 +447,7 @@ static int emulate_std(struct pt_regs *regs, int frreg, int flop)
 
 void handle_unaligned(struct pt_regs *regs)
 {
-	static unsigned long unaligned_count = 0;
-	static unsigned long last_time = 0;
+	static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5);
 	unsigned long newbase = R1(regs->iir)?regs->gr[R1(regs->iir)]:0;
 	int modify = 0;
 	int ret = ERR_NOTHANDLED;
@@ -460,14 +460,8 @@ void handle_unaligned(struct pt_regs *regs)
 			goto force_sigbus;
 		}
 
-		if (unaligned_count > 5 &&
-				time_after(jiffies, last_time + 5 * HZ)) {
-			unaligned_count = 0;
-			last_time = jiffies;
-		}
-
-		if (!(current->thread.flags & PARISC_UAC_NOPRINT) 
-		    && ++unaligned_count < 5) {
+		if (!(current->thread.flags & PARISC_UAC_NOPRINT) &&
+			__ratelimit(&ratelimit)) {
 			char buf[256];
 			sprintf(buf, "%s(%d): unaligned access to 0x" RFMT " at ip=0x" RFMT "\n",
 				current->comm, task_pid_nr(current), regs->ior, regs->iaoq[0]);
-- 
1.6.0.6

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

* Re: [PATCH] parisc: use __ratelimit
  2010-02-28 10:58 ` [PATCH] parisc: use __ratelimit Akinobu Mita
@ 2010-03-01 23:54   ` Kyle McMartin
  0 siblings, 0 replies; 2+ messages in thread
From: Kyle McMartin @ 2010-03-01 23:54 UTC (permalink / raw)
  To: Akinobu Mita
  Cc: linux-kernel, Kyle McMartin, Helge Deller, James E.J. Bottomley,
	linux-parisc

On Sun, Feb 28, 2010 at 07:58:15PM +0900, Akinobu Mita wrote:
> Replace open-coded rate limiting logic with __ratelimit().
> 

Thanks, I'll apply this.

regards, Kyle

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

end of thread, other threads:[~2010-03-01 23:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1267354697-6456-1-git-send-email-akinobu.mita@gmail.com>
2010-02-28 10:58 ` [PATCH] parisc: use __ratelimit Akinobu Mita
2010-03-01 23:54   ` Kyle McMartin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox