xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* VT-d flush timeout
@ 2014-08-18  2:01 Zhang, Yang Z
  2014-08-18  9:47 ` Andrew Cooper
  2014-08-18 12:48 ` Jan Beulich
  0 siblings, 2 replies; 21+ messages in thread
From: Zhang, Yang Z @ 2014-08-18  2:01 UTC (permalink / raw)
  To: xen-devel@lists.xen.org
  Cc: Li, LiangX Z, Andrew Cooper, Tian, Kevin,
	'Jan Beulich (JBeulich@suse.com)'

Hi all

This is continuing with previous discussion about VT-d spin loop. According previous discussion, we will deal with current 1 second flush timeout firstly.

After reviewing Linux IOMMU code, it uses the timeout mechanism widely, e.g., flush iotlb and context via register based mechanism,
__iommu_flush_context():
    /* Make sure hardware complete it */
    IOMMU_WAIT_OP(iommu, DMAR_CCMD_REG,
       dmar_readq, (!(val & DMA_CCMD_ICC)), val);

The only place it doesn't use this timeout mechanism is queue based invalidation. I think the reason is that the max number of queue entry is 2^15 and we don't know how much time is needed really to flush 2^15 entries. So it is better to not use timeout here. Likewise, for Xen side, we will only remove the timeout in qi flush function and use spin for instead. 

Any comments?

best regards
yang

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2014-09-26  6:30 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-18  2:01 VT-d flush timeout Zhang, Yang Z
2014-08-18  9:47 ` Andrew Cooper
2014-08-18 12:48 ` Jan Beulich
2014-08-19  1:34   ` Zhang, Yang Z
2014-08-19 13:02     ` Jan Beulich
2014-08-21  3:16       ` Zhang, Yang Z
2014-08-22  7:33         ` Jan Beulich
2014-08-22  7:49           ` Zhang, Yang Z
2014-08-22  7:58             ` Jan Beulich
2014-08-22  8:05               ` Zhang, Yang Z
2014-08-25 17:21                 ` Dugger, Donald D
2014-09-25  1:02       ` Dong, Eddie
2014-09-25  8:55         ` Jan Beulich
2014-09-25 10:44           ` Andrew Cooper
2014-09-25 10:55             ` Jan Beulich
2014-09-25 10:56               ` Andrew Cooper
2014-09-25 11:48                 ` Jan Beulich
2014-09-25 21:21                   ` Tian, Kevin
2014-09-25 23:23           ` Dong, Eddie
2014-09-26  1:07             ` Zhang, Yang Z
2014-09-26  6:30             ` Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).