Host polling of a network adapter
AssigneeXilinx, Inc.
InventorsDavid James Riddoch, Derek Edward Roberts, Kieran Mansley, Steven Leslie Pope, Sebastian Turullols
Life of this patent
Estimating the term…
Abstract
Embodiments herein describe a host that polls a network adapter to receive data from a network. That is, the host/CPU/application thread polls the network adapter (e.g., the network card, NIC, or SmartNIC) to determine whether a packet has been received. If so, the host informs the network adapter to store the packet (or a portion of the packet) in a CPU register. If the requested data has not yet been received by the network adapter from the network, the network adapter can delay the responding to the request to provide extra time for the adapter to receive the data from the network.
Claims18
A network adapter, comprising:
- circuitry configured to:
- receive a request from a host central processing unit (CPU) for data in a packet, wherein the network adapter receives the packet from a network;
- upon determining the data has not been received, waiting a period of time before replying to the request;
- and
- upon determining the data has not been received before the period of time has passed, replying to the request indicating the data has not yet been received;
- upon replying to the request indicating the data has not yet been received, receive multiple requests for different portions of the packet in parallel from the host CPU;
- and
- provide responses to the multiple requests sequentially as the different portions of the packet are received at the network adapter.
A method comprising:
- receiving, at a network adapter, a request from a host CPU for data in a packet, wherein the network adapter receives the packet from a network;
- upon determining the data has not been received, waiting a period of time before replying to the request;
- and
- upon determining the data has not been received before the period of time has passed, replying to the request indicating the data has not yet been received;
- upon replying to the request indicating the data has not yet been received, receive multiple requests for different portions of the packet in parallel from the host CPU;
- and
- provide responses to the multiple requests sequentially as the different portions of the packet are received at the network adapter.
A network adapter, comprising:
- circuitry configured to:
- receive multiple requests for different portions of a packet in parallel from a host CPU;
- after receiving the multiple requests, receive at least a portion of the packet from a network;
- upon determining the portion corresponds to one of the multiple requests, forward the portion of the packet to the host CPU.
Dependencies are inferred from the claim text.