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