1. 5ec79f1 BUILD: sched: fix build with DEBUG_THREAD with the previous commit by Willy Tarreau · Tue Nov 22 10:24:07 2022 +0100
  2. fc50b9d BUG/MAJOR: sched: protect task during removal from wait queue by Willy Tarreau · Tue Nov 22 07:05:44 2022 +0100
  3. 3d4cdb1 MEDIUM: tasks/activity: combine the called function with the caller by Willy Tarreau · Wed Sep 07 18:37:47 2022 +0200
  4. a9a2384 CLEANUP: sched: remove duplicate code in run_tasks_from_list() by Willy Tarreau · Wed Sep 07 17:06:16 2022 +0200
  5. 6a28a30 MINOR: tasks: do not keep cpu and latency times in struct task by Willy Tarreau · Wed Sep 07 09:17:45 2022 +0200
  6. 1efddfa MINOR: sched: store the current profile entry in the thread context by Willy Tarreau · Wed Sep 07 16:16:39 2022 +0200
  7. 62b5b96 BUG/MINOR: sched: properly account for the CPU time of dying tasks by Willy Tarreau · Wed Sep 07 15:11:25 2022 +0200
  8. 04e50b3 CLEANUP: task: rename ->call_date to ->wake_date by Willy Tarreau · Wed Sep 07 14:49:50 2022 +0200
  9. 768c2c5 MINOR: task: permanently enable latency measurement on tasklets by Willy Tarreau · Tue Sep 06 19:17:45 2022 +0200
  10. 91a7c16 MINOR: task: move the niced_tasks counter to the thread group context by Willy Tarreau · Thu Jul 07 15:25:40 2022 +0200
  11. b0e7712 MEDIUM: task/thread: move the task shared wait queues per thread group by Willy Tarreau · Thu Jul 07 15:22:55 2022 +0200
  12. bdcd325 MINOR: thread: only use atomic ops to touch the flags by Willy Tarreau · Wed Jun 22 09:19:46 2022 +0200
  13. f3efef4 MINOR: thread: make wake_thread() take care of the sleeping threads mask by Willy Tarreau · Mon Jun 20 09:14:40 2022 +0200
  14. 319d136 MEDIUM: task: use regular eb32 trees for the run queues by Willy Tarreau · Thu Jun 16 16:28:01 2022 +0200
  15. c958c70 MINOR: task: replace global_tasks_mask with a check for tree's emptiness by Willy Tarreau · Thu Jun 16 15:59:36 2022 +0200
  16. da195e8 MINOR: task: remove grq_total and use rq_total instead by Willy Tarreau · Thu Jun 16 15:52:49 2022 +0200
  17. b17dd6c MEDIUM: task: replace the global rq_lock with a per-rq one by Willy Tarreau · Thu Jun 16 16:58:17 2022 +0200
  18. 6f78038 MEDIUM: task: move the shared runqueue to one per thread by Willy Tarreau · Thu Jun 16 15:30:50 2022 +0200
  19. a4fb79b MINOR: task: make rqueue_ticks atomic by Willy Tarreau · Thu Jun 16 15:44:35 2022 +0200
  20. fc5de15 CLEANUP: task: remove the now unused TASK_GLOBAL flag by Willy Tarreau · Thu Jun 16 16:05:02 2022 +0200
  21. 159e3ac MEDIUM: task: remove TASK_SHARED_WQ and only use t->tid by Willy Tarreau · Wed Jun 15 16:48:45 2022 +0200
  22. c44d08e MAJOR: task: replace t->thread_mask with 1<<t->tid when thread mask is needed by Willy Tarreau · Wed Jun 15 15:44:00 2022 +0200
  23. 29ffe26 MAJOR: task: use t->tid instead of ffsl(t->thread_mask) to take the thread ID by Willy Tarreau · Wed Jun 15 14:31:38 2022 +0200
  24. ad548b5 MINOR: task: Add tasklet_wakeup_after() by Frédéric Lécaille · Wed Jun 29 10:53:03 2022 +0200
  25. 9b3aa63 BUG/MINOR: task: fix thread assignment in tasklet_kill() by Willy Tarreau · Wed Jun 15 15:54:56 2022 +0200
  26. f5aef02 OPTIM: task: do not consult shared WQ when we're already full by Willy Tarreau · Tue Jun 14 15:04:34 2022 +0200
  27. 3ccb14d MINOR: thread: get rid of MAX_THREADS_MASK by Willy Tarreau · Tue Jun 14 11:18:40 2022 +0200
  28. 680ed5f MINOR: task: move profiling bit to per-thread by Willy Tarreau · Mon Jun 13 15:59:39 2022 +0200
  29. 6c8babf BUG/MAJOR: sched: prevent rare concurrent wakeup of multi-threaded tasks by Willy Tarreau · Mon Feb 14 10:18:51 2022 +0100
  30. cc5cd5b BUILD: task: use list_to_mt_list() instead of casting list to mt_list by Willy Tarreau · Fri Jan 28 09:48:12 2022 +0100
  31. 3193eb9 BUG/MINOR: task: do not set TASK_F_USR1 for no reason by Willy Tarreau · Thu Oct 21 16:17:29 2021 +0200
  32. a0b9953 REORG: thread/sched: move the thread_info flags to the thread_ctx by Willy Tarreau · Thu Sep 30 18:48:37 2021 +0200
  33. 1a9c922 REORG: thread/sched: move the task_per_thread stuff to thread_ctx by Willy Tarreau · Fri Oct 01 11:30:33 2021 +0200
  34. f9d5e10 REORG: clock: move the updates of cpu/mono time to clock.c by Willy Tarreau · Fri Oct 08 10:43:59 2021 +0200
  35. 5554264 REORG: time: move time-keeping code and variables to clock.c by Willy Tarreau · Fri Oct 08 09:33:24 2021 +0200
  36. d8b325c REORG: task: uninline the loop time measurement code by Willy Tarreau · Wed Oct 06 19:25:38 2021 +0200
  37. 078c257 REORG: sched: moved samp_time and idle_time to task.c as well by Willy Tarreau · Wed Oct 06 15:58:46 2021 +0200
  38. 5d9ddc5 BUILD: tree-wide: add several missing activity.h by Willy Tarreau · Wed Oct 06 19:54:09 2021 +0200
  39. 6136989 MINOR: time: uninline report_idle() and move it to task.c by Willy Tarreau · Thu Sep 30 08:52:11 2021 +0200
  40. 6a2a912 CLEANUP: tasks: remove the long-unused work_lists by Willy Tarreau · Fri Oct 01 18:30:14 2021 +0200
  41. 7a96999 MINOR: tasks: catch TICK_ETERNITY with BUG_ON() in __task_queue() by Willy Tarreau · Thu Sep 30 16:38:09 2021 +0200
  42. 7b36833 MEDIUM: task: implement tasklet kill by Amaury Denoyelle · Wed Jul 28 16:12:57 2021 +0200
  43. e08f4bf MINOR: task: stop including stream.h from task.c by Willy Tarreau · Sat May 08 20:10:13 2021 +0200
  44. c79e898 BUILD: task: remove unused includes from task.c by Willy Tarreau · Sat May 08 20:08:58 2021 +0200
  45. 2b71810 CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion by Willy Tarreau · Wed Apr 21 07:32:39 2021 +0200
  46. 4781b15 CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec by Willy Tarreau · Tue Apr 06 13:53:36 2021 +0200
  47. 1db4273 CLEANUP: atomic: add an explicit _FETCH variant for add/sub/and/or by Willy Tarreau · Tue Apr 06 11:44:07 2021 +0200
  48. 1691ba3 MINOR: task: give the scheduler a bit more flexibility in the runqueue size by Willy Tarreau · Wed Mar 10 09:26:24 2021 +0100
  49. 0182516 CLEANUP: config: make the cfg_keyword parsers take a const for the defproxy by Willy Tarreau · Tue Mar 09 09:53:46 2021 +0100
  50. b7e0c63 BUILD: task: fix build at -O0 with threads disabled by Willy Tarreau · Tue Mar 09 09:59:50 2021 +0100
  51. 6fa8bcd MINOR: task: add an application specific flag to the state: TASK_F_USR1 by Willy Tarreau · Tue Mar 02 16:26:05 2021 +0100
  52. 144f84a MEDIUM: task: extend the state field to 32 bits by Willy Tarreau · Tue Mar 02 16:09:26 2021 +0100
  53. db4e238 MINOR: task: stop abusing the nice field to detect a tasklet by Willy Tarreau · Tue Mar 02 15:54:11 2021 +0100
  54. 76390da MINOR: task: only limit TL_HEAVY tasks but not others by Willy Tarreau · Fri Feb 26 10:18:11 2021 +0100
  55. 826fa87 MINOR: task: place the heavy elements in TL_HEAVY by Willy Tarreau · Fri Feb 26 10:13:40 2021 +0100
  56. 401135c MINOR: task: add one extra tasklet class: TL_HEAVY by Willy Tarreau · Fri Feb 26 09:16:22 2021 +0100
  57. 74dea8c MINOR: task: limit the number of subsequent heavy tasks with flag TASK_HEAVY by Willy Tarreau · Fri Feb 26 00:25:51 2021 +0100
  58. 2a54ffb MINOR: task: make tasklet wakeup latency measurements more accurate by Willy Tarreau · Thu Feb 25 09:32:58 2021 +0100
  59. b2285de MINOR: tasks: also compute the tasklet latency when DEBUG_TASK is set by Willy Tarreau · Thu Feb 25 08:39:07 2021 +0100
  60. 45499c5 MINOR: task: make grq_total atomic to move it outside of the grq_lock by Willy Tarreau · Thu Feb 25 07:51:18 2021 +0100
  61. c9afbb1 MINOR: task: don't decrement then increment the local run queue by Willy Tarreau · Thu Feb 25 07:19:45 2021 +0100
  62. 2b363ac MINOR: task: do not use __task_unlink_rq() from process_runnable_tasks() by Willy Tarreau · Thu Feb 25 07:14:58 2021 +0100
  63. e7923c1 MINOR: task: split the counts of local and global tasks picked by Willy Tarreau · Thu Feb 25 07:09:08 2021 +0100
  64. 9c6dbf0 CLEANUP: task: split the large tasklet_wakeup_on() function in two by Willy Tarreau · Wed Feb 24 17:51:38 2021 +0100
  65. 955a11e MINOR: task: move the allocated tasks counter to the per-thread struct by Willy Tarreau · Wed Feb 24 17:03:30 2021 +0100
  66. eeffb3d MINOR: task: limit the remote thread wakeup to the global runqueue only by Willy Tarreau · Wed Feb 24 16:44:51 2021 +0100
  67. 018564e CLEANUP: task: move the tree root detection from __task_wakeup() to task_wakeup() by Willy Tarreau · Wed Feb 24 16:41:11 2021 +0100
  68. 1f3b141 CLEANUP: tasks: use a less confusing name for task_list_size by Willy Tarreau · Wed Feb 24 14:13:40 2021 +0100
  69. 2c41d77 MINOR: tasks: do not maintain the rqueue_size counter anymore by Willy Tarreau · Wed Feb 24 16:13:03 2021 +0100
  70. 9c7b808 MEDIUM: task: remove the tasks_run_queue counter and have one per thread by Willy Tarreau · Wed Feb 24 15:10:07 2021 +0100
  71. c6ba9a0 MINOR: sched: have one runqueue ticks counter per thread by Willy Tarreau · Sat Feb 20 12:49:54 2021 +0100
  72. 4e2282f MEDIUM: tasks/activity: collect per-task statistics when profiling is enabled by Willy Tarreau · Fri Jan 29 00:07:40 2021 +0100
  73. 4d6c594 BUG/MEDIUM: task: close a possible data race condition on a tasklet's list link by Willy Tarreau · Mon Nov 30 14:58:53 2020 +0100
  74. 2da4c31 MINOR: task: remove __tasklet_remove_from_tasklet_list() by Willy Tarreau · Mon Nov 30 14:52:11 2020 +0100
  75. c309dbd MINOR: task: perform atomic counter increments only once per wakeup by Willy Tarreau · Mon Nov 30 15:39:00 2020 +0100
  76. a868c29 MINOR: task: remove tasklet_insert_into_tasklet_list() by Willy Tarreau · Mon Nov 30 15:30:22 2020 +0100
  77. 69a7b8f CLEANUP: task: remove the unused and mishandled global_rqueue_size by Willy Tarreau · Sun Oct 18 14:24:51 2020 +0200
  78. d48ed66 MEDIUM: task: use an upgradable seek lock when scanning the wait queue by Willy Tarreau · Fri Oct 16 09:31:41 2020 +0200
  79. 3cfaa8d BUG/MEDIUM: task: bound the number of tasks picked from the wait queue at once by Willy Tarreau · Fri Oct 16 09:26:22 2020 +0200
  80. 6ce0232 BUILD: task: work around a bogus warning in gcc 4.7/4.8 at -O1 by Willy Tarreau · Fri Aug 21 05:48:34 2020 +0200
  81. e5d79bc MINOR: tasks/debug: add a few BUG_ON() to detect use of wrong timer queue by Willy Tarreau · Wed Jul 22 14:29:42 2020 +0200
  82. 783afbe BUG/MAJOR: tasks: don't requeue global tasks into the local queue by Willy Tarreau · Wed Jul 22 14:12:45 2020 +0200
  83. 273aea4 BUG/MAJOR: tasks: make sure to always lock the shared wait queue if needed by Willy Tarreau · Fri Jul 17 14:37:51 2020 +0200
  84. 950954f MINOR: tasks: use MT_LIST_ADDQ() when killing tasks. by Willy Tarreau · Fri Jul 10 08:32:10 2020 +0200
  85. de4db17 MINOR: lists: rename some MT_LIST operations to clarify them by Willy Tarreau · Fri Jul 10 08:10:29 2020 +0200
  86. 4f58926 BUG/MAJOR: sched: make it work also when not building with DEBUG_STRICT by Willy Tarreau · Thu Jul 02 17:17:42 2020 +0200
  87. 54d3117 BUG/MAJOR: sched: make sure task_kill() always queues the task by Willy Tarreau · Thu Jul 02 14:14:00 2020 +0200
  88. eb8c2c6 MEDIUM: sched: implement task_kill() to kill a task by Willy Tarreau · Tue Jun 30 11:48:48 2020 +0200
  89. 8a6049c MEDIUM: sched: create a new TASK_KILLED task flag by Willy Tarreau · Tue Jun 30 11:48:48 2020 +0200
  90. d99177f MINOR: sched: make sched->task_list_size atomic by Willy Tarreau · Tue Jun 30 11:48:48 2020 +0200
  91. 1553b66 BUG/MINOR: sched: properly cover for a rare MT_LIST_ADDQ() race by Willy Tarreau · Tue Jun 30 13:46:21 2020 +0200
  92. e7723bd MEDIUM: tasks: add a tune.sched.low-latency option by Willy Tarreau · Wed Jun 24 11:11:02 2020 +0200
  93. 59153fe MINOR: tasks: make run_tasks_from_lists() scan the queues itself by Willy Tarreau · Wed Jun 24 10:17:29 2020 +0200
  94. ba48d5c MINOR: tasks: pass the queue index to run_task_from_list() by Willy Tarreau · Wed Jun 24 09:54:24 2020 +0200
  95. 49f90bf MINOR: tasks: add a mask of the queues with active tasklets by Willy Tarreau · Wed Jun 24 09:39:48 2020 +0200
  96. c0a08ba MINOR: tasks: make current_queue an index instead of a pointer by Willy Tarreau · Wed Jun 24 09:19:50 2020 +0200
  97. 3ef7a19 MEDIUM: tasks: apply a fair CPU distribution between tasklet classes by Willy Tarreau · Wed Jun 24 07:21:08 2020 +0200
  98. 116ef22 MINOR: task: add a new pointer to current tasklet queue by Willy Tarreau · Tue Jun 23 16:35:38 2020 +0200
  99. 0c0c85e BUG/MINOR: tasks: make sure never to exceed max_processed by Willy Tarreau · Tue Jun 23 11:32:35 2020 +0200
  100. 5c8be27 MEDIUM: tasks: also process late wakeups in process_runnable_tasks() by Willy Tarreau · Fri Jun 19 12:17:55 2020 +0200