Just ran across an issue where the `timeout queue` option is
non-functional. I can send a request to haproxy which sits in the queue
for well past the configured limit.

It appears the issue popped up as a result of this commit:

commit f6e6dc12cd533b2d8bb6413a4b5f875ddfd3e6e3 (refs/bisect/bad)
Author: Olivier Houchard <[email protected]>
Date:   Fri May 18 18:38:23 2018 +0200

    MAJOR: tasks: Create a per-thread runqueue.
   
    A lot of tasks are run on one thread only, so instead of having them all
    in the global runqueue, create a per-thread runqueue which doesn't
require
    any locking, and add all tasks belonging to only one thread to the
    corresponding runqueue.
   
    The global runqueue is still used for non-local tasks, and is visited
    by each thread when checking its own runqueue. The nice parameter is
    thus used both in the global runqueue and in the local ones. The rare
    tasks that are bound to multiple threads will have their nice value
    used twice (once for the global queue, once for the thread-local one).


Reproduced with TARGET=osx
Compiler clang-900.0.39.2

-Patrick

Reply via email to