Patent ID: 11916790
Assignee: MELLANOX TECHNOLOGIES, LTD.
Field: Digital communication (Electrical engineering)
Classification: CPC H | IPC H

Claim 17:
18. A method in a network adapter connected through a direct bus connection to a host and connected to a network, the method comprising: holding in a memory (i) a shared buffer for multiple workloads running on the host and (ii) multiple queues allocated to the multiple workloads; receiving from the network data packets destined to the workloads; storing payloads of data packets destined to the multiple workloads in the shared buffer, distributing headers of the data packets whose payloads are stored in the shared buffer to the multiple queues, and serving the data packets to the workloads by applying scheduling among the multiple queues; detecting congestion in the data packets destined to a given workload among the multiple workloads; and in response to the detected congestion, deciding on a congestion mitigation action to take in order to mitigate the congestion, from a plurality of congestion mitigation actions a packet processing circuitry of the network adapter is configured to apply, and apply the decided action to data packets destined to the given workload, while retaining uninterrupted processing of the data packets destined to the other workloads, wherein the plurality of congestion mitigation actions comprise: sending a congestion notification to the given host processor, causing the host to send a congestion notification packet to the network, and directly sending a congestion notification packet to the network, and wherein the packet processing circuitry does not decide on sending a congestion notification to the given host processor, if the host does not support sending a congestion notification packet wherein the packet processing circuitry sets separate thresholds for sending a congestion notification to the given host processor and for directly sending a congestion notification packet to the network, the separate thresholds comprising different values.