Messages in this thread | | | Date | Wed, 3 Dec 2008 13:04:17 +0000 (GMT) | From | Hugh Dickins <> | Subject | Re: [PATCH 7/8] badpage: ratelimit print_bad_pte and bad_page |
| |
On Tue, 2 Dec 2008, Andrew Morton wrote: > On Mon, 1 Dec 2008 00:46:53 +0000 (GMT) > Hugh Dickins <hugh@veritas.com> wrote: > > + /* > > + * Allow a burst of 60 reports, then keep quiet for that minute; > > + * or allow a steady drip of one report per second. > > + */ > > + if (nr_shown == 60) { > > + if (time_before(jiffies, resume)) { > > + nr_unshown++; > > + goto out; > > + } > > + if (nr_unshown) { > > + printk(KERN_EMERG > > + "Bad page state: %lu messages suppressed\n", > > + nr_unshown); > > + nr_unshown = 0; > > + } > > + nr_shown = 0; > > + } > > + if (nr_shown++ == 0) > > + resume = jiffies + 60 * HZ; > > + > > gee, that's pretty elaborate. There's no way of using the > possibly-enhanced ratelimit.h?
Thanks a lot for the pointer: I'd browsed around kernel/printk.c and not found what I needed, hadn't realized there's a lib/ratelimit.c.
It looks eerily like what I'm trying to do, just a less specific missed/suppressed message, never mind that. I'll try making a patch later to replace this (in its subsequent KERN_ALERT form) by that - in doing so, perhaps I'll encounter a problem, but should be good.
Hugh
| |