[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <473ADF46.3020207@jp.fujitsu.com>
Date: Wed, 14 Nov 2007 20:43:02 +0900
From: Kenji Kaneshige <kaneshige.kenji@...fujitsu.com>
To: Alex Chiang <achiang@...com>
Cc: gregkh@...e.de, kristen.c.accardi@...el.com, lenb@...nel.org,
matthew@....cx, richard.jones2@...com,
linux-kernel@...r.kernel.org, linux-pci@...ey.karlin.mff.cuni.cz,
pcihpd-discuss@...ts.sourceforge.net, linux-acpi@...r.kernel.org
Subject: Re: [PATCH 0/5][RFC] Physical PCI slot objects
Hi,
I tried the series of patches and I encountered some problems.
Since I don't have enough time to investigate them, I can only
report them at present. My environment was ia64 machine with 64
hotplug slots (shpc & pcie). Those slots can be handled by
acpiphp too, though I have not tried it yet.
- Problem(1)
Two kind of Call Traces were displayed so many times at the
boot time. Those are attached below. I guess it relate to
the ACPI Namespace definition.
- Problem(2)
Many of the shpc slot initializations failed with the
following error messages. I guess the cause is Problem(1).
shpchp: pci_hp_register failed with error -17
shpchp: shpchp: slot initialization failed
- Problem(3)
All of the pcie slot initializations failed with the
following error messages. I guess the cause is Problem(1).
pciehp: pci_hp_register failed with error -17
pciehp: pciehp: slot initialization failed
BTW, I have some comments about the patches.
- I think your patches assume that all the hotplug slots have
ACPI _SUN method regardless of the hotplug controller type,
because pci_slot.c is the only place to call pci_slot_create().
But I think there are hotplug slots without _SUN. If the
hotplug slot doesn't have _SUN, slot initialization by the
hotplug controller driver doesn't work (does it?), because
there are no slot directory.
- I think pci_slot.o should be kernel module so that users can
select to enable or disable this functionality.
Here is the Call Trace mentioned above:
Unable to register kobject 1024<3>pci_slot: pci_create_slot returned -22
ACPI: Invalid ACPI Bus context for device <NULL>
sysfs: duplicate filename '1024' can not be created
WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
Call Trace:
[<a000000100014b60>] show_stack+0x40/0xa0
sp=e000014101befaf0 bsp=e000014101be0f60
[<a000000100014bf0>] dump_stack+0x30/0x60
sp=e000014101befcc0 bsp=e000014101be0f48
[<a0000001001d6990>] sysfs_add_one+0xb0/0x240
sp=e000014101befcc0 bsp=e000014101be0f18
[<a0000001001d7900>] create_dir+0x80/0x100
sp=e000014101befcc0 bsp=e000014101be0ee0
[<a0000001001d7a30>] sysfs_create_dir+0xb0/0x100
sp=e000014101befce0 bsp=e000014101be0ec0
[<a0000001003b4f50>] kobject_add+0x250/0x460
sp=e000014101befcf0 bsp=e000014101be0e80
[<a0000001003b52d0>] kobject_register+0x50/0xa0
sp=e000014101befcf0 bsp=e000014101be0e58
[<a0000001003d6f40>] pci_create_slot+0x140/0x260
sp=e000014101befcf0 bsp=e000014101be0e10
[<a00000010043acd0>] register_slot+0x170/0x1c0
sp=e000014101befcf0 bsp=e000014101be0dc0
[<a000000100419ef0>] acpi_ns_walk_namespace+0x2b0/0x300
sp=e000014101befd20 bsp=e000014101be0d50
[<a000000100415a50>] acpi_walk_namespace+0x90/0xc0
sp=e000014101befd20 bsp=e000014101be0d00
[<a00000010043ab20>] acpi_pci_slot_add+0x1c0/0x200
sp=e000014101befd20 bsp=e000014101be0cd8
[<a0000001004367e0>] acpi_pci_register_driver+0xe0/0x160
sp=e000014101befd30 bsp=e000014101be0ca8
[<a000000100920620>] acpi_pci_slot_init+0x20/0x40
sp=e000014101befd30 bsp=e000014101be0c90
[<a0000001008f06e0>] kernel_init+0x460/0x7e0
sp=e000014101befd30 bsp=e000014101be0c48
[<a000000100013110>] kernel_thread_helper+0x30/0x60
sp=e000014101befe30 bsp=e000014101be0c20
[<a0000001000089c0>] start_kernel_thread+0x20/0x40
sp=e000014101befe30 bsp=e000014101be0c20
kobject_add failed for 1024 with -EEXIST, don't try to register things with the
same name in the same directory.
Call Trace:
[<a000000100014b60>] show_stack+0x40/0xa0
sp=e000014101befb20 bsp=e000014101be0ed8
[<a000000100014bf0>] dump_stack+0x30/0x60
sp=e000014101befcf0 bsp=e000014101be0ec0
[<a0000001003b50e0>] kobject_add+0x3e0/0x460
sp=e000014101befcf0 bsp=e000014101be0e80
[<a0000001003b52d0>] kobject_register+0x50/0xa0
sp=e000014101befcf0 bsp=e000014101be0e58
[<a0000001003d6f40>] pci_create_slot+0x140/0x260
sp=e000014101befcf0 bsp=e000014101be0e10
[<a00000010043acd0>] register_slot+0x170/0x1c0
sp=e000014101befcf0 bsp=e000014101be0dc0
[<a000000100419ef0>] acpi_ns_walk_namespace+0x2b0/0x300
sp=e000014101befd20 bsp=e000014101be0d50
[<a000000100415a50>] acpi_walk_namespace+0x90/0xc0
sp=e000014101befd20 bsp=e000014101be0d00
[<a00000010043ab20>] acpi_pci_slot_add+0x1c0/0x200
sp=e000014101befd20 bsp=e000014101be0cd8
[<a0000001004367e0>] acpi_pci_register_driver+0xe0/0x160
sp=e000014101befd30 bsp=e000014101be0ca8
[<a000000100920620>] acpi_pci_slot_init+0x20/0x40
sp=e000014101befd30 bsp=e000014101be0c90
[<a0000001008f06e0>] kernel_init+0x460/0x7e0
sp=e000014101befd30 bsp=e000014101be0c48
[<a000000100013110>] kernel_thread_helper+0x30/0x60
sp=e000014101befe30 bsp=e000014101be0c20
[<a0000001000089c0>] start_kernel_thread+0x20/0x40
sp=e000014101befe30 bsp=e000014101be0c20
Unable to register kobject 1024<3>pci_slot: pci_create_slot returned -22
Thanks,
Kenji Kaneshige
Alex Chiang ????????:
> Hello,
>
> [this patch series touches a few subsystems; hopefully I got all
> the right maintainers]
>
> Recently, Matthew Wilcox sent out the following mail about PCI
> slots:
>
> http://marc.info/?l=linux-pci&m=119432330418980&w=2
>
> The following patch series is a rough first cut at implementing
> the ideas he outlined, namely, that PCI slots are physical
> objects that we care about, independent of their hotplug
> capabilities.
>
> We introduce a struct pci_slot as a first-class citizen, and turn
> hotplug_slot into a subsidiary structure. A brief glimpse at the
> potential for cleanup is given, as we modify the existing hotplug
> drivers and remove the multiple get_address() methods. Certainly
> more cleanup can be done with this new structure.
>
> Additionally, we introduce an ACPI PCI slot driver, which will
> detect all physical PCI slots in the system (as described by
> ACPI). De-coupling the notion of a physical slot from its hotplug
> capability allows users to understand the physical geography of
> their machines, whether their slots are hotpluggable or not.
>
> This patch series builds heavily on Willy's prior work (with a
> bit of the typical refresh needed when aiming at the moving
> target of the kernel). The ACPI PCI slot driver is new.
>
> I have tested this series on both ia64 (hp rx6600) and x86 (hp
> dl380g). On ia64, system firmware provides _SUN methods for the
> PCI slots and we get entries in /sys/bus/pci/slots/. On my x86
> machine, firmware didn't seem to provide a _SUN, so we don't get
> any entries in /sys/bus/pci/slots/, but nothing really bad
> happens either. ;)
>
> Comments/feedback are appreciated.
>
> Thanks.
>
> /ac
>
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists