1. c62d9ab MINOR: tasks: Provide the tasklet to the callback. by Olivier Houchard · Tue Mar 17 18:15:04 2020 +0100
  2. 27d00c0 MINOR: task: export run_tasks_from_list by Willy Tarreau · Tue Mar 03 14:59:28 2020 +0100
  3. 952c264 MINOR: task: don't set TASK_RUNNING on tasklets by Willy Tarreau · Fri Jan 31 16:39:30 2020 +0100
  4. 1dfc9bb OPTIM: task: readjust CPU bandwidth distribution since last update by Willy Tarreau · Fri Jan 31 17:55:09 2020 +0100
  5. d23d413 MINOR: task: make sched->current also reflect tasklets by Willy Tarreau · Fri Jan 31 10:39:03 2020 +0100
  6. bb23883 MINOR: task: permanently flag tasklets waking themselves up by Willy Tarreau · Fri Jan 31 10:48:10 2020 +0100
  7. c633607 OPTIM: task: refine task classes default CPU bandwidth ratios by Willy Tarreau · Fri Jan 31 06:26:39 2020 +0100
  8. a62917b MEDIUM: tasks: implement 3 different tasklet classes with their own queues by Willy Tarreau · Thu Jan 30 18:37:28 2020 +0100
  9. 4ffa0b5 MINOR: tasks: move the list walking code to its own function by Willy Tarreau · Thu Jan 30 18:13:13 2020 +0100
  10. dd0e89a BUG/MAJOR: task: add a new TASK_SHARED_WQ flag to fix foreing requeuing by Willy Tarreau · Thu Dec 19 07:39:06 2019 +0100
  11. 8fe4253 MINOR: task: only check TASK_WOKEN_ANY to decide to requeue a task by Willy Tarreau · Thu Dec 19 07:34:20 2019 +0100
  12. c49ba52 MINOR: tasks: split wake_expired_tasks() in two parts to avoid useless wakeups by Willy Tarreau · Wed Dec 11 08:12:23 2019 +0100
  13. 0691046 MEDIUM: task: Split the tasklet list into two lists. by Olivier Houchard · Fri Oct 11 16:35:01 2019 +0200
  14. 0730867 BUG/MEDIUM: tasks: Don't forget to decrement tasks_run_queue. by Olivier Houchard · Thu Oct 03 14:55:34 2019 +0200
  15. d022e9c MINOR: task: introduce a thread-local "sched" variable for local scheduler stuff by Willy Tarreau · Tue Sep 24 08:25:15 2019 +0200
  16. d66d756 MINOR: task: split the tasklet vs task code in process_runnable_tasks() by Willy Tarreau · Tue Sep 24 07:34:09 2019 +0200
  17. 4c1e1ad CLEANUP: task: cache the task_per_thread pointer by Willy Tarreau · Tue Sep 24 07:19:08 2019 +0200
  18. 9b48c62 CLEANUP: task: remove impossible test by Willy Tarreau · Tue Sep 24 07:02:40 2019 +0200
  19. ff1e9f3 MEDIUM: tasklets: Make the tasklet list a struct mt_list. by Olivier Houchard · Fri Sep 20 17:18:35 2019 +0200
  20. 859dc80 MEDIUM: list: Separate "locked" list from regular list. by Olivier Houchard · Thu Aug 08 15:47:21 2019 +0200
  21. 64e6012 MINOR: task: introduce work lists by Willy Tarreau · Fri Jul 12 08:31:17 2019 +0200
  22. bd20a9d BUG: tasks: fix bug introduced by latest scheduler cleanup by Willy Tarreau · Fri Jun 14 18:05:54 2019 +0200
  23. 86eded6 CLEANUP: tasks: rename task_remove_from_tasklet_list() to tasklet_remove_* by Willy Tarreau · Fri Jun 14 14:47:49 2019 +0200
  24. 5598d17 BUILD: task: fix a build warning when threads are disabled by Willy Tarreau · Tue Jun 04 17:16:29 2019 +0200
  25. cfbb3e6 MEDIUM: tasks: Get rid of active_tasks_mask. by Olivier Houchard · Wed May 29 19:22:43 2019 +0200
  26. 1e928c0 MEDIUM: task: don't grab the WR lock just to check the WQ by Willy Tarreau · Tue May 28 18:57:25 2019 +0200
  27. ef28dc1 MINOR: task: turn the WQ lock to an RW_LOCK by Willy Tarreau · Tue May 28 18:48:07 2019 +0200
  28. e6a02fa MINOR: threads: add a "stuck" flag to the thread_info struct by Willy Tarreau · Wed May 22 07:06:44 2019 +0200
  29. 01f3489 MINOR: task: put barriers after each write to curr_task by Willy Tarreau · Fri May 17 11:46:04 2019 +0200
  30. bc13bec MINOR: activity: report context switch counts instead of rates by Willy Tarreau · Tue Apr 30 14:55:18 2019 +0200
  31. d9add3a MINOR: activity: make the profiling status per thread and not global by Willy Tarreau · Thu Apr 25 08:57:41 2019 +0200
  32. 0212fad MINOR: tasks/activity: report the context switch and task wakeup rates by Willy Tarreau · Wed Apr 24 08:10:57 2019 +0200
  33. ed1a6a0 MEDIUM: tasks: Use __ha_barrier_store after modifying global_tasks_mask. by Olivier Houchard · Thu Apr 18 14:12:51 2019 +0200
  34. 1cfac37 MEDIUM: tasks: Don't account a destroyed task as a runned task. by Olivier Houchard · Wed Apr 17 22:53:41 2019 +0200
  35. 3f795f7 MEDIUM: tasks: Merge task_delete() and task_free() into task_destroy(). by Olivier Houchard · Wed Apr 17 22:51:06 2019 +0200
  36. 03dd029 CLEANUP: task: remain consistent when using the task's handler by Willy Tarreau · Wed Apr 17 22:32:27 2019 +0200
  37. 0c7a4b6 MINOR: tasks: Don't set the TASK_RUNNING flag when adding in the tasklet list. by Olivier Houchard · Wed Apr 17 19:14:56 2019 +0200
  38. de82aea BUG/MEDIUM: tasks: Make sure we modify global_tasks_mask with the rq_lock. by Olivier Houchard · Wed Apr 17 19:10:22 2019 +0200
  39. b038007 BUG/MEDIUM: tasks: Make sure we set TASK_QUEUED before adding a task to the rq. by Willy Tarreau · Wed Apr 17 11:47:18 2019 +0200
  40. 3466e3c BUILD: task/thread: fix single-threaded build of task.c by Willy Tarreau · Mon Apr 15 18:52:40 2019 +0200
  41. c8da044 MINOR: tasks: restore the lower latency scheduling when niced tasks are present by Willy Tarreau · Mon Apr 15 09:33:42 2019 +0200
  42. 2d1fd0a MEDIUM: tasks: only base the nice offset on the run queue depth by Willy Tarreau · Mon Apr 15 09:18:31 2019 +0200
  43. cde7902 MEDIUM: tasks: improve fairness between the local and global queues by Willy Tarreau · Fri Apr 12 18:03:41 2019 +0200
  44. 24f382f CLEANUP: task: do not export rq_next anymore by Willy Tarreau · Fri Apr 12 16:10:55 2019 +0200
  45. 587a813 BUG/MINOR: tasks: make sure the first task to be queued keeps its nice value by Willy Tarreau · Fri Apr 12 15:18:37 2019 +0200
  46. f8bce31 BUG/MEDIUM: task/threads: address a fairness issue between local and global tasks by Willy Tarreau · Fri Apr 12 15:11:02 2019 +0200
  47. e73256f BUG/MEDIUM: task/h2: add an idempotent task removal fucntion by Willy Tarreau · Mon Mar 25 18:02:54 2019 +0100
  48. 1b32790 BUG/MEDIUM: tasks: Make sure we wake sleeping threads if needed. by Olivier Houchard · Fri Mar 15 00:23:10 2019 +0100
  49. 4c283285 MEDIUM: task: Use the new _HA_ATOMIC_* macros. by Olivier Houchard · Fri Mar 08 18:48:47 2019 +0100
  50. d2b5d16 MEDIUM: various: Use __ha_barrier_atomic* when relevant. by Olivier Houchard · Fri Mar 08 13:47:21 2019 +0100
  51. 155acff BUG/MINOR: task: close a tiny race in the inter-thread wakeup by Willy Tarreau · Mon Feb 04 10:26:53 2019 +0100
  52. 1ee55fd MEDIUM: tasks: check the global task mask instead of the thread number by Willy Tarreau · Fri Dec 14 15:49:45 2018 +0100
  53. b582339 BUG/MEDIUM: mworker: fix several typos in mworker_cleantasks() by William Lallemand · Thu Dec 06 15:14:37 2018 +0100
  54. 27f3fa5 BUG/MEDIUM: mworker: stop every tasks in the master by William Lallemand · Thu Dec 06 14:05:20 2018 +0100
  55. b6b3df3 MEDIUM: initcall: use initcalls for a few initialization functions by Willy Tarreau · Mon Nov 26 16:31:20 2018 +0100
  56. 8ceae72 MEDIUM: init: use initcall for all fixed size pool creations by Willy Tarreau · Mon Nov 26 11:58:30 2018 +0100
  57. 86abe44 MEDIUM: init: use self-initializing spinlocks and rwlocks by Willy Tarreau · Sun Nov 25 20:12:18 2018 +0100
  58. 9efd745 MEDIUM: tasks: collect per-task CPU time and latency by Willy Tarreau · Thu May 31 14:48:54 2018 +0200
  59. cf92b6d CLEANUP: Fix typos in the task subsystem by Joseph Herlant · Thu Nov 15 14:19:23 2018 -0800
  60. 8d8747a OPTIM: tasks: group all tree roots per cache line by Willy Tarreau · Mon Oct 15 16:12:48 2018 +0200
  61. b20aa9e MAJOR: tasks: create per-thread wait queues by Willy Tarreau · Mon Oct 15 14:52:21 2018 +0200
  62. 0b25d5e MEDIUM: task: perform a single tree lookup per run queue batch by Willy Tarreau · Wed Oct 10 16:39:22 2018 +0200
  63. 19bdf24 MINOR: tasks: Don't special-case when nbthreads == 1 by Olivier Houchard · Fri Aug 17 13:36:08 2018 +0200
  64. d8b7a47 BUG/MEDIUM: tasks: Don't insert in the global rqueue if nbthread == 1 by Olivier Houchard · Thu Aug 16 19:03:02 2018 +0200
  65. 85d9b84 BUILD/MINOR: threads: unbreak build with threads disabled by Willy Tarreau · Fri Jul 27 17:14:41 2018 +0200
  66. 79321b9 MINOR: pollers: Add a way to wake a thread sleeping in the poller. by Olivier Houchard · Thu Jul 26 17:55:11 2018 +0200
  67. eba0c0b MINOR: tasks: Make global_tasks_mask volatile. by Olivier Houchard · Thu Jul 26 18:53:28 2018 +0200
  68. 9b03c0c MINOR: tasks: Make active_tasks_mask volatile. by Olivier Houchard · Thu Jul 26 18:45:22 2018 +0200
  69. 77551ee BUG/MEDIUM: tasks: make __task_unlink_rq responsible for the rqueue size. by Olivier Houchard · Thu Jul 26 15:59:38 2018 +0200
  70. 76e4518 MINOR: tasks: Add a flag that tells if we're in the global runqueue. by Olivier Houchard · Thu Jul 26 16:19:58 2018 +0200
  71. c4aac9e BUG/MEDIUM: tasks: Make sure there's no task left before considering inactive. by Olivier Houchard · Thu Jul 26 15:25:49 2018 +0200
  72. 189ea85 BUG/MEDIUM: tasks: use atomic ops for active_tasks_mask by Willy Tarreau · Thu Jul 26 15:16:43 2018 +0200
  73. e85ee7b BUG/MEDIUM: tasks: Decrement rqueue_size at the right time. by Olivier Houchard · Thu Jul 26 14:57:49 2018 +0200
  74. 9a77186 BUG/MEDIUM: tasks: make sure we pick all tasks in the run queue by Willy Tarreau · Thu Jul 26 13:36:01 2018 +0200
  75. 9db0fed BUG/MINOR: tasklets: Just make sure we don't pass a tasklet to the handler. by Olivier Houchard · Thu Jun 14 15:40:47 2018 +0200
  76. b1ca58b MINOR: tasks: Don't define rqueue if we're building without threads. by Olivier Houchard · Wed Jun 06 14:22:03 2018 +0200
  77. cc0a957 MINOR: task: Fix compiler warning. by David Carlier · Tue Jun 05 10:41:03 2018 +0000
  78. 082627a MINOR: task: Also consider the task list size when getting global tasks. by Olivier Houchard · Mon May 28 14:53:08 2018 +0200
  79. 736ea41 BUG/MEDIUM: task: Don't forget to decrement max_processed after each task. by Olivier Houchard · Mon May 28 14:54:49 2018 +0200
  80. 1599b80 MINOR: tasks: Make the number of tasks to run at once configurable. by Olivier Houchard · Thu May 24 18:59:04 2018 +0200
  81. b0bdae7 MAJOR: tasks: Introduce tasklets. by Olivier Houchard · Fri May 18 18:45:28 2018 +0200
  82. f6e6dc1 MAJOR: tasks: Create a per-thread runqueue. by Olivier Houchard · Fri May 18 18:38:23 2018 +0200
  83. 9f6af33 MINOR: tasks: Change the task API so that the callback takes 3 arguments. by Olivier Houchard · Fri May 25 14:04:04 2018 +0200
  84. 9b36cb4 BUG/MEDIUM: task: Don't free a task that is about to be run. by Olivier Houchard · Fri May 04 15:46:16 2018 +0200
  85. d80cb4e MINOR: global: add some global activity counters to help debugging by Willy Tarreau · Sat Jan 20 19:30:13 2018 +0100
  86. a24d1d0 MINOR: task: align the rq and wq locks by Willy Tarreau · Sun Nov 26 10:19:16 2017 +0100
  87. 6d1222c MINOR: task: keep a pointer to the currently running task by Willy Tarreau · Sun Nov 26 10:08:06 2017 +0100
  88. bafbe01 CLEANUP: pools: rename all pool functions and pointers to remove this "2" by Willy Tarreau · Fri Nov 24 17:34:44 2017 +0100
  89. 5175345 BUG/MAJOR: threads/task: dequeue expired tasks under the WQ lock by Willy Tarreau · Thu Nov 23 18:36:50 2017 +0100
  90. 8a48f67 MAJOR: polling: Use active_tasks_mask instead of tasks_run_queue by Christopher Faulet · Tue Nov 14 10:38:36 2017 +0100
  91. 3911ee8 MINOR: tasks: Use a bitfield to track tasks activity per-thread by Christopher Faulet · Tue Nov 14 10:26:53 2017 +0100
  92. 919b739 CLEANUP: tasks: Remove useless double test on rq_next by Christopher Faulet · Tue Nov 14 10:17:48 2017 +0100
  93. 9dcf9b6 MINOR: threads: Use __decl_hathreads to declare locks by Christopher Faulet · Mon Nov 13 10:34:01 2017 +0100
  94. 9e45b33 BUG/MAJOR: threads/tasks: fix the scheduler again by Willy Tarreau · Wed Nov 08 14:05:19 2017 +0100
  95. 2a944ee BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix by Christopher Faulet · Tue Nov 07 10:42:54 2017 +0100
  96. f0c531a MEDIUM: tasks: implement a lockless scheduler for single-thread usage by Willy Tarreau · Sun Nov 05 16:35:59 2017 +0100
  97. 9d4b56b MINOR: tasks: only visit filled task slots after processing them by Willy Tarreau · Mon Nov 06 08:36:53 2017 +0100
  98. ce4e0aa MEDIUM: task: change the construction of the loop in process_runnable_tasks() by Willy Tarreau · Sun Nov 05 23:57:00 2017 +0100
  99. b992ba1 MINOR: task: simplify wake_expired_tasks() to avoid unlocking in the loop by Willy Tarreau · Sun Nov 05 19:09:27 2017 +0100
  100. 8d38805 MAJOR: task: make use of the scope-aware ebtree functions by Willy Tarreau · Sun Nov 05 13:34:20 2017 +0100