Gitiles
Code Review
Sign In
git01.mediatek.com
/
haproxy
/
e09d2ae598cddcc598fefd58c737847fa68ade08
/
src
/
task.c
5ec79f1
BUILD: sched: fix build with DEBUG_THREAD with the previous commit
by Willy Tarreau
· Tue Nov 22 10:24:07 2022 +0100
fc50b9d
BUG/MAJOR: sched: protect task during removal from wait queue
by Willy Tarreau
· Tue Nov 22 07:05:44 2022 +0100
3d4cdb1
MEDIUM: tasks/activity: combine the called function with the caller
by Willy Tarreau
· Wed Sep 07 18:37:47 2022 +0200
a9a2384
CLEANUP: sched: remove duplicate code in run_tasks_from_list()
by Willy Tarreau
· Wed Sep 07 17:06:16 2022 +0200
6a28a30
MINOR: tasks: do not keep cpu and latency times in struct task
by Willy Tarreau
· Wed Sep 07 09:17:45 2022 +0200
1efddfa
MINOR: sched: store the current profile entry in the thread context
by Willy Tarreau
· Wed Sep 07 16:16:39 2022 +0200
62b5b96
BUG/MINOR: sched: properly account for the CPU time of dying tasks
by Willy Tarreau
· Wed Sep 07 15:11:25 2022 +0200
04e50b3
CLEANUP: task: rename ->call_date to ->wake_date
by Willy Tarreau
· Wed Sep 07 14:49:50 2022 +0200
768c2c5
MINOR: task: permanently enable latency measurement on tasklets
by Willy Tarreau
· Tue Sep 06 19:17:45 2022 +0200
91a7c16
MINOR: task: move the niced_tasks counter to the thread group context
by Willy Tarreau
· Thu Jul 07 15:25:40 2022 +0200
b0e7712
MEDIUM: task/thread: move the task shared wait queues per thread group
by Willy Tarreau
· Thu Jul 07 15:22:55 2022 +0200
bdcd325
MINOR: thread: only use atomic ops to touch the flags
by Willy Tarreau
· Wed Jun 22 09:19:46 2022 +0200
f3efef4
MINOR: thread: make wake_thread() take care of the sleeping threads mask
by Willy Tarreau
· Mon Jun 20 09:14:40 2022 +0200
319d136
MEDIUM: task: use regular eb32 trees for the run queues
by Willy Tarreau
· Thu Jun 16 16:28:01 2022 +0200
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
da195e8
MINOR: task: remove grq_total and use rq_total instead
by Willy Tarreau
· Thu Jun 16 15:52:49 2022 +0200
b17dd6c
MEDIUM: task: replace the global rq_lock with a per-rq one
by Willy Tarreau
· Thu Jun 16 16:58:17 2022 +0200
6f78038
MEDIUM: task: move the shared runqueue to one per thread
by Willy Tarreau
· Thu Jun 16 15:30:50 2022 +0200
a4fb79b
MINOR: task: make rqueue_ticks atomic
by Willy Tarreau
· Thu Jun 16 15:44:35 2022 +0200
fc5de15
CLEANUP: task: remove the now unused TASK_GLOBAL flag
by Willy Tarreau
· Thu Jun 16 16:05:02 2022 +0200
159e3ac
MEDIUM: task: remove TASK_SHARED_WQ and only use t->tid
by Willy Tarreau
· Wed Jun 15 16:48:45 2022 +0200
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
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
ad548b5
MINOR: task: Add tasklet_wakeup_after()
by Frédéric Lécaille
· Wed Jun 29 10:53:03 2022 +0200
9b3aa63
BUG/MINOR: task: fix thread assignment in tasklet_kill()
by Willy Tarreau
· Wed Jun 15 15:54:56 2022 +0200
f5aef02
OPTIM: task: do not consult shared WQ when we're already full
by Willy Tarreau
· Tue Jun 14 15:04:34 2022 +0200
3ccb14d
MINOR: thread: get rid of MAX_THREADS_MASK
by Willy Tarreau
· Tue Jun 14 11:18:40 2022 +0200
680ed5f
MINOR: task: move profiling bit to per-thread
by Willy Tarreau
· Mon Jun 13 15:59:39 2022 +0200
6c8babf
BUG/MAJOR: sched: prevent rare concurrent wakeup of multi-threaded tasks
by Willy Tarreau
· Mon Feb 14 10:18:51 2022 +0100
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
3193eb9
BUG/MINOR: task: do not set TASK_F_USR1 for no reason
by Willy Tarreau
· Thu Oct 21 16:17:29 2021 +0200
a0b9953
REORG: thread/sched: move the thread_info flags to the thread_ctx
by Willy Tarreau
· Thu Sep 30 18:48:37 2021 +0200
1a9c922
REORG: thread/sched: move the task_per_thread stuff to thread_ctx
by Willy Tarreau
· Fri Oct 01 11:30:33 2021 +0200
f9d5e10
REORG: clock: move the updates of cpu/mono time to clock.c
by Willy Tarreau
· Fri Oct 08 10:43:59 2021 +0200
5554264
REORG: time: move time-keeping code and variables to clock.c
by Willy Tarreau
· Fri Oct 08 09:33:24 2021 +0200
d8b325c
REORG: task: uninline the loop time measurement code
by Willy Tarreau
· Wed Oct 06 19:25:38 2021 +0200
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
5d9ddc5
BUILD: tree-wide: add several missing activity.h
by Willy Tarreau
· Wed Oct 06 19:54:09 2021 +0200
6136989
MINOR: time: uninline report_idle() and move it to task.c
by Willy Tarreau
· Thu Sep 30 08:52:11 2021 +0200
6a2a912
CLEANUP: tasks: remove the long-unused work_lists
by Willy Tarreau
· Fri Oct 01 18:30:14 2021 +0200
7a96999
MINOR: tasks: catch TICK_ETERNITY with BUG_ON() in __task_queue()
by Willy Tarreau
· Thu Sep 30 16:38:09 2021 +0200
7b36833
MEDIUM: task: implement tasklet kill
by Amaury Denoyelle
· Wed Jul 28 16:12:57 2021 +0200
e08f4bf
MINOR: task: stop including stream.h from task.c
by Willy Tarreau
· Sat May 08 20:10:13 2021 +0200
c79e898
BUILD: task: remove unused includes from task.c
by Willy Tarreau
· Sat May 08 20:08:58 2021 +0200
2b71810
CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion
by Willy Tarreau
· Wed Apr 21 07:32:39 2021 +0200
4781b15
CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec
by Willy Tarreau
· Tue Apr 06 13:53:36 2021 +0200
1db4273
CLEANUP: atomic: add an explicit _FETCH variant for add/sub/and/or
by Willy Tarreau
· Tue Apr 06 11:44:07 2021 +0200
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
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
b7e0c63
BUILD: task: fix build at -O0 with threads disabled
by Willy Tarreau
· Tue Mar 09 09:59:50 2021 +0100
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
144f84a
MEDIUM: task: extend the state field to 32 bits
by Willy Tarreau
· Tue Mar 02 16:09:26 2021 +0100
db4e238
MINOR: task: stop abusing the nice field to detect a tasklet
by Willy Tarreau
· Tue Mar 02 15:54:11 2021 +0100
76390da
MINOR: task: only limit TL_HEAVY tasks but not others
by Willy Tarreau
· Fri Feb 26 10:18:11 2021 +0100
826fa87
MINOR: task: place the heavy elements in TL_HEAVY
by Willy Tarreau
· Fri Feb 26 10:13:40 2021 +0100
401135c
MINOR: task: add one extra tasklet class: TL_HEAVY
by Willy Tarreau
· Fri Feb 26 09:16:22 2021 +0100
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
2a54ffb
MINOR: task: make tasklet wakeup latency measurements more accurate
by Willy Tarreau
· Thu Feb 25 09:32:58 2021 +0100
b2285de
MINOR: tasks: also compute the tasklet latency when DEBUG_TASK is set
by Willy Tarreau
· Thu Feb 25 08:39:07 2021 +0100
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
c9afbb1
MINOR: task: don't decrement then increment the local run queue
by Willy Tarreau
· Thu Feb 25 07:19:45 2021 +0100
2b363ac
MINOR: task: do not use __task_unlink_rq() from process_runnable_tasks()
by Willy Tarreau
· Thu Feb 25 07:14:58 2021 +0100
e7923c1
MINOR: task: split the counts of local and global tasks picked
by Willy Tarreau
· Thu Feb 25 07:09:08 2021 +0100
9c6dbf0
CLEANUP: task: split the large tasklet_wakeup_on() function in two
by Willy Tarreau
· Wed Feb 24 17:51:38 2021 +0100
955a11e
MINOR: task: move the allocated tasks counter to the per-thread struct
by Willy Tarreau
· Wed Feb 24 17:03:30 2021 +0100
eeffb3d
MINOR: task: limit the remote thread wakeup to the global runqueue only
by Willy Tarreau
· Wed Feb 24 16:44:51 2021 +0100
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
1f3b141
CLEANUP: tasks: use a less confusing name for task_list_size
by Willy Tarreau
· Wed Feb 24 14:13:40 2021 +0100
2c41d77
MINOR: tasks: do not maintain the rqueue_size counter anymore
by Willy Tarreau
· Wed Feb 24 16:13:03 2021 +0100
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
c6ba9a0
MINOR: sched: have one runqueue ticks counter per thread
by Willy Tarreau
· Sat Feb 20 12:49:54 2021 +0100
4e2282f
MEDIUM: tasks/activity: collect per-task statistics when profiling is enabled
by Willy Tarreau
· Fri Jan 29 00:07:40 2021 +0100
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
2da4c31
MINOR: task: remove __tasklet_remove_from_tasklet_list()
by Willy Tarreau
· Mon Nov 30 14:52:11 2020 +0100
c309dbd
MINOR: task: perform atomic counter increments only once per wakeup
by Willy Tarreau
· Mon Nov 30 15:39:00 2020 +0100
a868c29
MINOR: task: remove tasklet_insert_into_tasklet_list()
by Willy Tarreau
· Mon Nov 30 15:30:22 2020 +0100
69a7b8f
CLEANUP: task: remove the unused and mishandled global_rqueue_size
by Willy Tarreau
· Sun Oct 18 14:24:51 2020 +0200
d48ed66
MEDIUM: task: use an upgradable seek lock when scanning the wait queue
by Willy Tarreau
· Fri Oct 16 09:31:41 2020 +0200
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
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
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
783afbe
BUG/MAJOR: tasks: don't requeue global tasks into the local queue
by Willy Tarreau
· Wed Jul 22 14:12:45 2020 +0200
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
950954f
MINOR: tasks: use MT_LIST_ADDQ() when killing tasks.
by Willy Tarreau
· Fri Jul 10 08:32:10 2020 +0200
de4db17
MINOR: lists: rename some MT_LIST operations to clarify them
by Willy Tarreau
· Fri Jul 10 08:10:29 2020 +0200
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
54d3117
BUG/MAJOR: sched: make sure task_kill() always queues the task
by Willy Tarreau
· Thu Jul 02 14:14:00 2020 +0200
eb8c2c6
MEDIUM: sched: implement task_kill() to kill a task
by Willy Tarreau
· Tue Jun 30 11:48:48 2020 +0200
8a6049c
MEDIUM: sched: create a new TASK_KILLED task flag
by Willy Tarreau
· Tue Jun 30 11:48:48 2020 +0200
d99177f
MINOR: sched: make sched->task_list_size atomic
by Willy Tarreau
· Tue Jun 30 11:48:48 2020 +0200
1553b66
BUG/MINOR: sched: properly cover for a rare MT_LIST_ADDQ() race
by Willy Tarreau
· Tue Jun 30 13:46:21 2020 +0200
e7723bd
MEDIUM: tasks: add a tune.sched.low-latency option
by Willy Tarreau
· Wed Jun 24 11:11:02 2020 +0200
59153fe
MINOR: tasks: make run_tasks_from_lists() scan the queues itself
by Willy Tarreau
· Wed Jun 24 10:17:29 2020 +0200
ba48d5c
MINOR: tasks: pass the queue index to run_task_from_list()
by Willy Tarreau
· Wed Jun 24 09:54:24 2020 +0200
49f90bf
MINOR: tasks: add a mask of the queues with active tasklets
by Willy Tarreau
· Wed Jun 24 09:39:48 2020 +0200
c0a08ba
MINOR: tasks: make current_queue an index instead of a pointer
by Willy Tarreau
· Wed Jun 24 09:19:50 2020 +0200
3ef7a19
MEDIUM: tasks: apply a fair CPU distribution between tasklet classes
by Willy Tarreau
· Wed Jun 24 07:21:08 2020 +0200
116ef22
MINOR: task: add a new pointer to current tasklet queue
by Willy Tarreau
· Tue Jun 23 16:35:38 2020 +0200
0c0c85e
BUG/MINOR: tasks: make sure never to exceed max_processed
by Willy Tarreau
· Tue Jun 23 11:32:35 2020 +0200
5c8be27
MEDIUM: tasks: also process late wakeups in process_runnable_tasks()
by Willy Tarreau
· Fri Jun 19 12:17:55 2020 +0200
Next »