我知道可以通过发送doorbell来产生中断,但能不能在每次发送完数据后不发送doorbell,在收端产生中断呢?这在功能上应该可以吧?
我想的是利用srio的general purpose interrupt .
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我知道可以通过发送doorbell来产生中断,但能不能在每次发送完数据后不发送doorbell,在收端产生中断呢?这在功能上应该可以吧?
我想的是利用srio的general purpose interrupt .
Direct IO 方式不支持在目的端自动产生中断。
这样设计主要是基于效率的考虑,因为Direct IO在目的地是以最大256B为单位接收的,如果每个都产生中断的话,在大数据量时,目的端的软件没办法响应如此频繁的中断。比如你要一次发送64KB数据,那会产生256个中断,而你你实际只想要一个中断。
Message方式可以自动在目的端产生中断,Message方式在目的端最大接收端单位是64KB,也就是说可以64KB才自动产生一个中断。
谢谢你的回答,再问一下,Message方式如果每次发送的数据小于64kB也可以在目的端产生中断吧?
你说得对。
如果发大量很小的Message包也会在目的端产生大量中断,不过你可以用QMSS的Accumulation功能来累积一定量的包再产生中断。