net: mlx5: Use ktime_get_ns()
This code is beyond silly: struct timespec ts = ktime_get_ts(); ktime_t ktime = timespec_to_ktime(ts); Further down the code builds the delta of two ktime_t values and converts the result to nanoseconds. Use ktime_get_ns() and replace all the nonsense. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Eli Cohen <eli@mellanox.com> Signed-off-by: John Stultz <john.stultz@linaro.org>
This commit is contained in:
parent
6d9b757c6c
commit
14a7004671
|
@ -548,7 +548,7 @@ static void cmd_work_handler(struct work_struct *work)
|
||||||
lay->status_own = CMD_OWNER_HW;
|
lay->status_own = CMD_OWNER_HW;
|
||||||
set_signature(ent, !cmd->checksum_disabled);
|
set_signature(ent, !cmd->checksum_disabled);
|
||||||
dump_command(dev, ent, 1);
|
dump_command(dev, ent, 1);
|
||||||
ktime_get_ts(&ent->ts1);
|
ent->ts1 = ktime_get_ns();
|
||||||
|
|
||||||
/* ring doorbell after the descriptor is valid */
|
/* ring doorbell after the descriptor is valid */
|
||||||
wmb();
|
wmb();
|
||||||
|
@ -637,7 +637,6 @@ static int mlx5_cmd_invoke(struct mlx5_core_dev *dev, struct mlx5_cmd_msg *in,
|
||||||
{
|
{
|
||||||
struct mlx5_cmd *cmd = &dev->cmd;
|
struct mlx5_cmd *cmd = &dev->cmd;
|
||||||
struct mlx5_cmd_work_ent *ent;
|
struct mlx5_cmd_work_ent *ent;
|
||||||
ktime_t t1, t2, delta;
|
|
||||||
struct mlx5_cmd_stats *stats;
|
struct mlx5_cmd_stats *stats;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
s64 ds;
|
s64 ds;
|
||||||
|
@ -668,10 +667,7 @@ static int mlx5_cmd_invoke(struct mlx5_core_dev *dev, struct mlx5_cmd_msg *in,
|
||||||
if (err == -ETIMEDOUT)
|
if (err == -ETIMEDOUT)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
t1 = timespec_to_ktime(ent->ts1);
|
ds = ent->ts2 - ent->ts1;
|
||||||
t2 = timespec_to_ktime(ent->ts2);
|
|
||||||
delta = ktime_sub(t2, t1);
|
|
||||||
ds = ktime_to_ns(delta);
|
|
||||||
op = be16_to_cpu(((struct mlx5_inbox_hdr *)in->first.data)->opcode);
|
op = be16_to_cpu(((struct mlx5_inbox_hdr *)in->first.data)->opcode);
|
||||||
if (op < ARRAY_SIZE(cmd->stats)) {
|
if (op < ARRAY_SIZE(cmd->stats)) {
|
||||||
stats = &cmd->stats[op];
|
stats = &cmd->stats[op];
|
||||||
|
@ -1135,7 +1131,6 @@ void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, unsigned long vector)
|
||||||
void *context;
|
void *context;
|
||||||
int err;
|
int err;
|
||||||
int i;
|
int i;
|
||||||
ktime_t t1, t2, delta;
|
|
||||||
s64 ds;
|
s64 ds;
|
||||||
struct mlx5_cmd_stats *stats;
|
struct mlx5_cmd_stats *stats;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
@ -1149,7 +1144,7 @@ void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, unsigned long vector)
|
||||||
sem = &cmd->pages_sem;
|
sem = &cmd->pages_sem;
|
||||||
else
|
else
|
||||||
sem = &cmd->sem;
|
sem = &cmd->sem;
|
||||||
ktime_get_ts(&ent->ts2);
|
ent->ts2 = ktime_get_ns();
|
||||||
memcpy(ent->out->first.data, ent->lay->out, sizeof(ent->lay->out));
|
memcpy(ent->out->first.data, ent->lay->out, sizeof(ent->lay->out));
|
||||||
dump_command(dev, ent, 0);
|
dump_command(dev, ent, 0);
|
||||||
if (!ent->ret) {
|
if (!ent->ret) {
|
||||||
|
@ -1163,10 +1158,7 @@ void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, unsigned long vector)
|
||||||
}
|
}
|
||||||
free_ent(cmd, ent->idx);
|
free_ent(cmd, ent->idx);
|
||||||
if (ent->callback) {
|
if (ent->callback) {
|
||||||
t1 = timespec_to_ktime(ent->ts1);
|
ds = ent->ts2 - ent->ts1;
|
||||||
t2 = timespec_to_ktime(ent->ts2);
|
|
||||||
delta = ktime_sub(t2, t1);
|
|
||||||
ds = ktime_to_ns(delta);
|
|
||||||
if (ent->op < ARRAY_SIZE(cmd->stats)) {
|
if (ent->op < ARRAY_SIZE(cmd->stats)) {
|
||||||
stats = &cmd->stats[ent->op];
|
stats = &cmd->stats[ent->op];
|
||||||
spin_lock_irqsave(&stats->lock, flags);
|
spin_lock_irqsave(&stats->lock, flags);
|
||||||
|
|
|
@ -604,8 +604,8 @@ struct mlx5_cmd_work_ent {
|
||||||
int page_queue;
|
int page_queue;
|
||||||
u8 status;
|
u8 status;
|
||||||
u8 token;
|
u8 token;
|
||||||
struct timespec ts1;
|
u64 ts1;
|
||||||
struct timespec ts2;
|
u64 ts2;
|
||||||
u16 op;
|
u16 op;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue