Ejemplo n.º 1
0
void __serverd_perf_end_request(header_t *req_header)
{
    double now = os_gettimeofday_msec();
    int rw = -1;

    EXA_ASSERT(NBD_REQ_TYPE_IS_VALID(req_header->request_type));
    switch (req_header->request_type)
    {
    case NBD_REQ_TYPE_READ:
        rw = __READ;
        break;
    case NBD_REQ_TYPE_WRITE:
        rw = __WRITE;
        break;
    case NBD_REQ_TYPE_LOCK:
    case NBD_REQ_TYPE_UNLOCK:
        EXA_ASSERT(false);
        /* FIXME: formerly this case was not handled */
    }

    exaperf_duration_record(header_dur[rw],
			    (double)now - req_header->header_submit_date);

    if (rw == __WRITE)
	exaperf_duration_record(data_dur,
				(double)now - req_header->data_submit_date);
}
Ejemplo n.º 2
0
void __serverd_perf_end_request(const serv_perf_t *serv_perf)
{
    double now = os_gettimeofday_msec();
    int rw = serv_perf->read ? __READ : __WRITE;

    exaperf_duration_record(header_dur[rw],
			    (double)now - serv_perf->header_submit_date);

    if (rw == __WRITE)
	exaperf_duration_record(data_dur,
				(double)now - serv_perf->data_submit_date);
}
Ejemplo n.º 3
0
void __rdev_perf_end_request(rdev_perfs_t *rdev_perfs, const rdev_req_perf_t *req_perfs)
{
    double duration = (double)os_gettimeofday_msec() - req_perfs->rdev_submit_date;
    int rw = req_perfs->read ? __READ : __WRITE;

    exaperf_duration_record(rdev_perfs->rdev_dur[rw], duration);
}
Ejemplo n.º 4
0
void iscsi_target_perf_end_request(int rw, TARGET_CMD_T *cmd)
{
    exaperf_duration_record(target_req_time[rw],
			    (double)(os_gettimeofday_msec() - cmd->submit_date));

    os_thread_mutex_lock(&iodepth_mutex);
    iodepth--;
    os_thread_mutex_unlock(&iodepth_mutex);
}
Ejemplo n.º 5
0
void __rdev_perf_end_request(device_t *disk_device, header_t *req_header)
{
    double duration;
    int rw = -1;

    EXA_ASSERT(NBD_REQ_TYPE_IS_VALID(req_header->request_type));
    switch (req_header->request_type)
    {
    case NBD_REQ_TYPE_READ:
        rw = __READ;
        break;
    case NBD_REQ_TYPE_WRITE:
        rw = __WRITE;
        break;
    case NBD_REQ_TYPE_LOCK:
    case NBD_REQ_TYPE_UNLOCK:
        EXA_ASSERT(false);
        /* FIXME: formerly this case was not handled */
    }

    duration = (double)os_gettimeofday_msec() - req_header->rdev_submit_date;

    exaperf_duration_record(disk_device->rdev_dur[rw], duration);
}