haproxy public development tree
Go to file
Willy Tarreau 1a9c922b53 REORG: thread/sched: move the task_per_thread stuff to thread_ctx
The scheduler contains a lot of stuff that is thread-local and not
exclusively tied to the scheduler. Other parts (namely thread_info)
contain similar thread-local context that ought to be merged with
it but that is even less related to the scheduler. However moving
more data into this structure isn't possible since task.h is high
level and cannot be included everywhere (e.g. activity) without
causing include loops.

In the end, it appears that the task_per_thread represents most of
the per-thread context defined with generic types and should simply
move to tinfo.h so that everyone can use them.

The struct was renamed to thread_ctx and the variable "sched" was
renamed to "th_ctx". "sched" used to be initialized manually from
run_thread_poll_loop(), now it's initialized by ha_set_tid() just
like ti, tid, tid_bit.

The memset() in init_task() was removed in favor of a bss initialization
of the array, so that other subsystems can put their stuff in this array.

Since the tasklet array has TL_CLASSES elements, the TL_* definitions
was moved there as well, but it's not a problem.

The vast majority of the change in this patch is caused by the
renaming of the structures.
2021-10-08 17:22:26 +02:00
.github CI: Github Actions: re-enable Opentracing 2021-09-12 07:08:14 +02:00
addons REORG: time: move time-keeping code and variables to clock.c 2021-10-08 17:22:26 +02:00
admin BUILD: halog: fix a -Wundef warning on non-glibc systems 2021-09-13 09:32:01 +02:00
dev DEV: coccinelle: Add xalloc_cast.cocci 2021-09-17 17:22:05 +02:00
doc DOC: configuration: add clarification on escaping in keyword arguments 2021-10-07 07:51:30 +02:00
examples MEDIUM: proxy: remove long-broken 'option http_proxy' 2021-07-18 19:35:32 +02:00
include REORG: thread/sched: move the task_per_thread stuff to thread_ctx 2021-10-08 17:22:26 +02:00
reg-tests MINOR: httpclient/lua: supports headers via named arguments 2021-10-06 15:21:02 +02:00
scripts BUILD: adopt script/build-ssl.sh for OpenSSL-3.0.0beta2 2021-08-25 05:16:00 +02:00
src REORG: thread/sched: move the task_per_thread stuff to thread_ctx 2021-10-08 17:22:26 +02:00
tests CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
.cirrus.yml CI: introduce scripts/build-vtest.sh for installing VTest 2021-05-18 10:48:30 +02:00
.gitattributes
.gitignore DOC: lua-api: Add documentation about lua filters 2021-08-15 20:56:44 +02:00
.mailmap DOC: update Tim's address in .mailmap 2021-09-16 09:14:14 +02:00
.travis.yml CI: travis-ci: temporarily disable arm64 builds 2021-08-07 07:28:15 +02:00
BRANCHES
CHANGELOG [RELEASE] Released version 2.5-dev8 2021-09-24 15:52:17 +02:00
CONTRIBUTING CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
INSTALL CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
LICENSE
MAINTAINERS
Makefile REORG: time: move time-keeping code and variables to clock.c 2021-10-08 17:22:26 +02:00
README
ROADMAP
SUBVERS
VERDATE [RELEASE] Released version 2.5-dev8 2021-09-24 15:52:17 +02:00
VERSION [RELEASE] Released version 2.5-dev8 2021-09-24 15:52:17 +02:00

The HAProxy documentation has been split into a number of different files for
ease of use.

Please refer to the following files depending on what you're looking for :

  - INSTALL for instructions on how to build and install HAProxy
  - BRANCHES to understand the project's life cycle and what version to use
  - LICENSE for the project's license
  - CONTRIBUTING for the process to follow to submit contributions

The more detailed documentation is located into the doc/ directory :

  - doc/intro.txt for a quick introduction on HAProxy
  - doc/configuration.txt for the configuration's reference manual
  - doc/lua.txt for the Lua's reference manual
  - doc/SPOE.txt for how to use the SPOE engine
  - doc/network-namespaces.txt for how to use network namespaces under Linux
  - doc/management.txt for the management guide
  - doc/regression-testing.txt for how to use the regression testing suite
  - doc/peers.txt for the peers protocol reference
  - doc/coding-style.txt for how to adopt HAProxy's coding style
  - doc/internals for developer-specific documentation (not all up to date)