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.
Claims20
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.
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.
A network adapter, comprising:
- circuitry configured to:
- receive at least a portion of a packet from a network;
- and
- forward the portion of the packet to a host CPU only after the network adapter has received a request from the host CPU for the portion of the packet.
Dependencies are inferred from the claim text.