From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756034Ab0JDWVo (ORCPT ); Mon, 4 Oct 2010 18:21:44 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:40048 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751560Ab0JDWVm (ORCPT ); Mon, 4 Oct 2010 18:21:42 -0400 Date: Mon, 4 Oct 2010 15:21:02 -0700 From: Andrew Morton To: Joe Perches Cc: Daniel Drake , linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Alan Cox , Greg KH Subject: Re: [PATCH] serial8250: ratelimit "too much work" error Message-Id: <20101004152102.1e04f30a.akpm@linux-foundation.org> In-Reply-To: <1286230259.10512.81.camel@Joe-Laptop> References: <20101002110438.801F49D401B@zog.reactivated.net> <20101004145101.b28fdc0a.akpm@linux-foundation.org> <20101004150238.fbc1b6cf.akpm@linux-foundation.org> <1286230259.10512.81.camel@Joe-Laptop> X-Mailer: Sylpheed 2.4.8 (GTK+ 2.12.9; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 04 Oct 2010 15:10:59 -0700 Joe Perches wrote: > On Mon, 2010-10-04 at 15:02 -0700, Andrew Morton wrote: > > On Mon, 4 Oct 2010 14:51:01 -0700 > > Andrew Morton 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!