发明名称 Deterministic message processing in a direct memory access adapter
摘要 Deterministic message processing in a direct memory access (DMA) adapter includes the DMA adapter incrementing from a sub-head pointer, the sub-tail pointer until encountering an out-of-sequence packet. The DMA adapter also consumes packets between the sub-head pointer and the sub-tail pointer including incrementing with the consumption of each packet, the sub-head pointer until determining that the sub-head pointer is equal to the sub-tail pointer. In response to determining that the sub-head pointer is equal to the sub-tail pointer, the DMA adapter determines that the next in-sequence packet is not in the first FIFO message queue. In response to determining that the next in-sequence packet is not in the first FIFO message queue and that the first FIFO message queue exceeds a threshold capacity, the DMA controller copies the contents of the first FIFO message queue into the second FIFO message queue.
申请公布号 US9146886(B2) 申请公布日期 2015.09.29
申请号 US201414148299 申请日期 2014.01.06
申请人 International Business Machines Corporation 发明人 Blocksome Michael A.
分类号 G06F13/28 主分类号 G06F13/28
代理机构 Kennedy Lenart Spraggins LLP 代理人 Lenart Edward J.;Kennedy Lenart Spraggins LLP
主权项 1. An apparatus for deterministic message processing in a direct memory access (DMA) adapter, the DMA adapter utilizing a first first-in-first-out (FIFO) message queue and a second FIFO message queue for processing packets received by the DMA adapter, the DMA adapter using a head pointer, a tail pointer, a sub-head pointer, and a sub-tail pointer to point to particular packets within the first FIFO message queue and the second FIFO message queue, the apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: incrementing from the sub-head pointer, the sub-tail pointer until encountering an out-of-sequence packet, the sub-head pointer and the sub-tail pointer pointing to packets in the first FIFO message queue; consuming packets between the sub-head pointer and the sub-tail pointer including incrementing with the consumption of each packet, the sub-head pointer until determining that the sub-head pointer is equal to the sub-tail pointer; in response to determining that the sub-head pointer is equal to the sub-tail pointer, determining that the next in-sequence packet is not in the first FIFO message queue; and in response to determining that the next in-sequence packet is not in the first FIFO message queue and that the first FIFO message queue exceeds a threshold capacity, copying the contents of the first FIFO message queue into the second FIFO message queue.
地址 Armonk NY US