All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Alan Mayer <ajm@sgi.com>
Cc: torvalds@linux-foundation.org,
	linux-kernel list <linux-kernel@vger.kernel.org>,
	Robin Holt <holt@sgi.com>, Jack Steiner <steiner@sgi.com>,
	Russ Anderson <rja@sgi.com>
Subject: Re: [PATCH] x86_64: resize NR_IRQS for large machines (re-submit)
Date: Thu, 27 Mar 2008 17:33:15 +0100	[thread overview]
Message-ID: <20080327163314.GA24180@elte.hu> (raw)
In-Reply-To: <Pine.SGI.3.96.1080327110732.7873204d-100000@fergus.americas.sgi.com>


* Alan Mayer <ajm@sgi.com> wrote:

> > well, i dont it has to be (or it should be) an all or nothing patch, 
> > given the complexity and risks involved.
> > 
> > - we should first introduce a nr_irqs variable and a Kconfig switch 
> >   (say CONFIG_ARCH_HAS_DYNAMIC_NR_IRQS) for architectures to toggle. If 
> >   the switch is toggled, nr_irqs is a variable, otherwise it's a carbon 
> >   copy of NR_IRQS. Some array-definition, declaration and initialization 
> >   wrappers are provided as well.
> > 
> > - then the core code, x86 and most drivers can be converted to nr_irqs.
> >   The switch might initially even be user-selectable if
> >   CONFIG_DEBUG_KERNEL, to ease regression testing.
> > 
> > - other architectures will follow one by one, fixing their
> >   arch-dependent drivers as well in the process
> > 
> > - finally we get rid of the wrappers.
> > 
> > 	Ingo
> > 
> 
> Okay, let's see if I understand this.
> 
> First patch introduces a config switch and a variable, nr_irqs that is
> set to NR_IRQS.  It also dynamically allocates the currently staticly
> allocated arrays that are dimensioned by NR_IRQS.  It also initializes
> these dynamically allocated data structures.  This is all done under
> the config switch, initially off by default.  
> 
> Second patch changes core code, x86 and most drivers to use nr_irqs.
> This patch will also introduce a calculation of nr_irqs, based on
> interrupt sources, that is a better estimate of the number of irqs
> in the running system than just picking a guaranteed not-to-exceed
> value that may be too big.
> Is there a way to identify which drivers need to be addressed?
> 
> Then, test the crap out of it.  
> 
> Other architectures will follow, with the work being done by people
> familiar with those architectures.
> 
> Clean up anything that's left over that's now been made unnecessary by
> the conversion by everyone.  Including the config option?
> 
> Do I have the gist of it?

i think you got it right, yes. But ... this is just a quick first-look 
suggestion from me, YMMV. Maybe you find a way to do it much easier to 
just convert everything at once. I tend to do things more gradually, in 
my experience it's very hard and time-consuming to change the world all 
at once - it's hard both to you the developer (you dont know whether it 
works until you have a very substantial amount of code written - while 
in a more gradual approach it can be converted one by one perhaps) - and 
it's hard for users and fellow kernel hackers.

	Ingo

  reply	other threads:[~2008-03-27 16:33 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-26 21:11 [PATCH] x86_64: resize NR_IRQS for large machines (re-submit) Alan Mayer
2008-03-26 21:23 ` Ingo Molnar
2008-03-26 21:40   ` Alan Mayer
2008-03-26 22:24     ` Ingo Molnar
2008-03-27 16:16       ` Alan Mayer
2008-03-27 16:33         ` Ingo Molnar [this message]
2008-03-27 16:53           ` Alan Mayer
2008-03-28  9:32             ` Ingo Molnar

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=20080327163314.GA24180@elte.hu \
    --to=mingo@elte.hu \
    --cc=ajm@sgi.com \
    --cc=holt@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rja@sgi.com \
    --cc=steiner@sgi.com \
    --cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.