From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: colpatch@us.ibm.com
Cc: Linus Torvalds <torvalds@transmeta.com>,
linux-kernel@vger.kernel.org, Martin Bligh <mjbligh@us.ibm.com>,
Michael Hohnbaum <hohnbaum@us.ibm.com>
Subject: Re: [patch] PCI configuration fix for NUMA-Q
Date: 09 Aug 2002 00:41:59 +0100 [thread overview]
Message-ID: <1028850119.30103.117.camel@irongate.swansea.linux.org.uk> (raw)
In-Reply-To: <3D52EBB2.1070202@us.ibm.com>
On Thu, 2002-08-08 at 23:07, Matthew Dobson wrote:
> Linus,
> The PCI code for NUMA-Q machines has been broken for a while... The kernel
> currently can't find PCI busses on quad's other than the first. This patch
> fixes that problem. Please apply.
Its a tiny bit more code to implement a set of pci ops instead of
hacking CONFIG_MULTIQUAD into the core code and it gets rid of the
ifdefs for BUS2QUAD and the like if you instead of ideffing it all
split the pci_conf1_ ops so you have your own copy with BUS2QUAD bits
called pci_conf1_mq_.... and put the originals back cleanly without
multiquad.
All you then have to do is
static struct pci_ops pci_direct_mq_conf1 = {
pci_conf1_read_mq_config_byte,
pci_conf1_read_mq_config_word,
pci_conf1_read_mq_config_dword,
pci_conf1_write_mq_config_byte,
pci_conf1_write_mq_config_word,
pci_conf1_write_mq_config_dword
};
and in the probe path a single clean
#ifdef CONFIG_MULTIQUAD
/* Multi-Quad has an extended PCI Conf1 */
if(clustered_apic_mode)
return &pci_direct_mq_conf1;
#endif
return &pci_direct_conf1;
}
which even takes the bus2quad maths out of line for non numa boxes
running the summit kernel code
Less ifdefs, less magic macros, minutely better performance and it
scales for future stuff when Intel/Dell/whoever releases their NUMA
chipset
(See 2.4.20pre-ac although the effect is less obvious there as its all
in one file anyway in 2.4)
prev parent reply other threads:[~2002-08-08 22:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-08 22:07 Matthew Dobson
2002-08-08 23:41 ` Alan Cox [this message]
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=1028850119.30103.117.camel@irongate.swansea.linux.org.uk \
--to=alan@lxorguk.ukuu.org.uk \
--cc=colpatch@us.ibm.com \
--cc=hohnbaum@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mjbligh@us.ibm.com \
--cc=torvalds@transmeta.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
all inboxes | Powered by JetHome®