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.

6616 QMSS tx completion queue 如何产生中断问题?

首先想确认下我的理解tx FDQ和tx completion queue是同一个概念(如果不对请指正)。我在我的应用中使用的tx FDQ 有三个descriptors。我想发送完一个packet后能产生一个中断来做一些后处理。我的理解是packet发送成功的标志应该是tx completion queue 成功回收到了一个descriptor(如果不对请指正),所以希望通过tx completion queue 每回收一个descriptor产生中断来做后处理。因为我的tx completion queue中有三个descriptors,想每回收一个descriptor就产生一个中断,分析下来觉的accumulator queue和queue pend queue都不能达到要求。请帮忙看看我的理解对不对?是否有更好的方法来实现发送成功后做一些后处理操作的方法?多谢!

  • 准确的来说QMSS里面发送有3个queue的概念,空闲Queue,发送Queue,完成Queue。空闲Queue提供空闲的descriptor,发送Queue发送pakcet,完成Queue接受发送完成的Descriptor。其中空闲Queue和完成Queue可以是同一个Queue。(比如你的理解FDQ和Completion Queue可以是同一个概念)。

    在你的需求中,最好空闲Queue和完成Queue是不同的Queue,你将完成Queue设置为可以产生Queue Pend Queue的中断。在开始的时候完成Queue中descriptor数目为0,当发送一个queue之后,完成Queue接受到1个descriptor,这时产生中断,你可以处理这个中断,在中断中将这个descriptor回收到空闲Queue,这样完成中断处理过程。

x 出现错误。请重试或与管理员联系。