[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
re: <none>
- To: Mailing List Recipients <pci-sig-request@znyx.com>
- Subject: re: <none>
- From: YVazir@corp.adaptec.com
- Date: 02 May 97 09:49:00 PDT
- In-Reply-To: <"XDNI41.0.rm5.PpOQp"@dart>
- References: <"XDNI41.0.rm5.PpOQp"@dart>
- Reply-To: YVazir@corp.adaptec.com
- Resent-Date: 02 May 97 09:49:00 PDT
- Resent-From: pci-sig-request@znyx.com
- Resent-Message-Id: <"ZwqiL.0.DG7.hTYQp"@dart>
- Resent-Sender: pci-sig-request@znyx.com
Form: Reply
Header: Adaptec
Text: (8 lines follow)
As you said per PCI 2.0 specification the P2P bridges must flush their write
post data before completing a downstream READ transaction. Therefore, the
CPU (Host) bridge should let the P2P complete its transaction. About two
years some host bridges did exactly what you suggest. However, we convinced
them that the proper operation per PCI Spec is to let the P2P complete its
Posted transaction. Since then they all have revised their silicon to avoid
this deadlock. Disabling Write posting in P2P severely limits performance
of downstream devices and in affect is a no-solution.
Original text: (52 lines follow)
From pci-sig-request@znyx.com, on 5/2/97 8:39 AM:
Subject: Transaction ordering
Dear Collegues,
assume a, e.g. Pentium-to-PCI, host bridge implementing a simple
arbitration of the master and target data path, with the master path
(processor to PCI) having a higher priority than the target path (PCI to
main memory). The target in the host bridge has an address latch and a data
FIFO, so only one write transaction can be posted to the host bridge (can
complete on the PCI bus) before the data is actually written to main
memory. Following write transactions will be retried by the host bridge
until the data is written to main memory. If the processor initiates a
master PCI transaction, i.e. a processor transaction to the PCI is started,
the Target in the host bridge cannot access the main memory anymore,
neither for reads nor for writes, until the master (processor) transaction
has completed. This will obviously lead to a deadlock condition if the
master (Processor) reads from a device behind a PCI-to-PCI Bridge (with
write posting enabled) in case the PCI-to-PCI Bridge contains more than one
posted write from the accessed device, as the P2P Bridge is required to
flush its buffers before completing the read transaction (as per PCI Spec.,
Chapter 3.2.5, Transaction Ordering). However this configuration can be
excluded.
Does anyone see another potential deadlock if:
- All devices that will be accessed by the host bridge (processor), e.g.
Ethernet Controller, SCSI Ctrl etc., are on the primary PCI Bus, i.e. there
is no P2P bridge in the system
- or if there is a P2P bridge, the P2P bridge is configured not to support
write posting, i.e. P2P briges? write buffers will never have to be
flushed?
Does anyone know peripherial controller devices, like the above mentioned
SCSI and Ethernet etc., that will flush their (master) write buffers before
servicing a read as a target?
How does a typical controller device behave?
Any comments very appreciated.
------------------------------------------------
Pavel Peleska Tel: ++49 89 722-41253
Siemens AG Fax: ++49 89 722-28502
SN EBG 11
Hofmannstr. 51
81359 Munich Pavel.Peleska@oen.siemens.de
Germany
------------------------------------------------
Use Proportional Font: true
Previous From: pci-sig-request@znyx.com
Previous To: Don Coffin@North America.Adaptec
Original to: Don Coffin@North America.Adaptec
Attachment Count: 0
--$----Novell--Attachment----$
X-NVL-Content-Type: UNKNOWN
X-NVL-Content-Typename: UNKNOWN
X-NVL-Content-Charset: X-IBM-437
X-NVL-Content-Filename: ATTRIBS.BND
X-NVL-Content-Transfer-Encoding: X-UUENCODE
begin 777 ATTRIBS.BND
M0F5Y;VYD(%!A8VME9"!!='1R:6)U=&5S`([]"`\A"@``````0F5Y;VYD(%!R
M;W!R:65T87)Y($1A=&$:`````!$```````0`#0!.`@``````````````````
M````````3W)I9VEN86P@=&5X=-`(1@H`````````````/`(#`-`(-@("``(`
M```T``(``0`!`#(``````````@`S`)X(````````./\```````"0`0``````
M````35,@4V%N<R!397)I9@``````````````````````````````./\`````
M``"0`0``````````5&EM97,@3F5W(%)O;6%N````````````````````````
M`````0`!`#,``@`S`/=_`@!1`/=_`@!2`/=_`@!B`/=_`@!C`/=_`@"E`/=_
M`@#K`/=_`@`U`?=_`@""`?=_`@#-`?=_`@`3`O=_`@!<`O=_`@"D`O=_`@#Q
M`O=_`@`W`_=_`@"#`_=_`@#+`_=_`@`4!/=_`@!A!/=_`@"J!/=_`@#W!/=_
M`@!`!?=_`@!*!?=_`@!+!?=_`@!Z!?=_`@#$!?=_`@`1!O=_`@`P!O=_`@`Q
M!O=_`@!]!O=_`@#"!O=_`@#+!O=_`@#,!O=_`@#-!O=_`@`8!_=_`@!E!_=_
M`@"#!_=_`@"$!_=_`@"Q!_=_`@"R!_=_`@#1!_=_`@#2!_=_`@`#"/=_`@`J
M"/=_`@!1"/=_`@!;"/=_`@!J"/=_`@"7"/=_`@"?"/=_`@#0"/=_`@#1"/=_
M````````````````9``!I`$!2`,![`0!D`8!-`@!V`D!?`L!(`T!Q`X!:!`!
M#!(!L!,!5!4!^!8```````````````!D``$L`0%8`@&$`P&P!`'<!0$(!P$T
M"`%@"0&,"@&X"P'D#`$0#@$\#P%H$```$0``````!``$`*,`````````````
M``````````````!497AT1@)!+@````````````"1``,`1@**``$``0````$`
M`0`!``$`1@(````````X_P```````)`!``````````!4:6UE<R!.97<@4F]M
M86X````````````````````````````!``$`1P(```````````````!D``$L
K`0%8`@&$`P&P!`'<!0$(!P$T"`%@"0&,"@&X"P'D#`$0#@$\#P%H$&4```$L
`
end
--$----Novell--Attachment----$--
c