mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-20 13:21:29 +02:00
BUG/MINOR: activity: fix reporting of task latency
In 2.4, "show tasks" was introduced by commit 7eff06e162 ("MINOR: activity: add a new "show tasks" command to list currently active tasks") to expose some info about running tasks. The latency is not correct because it's a u32 subtracted from a u64. It ought to have been casted to u32 for the operation, which is what this patch does. This can be backported to 2.4.
This commit is contained in:
parent
bdff394195
commit
17d3392348
@ -1327,7 +1327,7 @@ static int cli_io_handler_show_tasks(struct appctx *appctx)
|
||||
t = eb32_entry(rqnode, struct task, rq);
|
||||
entry = sched_activity_entry(tmp_activity, t->process, NULL);
|
||||
if (t->wake_date) {
|
||||
lat = now_ns - t->wake_date;
|
||||
lat = (uint32_t)now_ns - t->wake_date;
|
||||
if ((int64_t)lat > 0)
|
||||
entry->lat_time += lat;
|
||||
}
|
||||
@ -1344,7 +1344,7 @@ static int cli_io_handler_show_tasks(struct appctx *appctx)
|
||||
t = eb32_entry(rqnode, struct task, rq);
|
||||
entry = sched_activity_entry(tmp_activity, t->process, NULL);
|
||||
if (t->wake_date) {
|
||||
lat = now_ns - t->wake_date;
|
||||
lat = (uint32_t)now_ns - t->wake_date;
|
||||
if ((int64_t)lat > 0)
|
||||
entry->lat_time += lat;
|
||||
}
|
||||
@ -1357,7 +1357,7 @@ static int cli_io_handler_show_tasks(struct appctx *appctx)
|
||||
t = (const struct task *)tl;
|
||||
entry = sched_activity_entry(tmp_activity, t->process, NULL);
|
||||
if (!TASK_IS_TASKLET(t) && t->wake_date) {
|
||||
lat = now_ns - t->wake_date;
|
||||
lat = (uint32_t)now_ns - t->wake_date;
|
||||
if ((int64_t)lat > 0)
|
||||
entry->lat_time += lat;
|
||||
}
|
||||
@ -1370,7 +1370,7 @@ static int cli_io_handler_show_tasks(struct appctx *appctx)
|
||||
t = (const struct task *)tl;
|
||||
entry = sched_activity_entry(tmp_activity, t->process, NULL);
|
||||
if (!TASK_IS_TASKLET(t) && t->wake_date) {
|
||||
lat = now_ns - t->wake_date;
|
||||
lat = (uint32_t)now_ns - t->wake_date;
|
||||
if ((int64_t)lat > 0)
|
||||
entry->lat_time += lat;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user