发明名称 Processing data packets from a receive queue in a remote direct memory access device
摘要 Processing data packets from a receive queue is provided. It is determined whether packets are saved in a pre-fetched queue. In response to determining that packets are not saved in the pre-fetched queue, a number of packets within the receive queue is determined. In response to determining the number of packets within the receive queue, it is determined whether the number of packets within the receive queue is greater than a number of packets called for by an application. In response to determining that the number of packets within the receive queue is greater than the number of packets called for by the application, an excess number of packets that is above the number of packets called for by the application is saved in the pre-fetched queue. An indication is sent to the application of the excess number of packets. The predetermined number of packets is transferred to the application.
申请公布号 US9390036(B2) 申请公布日期 2016.07.12
申请号 US201314082244 申请日期 2013.11.18
申请人 International Business Machines Corporation 发明人 Cardona Omar;Herrera Andres;Torres Pedro V.;Velez Rafael
分类号 G06F13/28;H04L12/875 主分类号 G06F13/28
代理机构 Yee & Associates, P.C. 代理人 Yee & Associates, P.C. ;Josephs Damion
主权项 1. A data processing system for processing packets from a receive queue of a remote direct memory access device in the data processing system, the data processing system comprising: a bus system; a storage device connected to the bus system, wherein the storage device stores computer readable program code; and a processor connected to the bus system, wherein the processor executes the computer readable program code to determine, using a remote direct memory access controller software program located in a user space, whether packets are saved in a pre-fetched queue located within the remote direct memory access controller software program that stores an excess number of packets above a predetermined number of packets called for by an application of the data processing system in a previous packet retrieval cycle, wherein the remote direct memory access controller software program located in the user space monitors and controls remote direct memory access operations associated with the remote direct memory access device; determine, using the remote direct memory access controller software program, a current number of packets within the receive queue of the remote direct memory access device ready to be retrieved in response to determining that packets are not saved in the pre-fetched queue located within the remote direct memory access controller software program that stores the excess number of packets above the predetermined number of packets called for by the application in the previous packet retrieval cycle; determine, using the remote direct memory access controller software program, whether the current number of packets within the receive queue of the remote direct memory access device ready to be retrieved is greater than a predetermined number of packets called for by the application of the data processing system in response to determining the current number of packets within the receive queue of the remote direct memory access device ready to be retrieved; save, using the remote direct memory access controller software program, the excess number of packets above the predetermined number of packets called for by the application in the pre-fetched queue located within the remote direct memory access controller software program for a subsequent packet retrieval cycle an excess number of packets that is above the predetermined number of packets called for by the application in the pre-fetched queue for a subsequent packet retrieval cycle in response to determining that the current number of packets within the receive queue of the remote direct memory access device ready to be retrieved is greater than the predetermined number of packets called for by the application; send, using the remote direct memory access controller software program, an indication to the application of the excess number of packets saved in the pre-fetched queue located within the remote direct memory access controller software program for the subsequent packet retrieval cycle; and transfer, using the remote direct memory access controller software program, the predetermined number of packets called for by the application to the application from the receive queue of the remote direct memory access device.
地址 Armonk NY US
您可能感兴趣的专利