Re: Q: state of pci express hotplug

From: Kenji Kaneshige
Date: Sun Feb 01 2009 - 21:19:34 EST


Eric W. Biederman wrote:
> Trying to use the current pciehp code, on real hardware in an
> interesting topology (more later) I'm not finding it very satisfactory
> at all. I am up to at least three show stopper bugs and the code
> is not doing what I really need it to do, so I am looking at a significant
> rewrite patch effort to make this code usable.
>

I'd like to know details of the bugs. Could you please show the
details of the bugs?

> Am I unique in thinking there is a lot that needs to be done?
> Is there current work in progress to make the pci hotplug work better?
>

In my personal opinion, there are at least the following items need to
be done for pciehp.

o Possible bugs
-Current pcie_isr function (interrupt service routine of pciehp) has
a possibility to get into endless loop in the case that bits in Slot
Status register is set again immediately after cleared. According to
the past discussion in the pcihpd-discuss ML, this can happen on the
power fault detected bit on some platforms.

-Current pciehp disables software notification of adapter presence
changed event and MRL changed event when slot is turned off. Because
of this, there is no way to detect those events on empty slots in the
current pciehp implementation.

o Missing Features
-Current pciehp doesn't support Data Link Layer State Changed event
software notification.
-No event notification mechanism to userland.
-When hot-removal request is initiated through the Attention Button
press, there is no chance to prepare hot-removal (unmount for example).
-Userland utilities.

o Cleanups
-slot list is not needed because there is only one slot under the
switch downstream port.
-hpc_ops is redundant.
-some fields in the struct controller, struct slot are redundant.

o Misc
-I don't think power fault management routines are well tested.
-I don't think EMI management routines are well tested.

Thanks,
Kenji Kaneshige


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