2001-03-29 16:42:13

by Eli Carter

[permalink] [raw]
Subject: rate limiting error messages

Can someone point me to a "standard way" of doing rate limiting of error
messages in the kernel?

TIA,

Eli
-----------------------. Rule of Accuracy: When working toward
Eli Carter | the solution of a problem, it always
eli.carter(at)inet.com `------------------ helps if you know the answer.


2001-03-29 17:17:03

by Khalid Aziz

[permalink] [raw]
Subject: Re: rate limiting error messages

Eli Carter wrote:
>
> Can someone point me to a "standard way" of doing rate limiting of error
> messages in the kernel?
>
> TIA,
>
> Eli
> -----------------------. Rule of Accuracy: When working toward
> Eli Carter | the solution of a problem, it always
> eli.carter(at)inet.com `------------------ helps if you know the answer.

Here is how it is done in IA-64 kernel:

static int
within_logging_rate_limit (void)
{
static unsigned long count, last_time;

if (count > 5 && jiffies - last_time > 5*HZ)
count = 0;
if (++count < 5) {
last_time = jiffies;
return 1;
}
return 0;

}

If this fundction returns 0, error messages have been rate limited. This
code is not MP-safe. So, if you need your code to be MP-safe, you may
need to rewrite it somewhat.

--
Khalid

====================================================================
Khalid Aziz Linux Development Laboratory
(970)898-9214 Hewlett-Packard
[email protected] Fort Collins, CO