mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Randy.Dunlap" <rdunlap@xenotime.net>
To: ebiederm@xmission.com (Eric W. Biederman)
Cc: Andrew Morton <akpm@osdl.org>, Andi Kleen <ak@suse.de>,
	"Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86_64: Make NR_IRQS configurable in Kconfig
Date: Mon, 7 Aug 2006 12:04:54 -0700	[thread overview]
Message-ID: <20060807120454.79b6e1dc.rdunlap@xenotime.net> (raw)
In-Reply-To: <m1psfcbcnk.fsf@ebiederm.dsl.xmission.com>

On Mon, 07 Aug 2006 12:53:35 -0600 Eric W. Biederman wrote:

> 
> Currently on a SMP system we can theoretically support
> NR_CPUS*224 irqs.  Unfortunately our data structures
> don't cope will with that many irqs, nor does hardware
> typically provide that many irq sources.
> 
> With the number of cores starting to follow Moore's Law,
> and the apicid limits being raised beyond an 8bit
> number trying to track our current maximum with our
> current data structures would be fatal and wasteful.
> 
> So this patch decouples the number of irqs we support
> from the number of cpus.  We can revisit this decision
> once someone reworks the current data structures.
> 
> This version has my stupid typos fix and the true maximum
> exposed to make it clear that I have a low default.  The
> worst that I can see happening is there won't be any
> per_cpu space left for modules if someone sets this
> too high, but the system should still boot.
> 
> For non-SMP systems the default is set to 224 IRQs.
> 
> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
> ---
>  arch/x86_64/Kconfig      |   14 ++++++++++++++
>  include/asm-x86_64/irq.h |    3 ++-
>  2 files changed, 16 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig
> index 7598d99..c87b0bc 100644
> --- a/arch/x86_64/Kconfig
> +++ b/arch/x86_64/Kconfig
> @@ -384,6 +384,20 @@ config NR_CPUS
>  	  This is purely to save memory - each supported CPU requires
>  	  memory in the static kernel configuration.
>  
> +config NR_IRQS
> +	int "Maximum number of IRQs (224-57344)"
> +	range 224 57344
> +	default "4096" if SMP
> +	default "224" if !SMP
> +	help
> +	  This allows you to specify the maximum number of IRQs which this
> +	  kernel will support. Current default is 4096 IRQs as that
> +	  is slightly larger than has observed in the field.  Setting
> +	  a noticeably larger value will exhaust your per cpu memory,
> +	  and waste memory in the per irq arrays.

If you'll fix this text for the non-SMP case too, I think
you'll be done.  :)


> +	  If unsure leave this at the default.
> +
>  config HOTPLUG_CPU
>  	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
>  	depends on SMP && HOTPLUG && EXPERIMENTAL
> diff --git a/include/asm-x86_64/irq.h b/include/asm-x86_64/irq.h
> index 5006c6e..34b264a 100644
> --- a/include/asm-x86_64/irq.h
> +++ b/include/asm-x86_64/irq.h
> @@ -31,7 +31,8 @@ #define NR_VECTORS 256
>  
>  #define FIRST_SYSTEM_VECTOR	0xef   /* duplicated in hw_irq.h */
>  
> -#define NR_IRQS (NR_VECTORS + (32 *NR_CPUS))
> +/* We can use at most NR_CPUS*224 irqs at one time */
> +#define NR_IRQS (CONFIG_NR_IRQS)
>  #define NR_IRQ_VECTORS NR_IRQS
>  
>  static __inline__ int irq_canonicalize(int irq)
> -- 

---
~Randy

  reply	other threads:[~2006-08-07 19:02 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-07 15:26 Eric W. Biederman
2006-08-07 15:33 ` Andi Kleen
2006-08-07 15:55   ` Eric W. Biederman
2006-08-07 15:59 ` Randy.Dunlap
2006-08-07 16:11   ` Protasevich, Natalie
2006-08-07 16:17     ` Andi Kleen
2006-08-07 16:23       ` Protasevich, Natalie
2006-08-07 16:58       ` Eric W. Biederman
2006-08-07 16:44   ` Eric W. Biederman
2006-08-07 17:00     ` H. Peter Anvin
2006-08-07 17:46       ` Eric W. Biederman
2006-08-07 17:52         ` H. Peter Anvin
2006-08-07 17:30   ` Eric W. Biederman
2006-08-07 17:55     ` Randy.Dunlap
2006-08-07 18:16       ` Eric W. Biederman
2006-08-07 18:53       ` Eric W. Biederman
2006-08-07 19:04         ` Randy.Dunlap [this message]
2006-08-07 22:10           ` Eric W. Biederman
2006-08-07 23:55             ` Andrew Morton
2006-08-08  2:17               ` Andi Kleen
2006-08-08  2:41                 ` Andrew Morton
2006-08-08  2:47                   ` Arjan van de Ven
2006-08-08  5:47                     ` [PATCH] x86_64: Auto size the per cpu area Eric W. Biederman
2006-08-08  6:01                       ` Andrew Morton
2006-08-08  6:31                         ` Eric W. Biederman
2006-08-08  6:01                       ` Andi Kleen
2006-08-08  6:46                         ` Eric W. Biederman
2006-08-08  6:48                           ` Andi Kleen
2006-08-08  7:29                             ` Eric W. Biederman
2006-08-08  5:09                   ` [PATCH] x86_64: Make NR_IRQS configurable in Kconfig Paul Mackerras
2006-08-08  5:14                     ` Andi Kleen
2006-08-08  8:17                       ` Martin Schwidefsky
2006-08-09 17:58                         ` Luck, Tony
2006-08-09 18:25                           ` Dave Hansen
2006-08-10 12:55                             ` Martin Schwidefsky
2006-08-10 14:40                               ` Andy Whitcroft
2006-08-10 14:53                                 ` Martin Schwidefsky
2006-08-07 19:40         ` Adrian Bunk
2006-08-07 22:26           ` Eric W. Biederman
2006-08-07 23:06             ` Adrian Bunk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060807120454.79b6e1dc.rdunlap@xenotime.net \
    --to=rdunlap@xenotime.net \
    --cc=Natalie.Protasevich@UNISYS.com \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®