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
next prev parent 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.