A user application can choose one of five methods to manage receive-buffer completion space, as listed in Table C-4. For convenience, this discussion refers to these methods as LIMIT_FC, PACKET_FC, RCB_FC, and DATA_FC. Each method has advantages and disadvantages that you need to consider when developing the user application.
Method | Description | Advantage | Disadvantage |
---|---|---|---|
LIMIT_FC | Limit the total number of outstanding NP Requests | Simplest method to implement in user logic | Much Completion capacity goes unused |
PACKET_FC | Track the number of outstanding CplH and CplD credits; allocate and deallocate on a per-packet basis | Relatively simple user logic; finer allocation granularity means less wasted capacity than LIMIT_FC | As with LIMIT_FC, credits for an NP are still tied up until the request is completely satisfied |
RCB_FC | Track the number of outstanding CplH and CplD credits; allocate and deallocate on a per-RCB basis | Ties up credits for less time than PACKET_FC | More complex user logic than LIMIT_FC or PACKET_FC |
DATA_FC | Track the number of outstanding CplH and CplD credits; allocate and deallocate on a per-RCB basis | Lowest amount of wasted capacity | More complex user logic than LIMIT_FC, PACKET_FC, and RCB_FC |