From dffcfb0469b72afa6443bf2952e04bc7e0655170 Mon Sep 17 00:00:00 2001 From: renweihub Date: Tue, 8 Apr 2014 16:30:52 +0800 Subject: [PATCH] Update ratelimit.c fix a bug in ratelimit, if the "begin" doesn't update at the same time with printed, the print will start from 1 in loops except for the first time, lets to only 9 logs suppressed, but not 10 as expected. --- lib/ratelimit.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/ratelimit.c b/lib/ratelimit.c index 40e03ea2a967d9..025206177bc0f5 100644 --- a/lib/ratelimit.c +++ b/lib/ratelimit.c @@ -42,14 +42,11 @@ int ___ratelimit(struct ratelimit_state *rs, const char *func) if (!raw_spin_trylock_irqsave(&rs->lock, flags)) return 0; - if (!rs->begin) - rs->begin = jiffies; - if (time_is_before_jiffies(rs->begin + rs->interval)) { if (rs->missed) printk(KERN_WARNING "%s: %d callbacks suppressed\n", func, rs->missed); - rs->begin = 0; + rs->begin = jiffies; rs->printed = 0; rs->missed = 0; }