Re: [PATCH 0/4, v3] Physical PCI slot objects

From: Alex Chiang
Date: Mon Nov 19 2007 - 17:02:54 EST


Hi Kristin,

* Kristen Carlson Accardi <kristen.c.accardi@xxxxxxxxx>:
> Alex Chiang <achiang@xxxxxx> wrote:
>
> > I have done quite a bit more testing, and verified that this
> > series plays nicely with acpiphp during all stages of the
> > series. Notably, you can modprobe/rmmod acpiphp repeatedly
> > no matter where you are in the series, and no matter whether
> > you have CONFIG_ACPI_PCI_SLOT turned on. The correct entries
> > in /sys/bus/pci/slots/ will appear and disappear, and we
> > correctly register/deregister ACPI slots with the pci_hp
> > core.
>
> How does this patch play with non-acpi based hotplug such as
> the pciehp driver or the shpchp driver for example?

Thanks for asking these questions -- I fixed some bugs in patches
3/4 and 4/4 that should lead to a much better experience.

First, it turns out I did not modify the pciehp driver correctly
when using the new pci_hp_register interface. I fixed this bug,
and noticed a problem in the rpaphp driver (which I fixed as
well). I visually inspected the shpchp driver, and it *seems* to
be correct, so no change there. I will send these fixes as Patch
3/4, v4.

Second, I resolved the issue of what happens when two different
hp drivers try to claim the same PCI slot. Basically, whoever
registered the slot first wins, and second place gets a -EBUSY
return value. I *think* that is the correct behavior, as Willy
informs me that having two drivers try to claim the same slot is
badness. These fixes will be sent as Patch 4/4, v4.

I tested by modprobe/rmmod both acpiphp and pciehp multiple
times, and in differing orders. I also tested both
CONFIG_ACPI_PCI_SLOT turned on and off. In all cases, at least
what I intended to happen did happen.

Now whether my intentions were correct or misguided might be a
different story... ;) I'm wondering most about the -EBUSY thing,
but I don't see a better option.

Patches 1/4 and 2/4 had no changes so I will not resend them.

Thanks.

/ac

-
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/