public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Travis <travis@sgi.com>
To: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Dhaval Giani <dhaval@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, Jack Steiner <steiner@sgi.com>
Subject: Re: [PATCH 0/3] dyn_array support #2
Date: Thu, 31 Jul 2008 09:32:56 -0700	[thread overview]
Message-ID: <4891E938.40708@sgi.com> (raw)
In-Reply-To: <200807302109.21519.yhlu.kernel@gmail.com>

Yinghai Lu wrote:
> please check the patches adding dyn_array and nr_irqs #2
> 
> Thanks
> 
> YH


It appears that the primary difference between your patch and Eric's
is that you estimate the number of IRQ's required based on the number
of cpus present, while Eric's patch grows the list based on the IRQ's
being requested.  For soon to be "power" desktop systems (say dual 8 core
Nahalem's w/HT), you're reserving IRQ's for 32 cpus on a system which
probably has one I/O bus (or maybe two).  A dual socket Larabbee system
will have 256 cpus.  An SGI UV system has more of a "building block"
approach, where you can grow all three (cpus, memory, I/O) independently.

One other very nice feature of Eric's approach is that the new "IRQ"
struct being requested can be created in "node local" memory, cutting
down significantly the number of "cross node" accesses.

Plus, I still like Ingo's suggestion to not change NR_IRQS ==> nr_irqs.
CONFIG_ARCH_HAS_DYNAMIC_IRQS spells out exactly what NR_IRQS means.
(Even more accurate would be CONFIG_ARCH_HAS_DYNAMIC_NR_IRQS.)

The DEFINE_DYN_ARRAY could be the following.  (Changing general purpose
DYN_ARRAY to specifically purposed IRQ_ARRAY.)

#ifdef CONFIG_ARCH_HAS_DYNAMIC_IRQS
#define DEFINE_IRQ_ARRAY <new variable irq array [or list] definition>
#else
#define DEFINE_IRQ_ARRAY <old static irq array>
#endif

For the immediate problem, unraveling the code merge back to IRQ's based
on NR_IOAPICS would seem to be the least intrusive.

Thanks,
Mike

  parent reply	other threads:[~2008-07-31 16:33 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-29 21:14 [PATCH] x86: 64bit support more than 256 irq v2 Yinghai Lu
2008-07-29 22:16 ` Yinghai Lu
2008-07-29 23:22 ` Eric W. Biederman
2008-07-30  4:38 ` RFC [PATCH] x86: introduce nr_irqs for 64bit Yinghai Lu
2008-07-30 10:09   ` Ingo Molnar
2008-07-30 10:16     ` Yinghai Lu
2008-07-30 12:58     ` Mike Travis
2008-07-30 10:11   ` [PATCH] x86: introduce nr_irqs for 64bit v2 Yinghai Lu
2008-07-30 19:10     ` [PATCH 0/7] dyn_array support Yinghai Lu
2008-07-30 19:13       ` [PATCH 2/7] x86: introduce nr_irqs for 64bit v3 Yinghai Lu
2008-07-30 19:16       ` [PATCH 5/7] pci: make irq2_iommu to use dyn_array Yinghai Lu
2008-07-30 19:18       ` [PATCH 7/7] x86: make 64bit support dyn_array Yinghai Lu
2008-07-30 19:27       ` [PATCH 1/7] x86: 64bit support more than 256 irq v1 Yinghai Lu
2008-07-30 19:37       ` [PATCH 3/7] add dyn_array support Yinghai Lu
2008-07-30 19:40       ` [PATCH 6/7] irq: make irq_desc to use dyn_array Yinghai Lu
2008-07-30 19:40       ` [PATCH 4/7] random: make irq_timer_state " Yinghai Lu
2008-07-31  4:09       ` [PATCH 0/3] dyn_array support #2 Yinghai Lu
2008-07-31  4:10         ` [PATCH 1/3] serial: change irq_lists to use dyn_array Yinghai Lu
2008-07-31  5:58           ` Eric W. Biederman
2008-07-31  8:26           ` [PATCH] serial: change remove NR_IRQS in 8250.c Yinghai Lu
2008-07-31 11:50             ` Eric W. Biederman
2008-07-31 13:57               ` Alan Cox
2008-07-31 18:10                 ` Eric W. Biederman
2008-07-31 23:15                   ` Alan Cox
2008-08-01  3:20               ` Yinghai Lu
2008-07-31  4:11         ` [PATCH 2/3] add per_cpu_dyn_array support Yinghai Lu
2008-07-31  4:12         ` [PATCH 3/3] irq: make irqs in kernel stat use per_cpu_dyn_array Yinghai Lu
2008-07-31 10:14         ` [PATCH] x86 remove irq_vectors_limit.h Yinghai Lu
2008-07-31 16:32         ` Mike Travis [this message]
2008-07-31 18:21           ` [PATCH 0/3] dyn_array support #2 Yinghai Lu
2008-07-31 21:51         ` Peter Zijlstra
2008-07-31 22:07           ` Yinghai Lu
2008-07-31 22:25             ` Yinghai Lu
2008-08-01  3:52               ` Yinghai Lu
2008-07-31 22:14           ` Eric W. Biederman
2008-08-01 20:13       ` [PATCH 0/7] dyn_array support Eric W. Biederman

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=4891E938.40708@sgi.com \
    --to=travis@sgi.com \
    --cc=akpm@linux-foundation.org \
    --cc=dhaval@linux.vnet.ibm.com \
    --cc=ebiederm@xmission.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=steiner@sgi.com \
    --cc=tglx@linutronix.de \
    --cc=yhlu.kernel@gmail.com \
    /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