[openib-general] [PATCH] roland-uverbs: possible race condition

Michael Krause krause at cup.hp.com
Wed Feb 2 12:54:01 PST 2005


At 07:27 PM 2/1/2005, Roland Dreier wrote:
>     Michael> Ordering matrix is documented within the PCIe base 1.0a
>     Michael> specification.  The rules are fairly straight forward
>     Michael> depending upon the capabilities being accessed.  Too much
>     Michael> to type in here but to give you an idea:
>
>     Michael> - INTx are treated as writes from a PCIe transaction
>     Michael> perspective.
>
>Thanks, I had found that matrix.  However I was not able to find any
>language about ordering of interrupts and writes outside of the PCI
>Express domain -- the question is whether an interrupt could pass a
>memory write transaction upstream of the root complex.  For example,
>one could imagine a PCIe host bridge for a CPU that has no provision
>for in-band interrupt signaling, so the host bridge must signal all
>interrupts by asserting an interrupt pin that is independent of the
>CPU's memory bus.

This is a platform / chipset issue and not a PCIe protocol / specification 
issue since the problem is outside the scope of the root complex / root 
port (RC/RP).

>In this case what guarantees ordering?  Another similar situation would be 
>a PCI-PCIe reverse bridge where the bridge has to convert PCIe INTx 
>messages to real PCI interrupt pins -- it seems impossible for any 
>ordering to be guaranteed.

Again, this is a platform / chipset issue.  A reverse bridge would be 
required to maintain the ordering of the PCIe transactions and signal the 
PCI/PCI-X INTx accordingly.  Given the problem is solved for PCI/PCI-X at 
the chipset / platform level, there really isn't anything that PCIe can do 
in terms of specification or rules.


>In fact, section 6.1.3 of the PCIe spec says
>
>     "Note that similarly to physical interrupt signals, the INTx 
> emulation mechanism may potentially cause spurious interrupts that must 
> be handled by the system software."
>
>which is conspicuously silent on ordering issues but seems to me to be 
>saying "watch out."

It is silent because it is outside the scope of PCIe technology.  The 
informational note is there to act as a warning for those that may not be 
experienced in designing these types of solutions.

Let's take a step back and focus on what people believe is a problem for 
OpenIB to solve here.  What do people believe is the root cause?

Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20050202/a8a20eb3/attachment.html>


More information about the general mailing list