Re: [PATCH/RFT] finish i386 and x86-64 sysdata conversion

From: Yinghai Lu
Date: Sun Aug 05 2007 - 04:50:33 EST


On 8/5/07, Muli Ben-Yehuda <muli@xxxxxxxxxx> wrote:
> This patch finishes the i386 and x86-64 ->sysdata conversion and
> hopefully also fixes Riku's and Andy's observed bugs. It is based on
> Yinghai Lu's and Andy Whitcroft's patches (thanks!) with some changes:
>
> - introduce pci_scan_bus_with_sysdata() and use it instead of
> pci_scan_bus() where appropriate. pci_scan_bus_with_sysdata() will
> allocate the sysdata structure and then call pci_scan_bus().
> - always allocate pci_sysdata dynamically. The whole point of this
> sysdata work is to make it easy to do root-bus specific things
> (e.g., support PCI domains and IOMMU's). I dislike using a default
> struct pci_sysdata in some places and a dynamically allocated
> pci_sysdata elsewhere - the potential for someone indavertantly
> changing the default structure is too high.
> - this patch only makes the minimal changes necessary, i.e., the NUMA node is
> always initialized to -1. Patches to do the right thing with regards
> to the NUMA node can build on top of this (either add a 'node'
> parameter to pci_scan_bus_with_sysdata() or just update the node
> when it becomes known).
>
> The patch was compile tested with various configurations (e.g., NUMAQ,
> VISWS) and run-time tested on i386 and x86-64. Unfortunately none of
> my machines exhibited the bugs so caveat emptor.
>
> Andy, could you please see if this fixes the NUMA issues you've seen?
> Riku, does this fix "pci=noacpi" on your laptop?
>
> Comments appreciated. If this looks ok it should go into 2.6.23.
>
> Signed-off-by: Muli Ben-Yehuda <muli@xxxxxxxxxx>
> Cc: Yinghai Lu <yhlu.kernel@xxxxxxxxx>
> Cc: Andi Kleen <ak@xxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Chuck Ebbert <cebbert@xxxxxxxxxx>,
> Cc: riku.seppala@xxxxxxxx
> Cc: Andy Whitcroft <apw@xxxxxxxxxxxx>
> Cc: Jeff Garzik <jeff@xxxxxxxxxx>
> ---

sounds good.

Can you change
pci_scan_bus_with_sysdata(int busno)
to
pci_scan_bus_on_node(int bus, struct pci_ops *ops, int node)?

pci_scan_bus_with_sysdata(int busno) make me feel that i need feed one
sysdata as on param for it.

I only need to update irq.c and legacy.c in my patch.

YH
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/