]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: debug: make "debug dev sched" accept a negative TID
authorWilly Tarreau <w@1wt.eu>
Fri, 7 Feb 2025 16:59:11 +0000 (17:59 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 7 Feb 2025 17:04:29 +0000 (18:04 +0100)
The TID passed to "debug dev sched" is used to pin the task to a given
thread. A negative value normally means the task is unpinned and goes
to the shared wait queue and run queue. However due to the type of the
variable, negative values were mapped as highly positive values and were
set to the current thread. Let's add the proper cast to fix this.

No backport is needed since this is only used to experiment with the
scheduler and measure its performance.

src/debug.c

index a6a2c3f88ee92a27ab2c67f5b6fdd95b7bb6a40e..6f8f5a964b62d910ee7907c1f717eef4371a78ae 100644 (file)
@@ -1633,7 +1633,7 @@ static int debug_parse_cli_sched(char **args, char *payload, struct appctx *appc
        tctx[0] = (unsigned long)count;
        tctx[1] = (unsigned long)inter;
 
-       if (thrid >= global.nbthread)
+       if ((int)thrid >= global.nbthread)
                thrid = tid;
 
        for (i = 0; i < count; i++) {