Re: [PATCH] serial8250: ratelimit "too much work" error

Andrew Morton
2010-10-04T22:21:42Z

On Mon, 04 Oct 2010 15:10:59 -0700
Joe Perches <joe@perches.com> wrote:

> On Mon, 2010-10-04 at 15:02 -0700, Andrew Morton wrote:
> > On Mon, 4 Oct 2010 14:51:01 -0700
> > Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > > someone stuck a
> > > DEFINE_RATELIMIT_STATE() in include/linux/kernel.h and it ain't defined
> > > anywhere. Let me fix that up...
> >
> > Well that's a PITA. Can't include ratelimit.h into kernel.h because a)
> > it'll slow everyone's compiels down and b) ratelimit.h needs spinlock.h
> > which surely needs kernel.h. Fixable by adding a new
> > printk_ratelimit.h and including that from 135 source files, blah.
> >
> > I'll give up and pronounce that users of printk_ratelimited() need to
> > include ratelimit.h as well.
>
> What I suggested several months ago was to move the
> macro definitions to ratelimit.h
>
> http://lkml.org/lkml/2010/2/18/377
>

That's a bit nasty because at present ratelimit.h is purely about
ratelimiting and knowns nothing about any of its clients. At present
it has only one client (printk), but it could have more in the future!