Methods, systems, and storage mediums for timing work requests and completion processing
First Claim
1. A method for timing work requests and completion processing, comprising:
- storing, by a software driver, a time t1 when a work request is posted to a send queue;
posting, by a hardware adapter, a work completion corresponding to the work request to a completion queue, the work completion including a time t2 when the message for the work request is sent on the link and a time t3 when the work completion is posted to the completion queue;
retrieving, by the software driver, the work completion corresponding to the work request; and
storing, by the software driver, a time t4 when the work completion is retrieved from the completion queue.
1 Assignment
0 Petitions
Accused Products
Abstract
I/O adapters, such as InfiniBand™ host channel adapters (HCAs) or iWarp remote network interface cards (RNICs) use work requests to pass information to a queue pair and work completions to determine when a work request has completed. Timing information in various stages of processing of these work requests allow a workload manager to identify sources of delay that impacts transaction processing. Work requests request processing that can be marked with a timestamp. Processing stages include: (1) the time when the work request is posted to the send queue, (2) the time when the first packet is sent on the link for that work request, (3) the time at which the work request has completed its processing, and (4) the time when the work completion is retrieved by the software. By comparing the timestamps, the workload manager determines the processing and transaction times.
32 Citations
15 Claims
-
1. A method for timing work requests and completion processing, comprising:
-
storing, by a software driver, a time t1 when a work request is posted to a send queue;
posting, by a hardware adapter, a work completion corresponding to the work request to a completion queue, the work completion including a time t2 when the message for the work request is sent on the link and a time t3 when the work completion is posted to the completion queue;
retrieving, by the software driver, the work completion corresponding to the work request; and
storing, by the software driver, a time t4 when the work completion is retrieved from the completion queue. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for timing work requests and completion processing, comprising:
-
a hardware adapter for sending packets on a link;
a software driver for controlling the hardware adapter;
a send queue for holding work requests; and
a completion queue for holding work completions;
wherein the software driver provides a time t1 when a work request is posted to the send queue, the hardware adapter provides a time t2 when a message for the work request is sent on the link, the hardware adapter provides a time t3 when a work completion corresponding to the work request is posted to the completion queue, and the software driver provides a time t4 when the work completion is retrieved from the completion queue. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A storage medium for storing instructions for performing a method timing work requests and completion processing, the method comprising:
-
storing, by a software driver, a time t1 when a work request is posted to a send queue;
posting, by a hardware adapter, a work completion corresponding to the work request to a completion queue, the work completion including a time t2 when the message for the work request is sent on the link and a time t3 when the work completion is posted to the completion queue;
retrieving, by the software driver, the work completion corresponding to the work request; and
storing, by the software driver, a time t4 when the work completion is retrieved from the completion queue.
-
Specification