Ice Lake PCIe Read TLPs with random RequesterIDs (RIDs)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am curious to know if anybody working with Ice Lake has seen this
behavior where the MemRD TLPs, from a "cpu(s)" issuing I/O Reads
to an I/O device, are carrying varying RequesterID (RID) values that
don't represent any enumerated devices (per lspci) in the system?
The particular system in use is a Supermicro box with 2 CPU sockets,
each socket comprised of a 16 core (2 thread/core) processor. I have
not seen any correlation between issuing the I/O Read operation from
a particular core and the RID that shows up in the respective MemRD
TLP. Normally, I would have expected the RID to have been either 0x0000
or the BDF of the respective Root Port into which the device being
read was plugged into.

I assume this behavior is intended to increase I/O bandwidth and reduce
latency by allowing even more outstanding I/O Reads than is normally
afforded by the (per-device) Tag field of a MemRD TLP.

I have been searching around, but having trouble finding specifics about
this behavior in any specs or micro-architecture documents. If anybody
knows of any pointers it would be greatly appreciated.

Thanks in advance!

Eric



-- 
Eric Pilmore
epilmore@xxxxxxxxxx
http://gigaio.com
Phone: (858) 775 2514

This e-mail message is intended only for the individual(s) to whom
it is addressed and may contain information that is privileged,
confidential, proprietary, or otherwise exempt from disclosure under
applicable law. If you believe you have received this message in
error, please advise the sender by return e-mail and delete it from
your mailbox.
Thank you.



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux