]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: poller: disable thread-groups for poll() and select()
authorWilly Tarreau <w@1wt.eu>
Sat, 9 Jul 2022 21:38:46 +0000 (23:38 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 15 Jul 2022 17:43:10 +0000 (19:43 +0200)
commite5715bfacec7ce312bb6a297c534e8bbed2f8025
treeb8efc73b2bce8278471895cffcf5ec4e370c7da9
parentb1093c6ba21ae3d41946f3a7bb4886b8b90e7c27
MEDIUM: poller: disable thread-groups for poll() and select()

These old legacy pollers are not designed for this. They're still
using a shared list of events for all threads, this will not scale at
all, so there's no point in enabling thread-groups there. Modern
systems have epoll, kqueue or event ports and do not need these ones.

We arrange for failing at boot time, only when thread-groups > 1 so
that existing setups will remain unaffected.

If there's a compelling reason for supporting thread groups with these
pollers in the future, the rework should not be too hard, it would just
consume a lot of memory to have an fd_evts[] array per thread, but that
is doable.
src/ev_poll.c
src/ev_select.c
src/haproxy.c