Gitiles
Code Review
Sign In
git01.mediatek.com
/
haproxy
/
c77ceb6ad181848927fd7aa0da5c3890695ec3f9
/
src
/
task.c
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
77015ab
MEDIUM: tasks: clean up the front side of the wait queue in wake_expired_tasks()
by Willy Tarreau
· Fri Jun 19 11:50:27 2020 +0200
b255105
CLEANUP: include: tree-wide alphabetical sort of include files
by Willy Tarreau
· Tue Jun 09 09:07:15 2020 +0200
dfd3de8
REORG: include: move stream.h to haproxy/stream{,-t}.h
by Willy Tarreau
· Thu Jun 04 23:46:14 2020 +0200
a264d96
REORG: include: move proxy.h to haproxy/proxy{,-t}.h
by Willy Tarreau
· Thu Jun 04 22:29:18 2020 +0200
cea0e1b
REORG: include: move task.h to haproxy/task{,-t}.h
by Willy Tarreau
· Thu Jun 04 17:25:40 2020 +0200
0f6ffd6
REORG: include: move fd.h to haproxy/fd{,-t}.h
by Willy Tarreau
· Wed Jun 03 19:33:00 2020 +0200
48fbcae
REORG: tools: split common/standard.h into haproxy/tools{,-t}.h
by Willy Tarreau
· Wed Jun 03 18:09:46 2020 +0200
d0ef439
REORG: include: move common/memory.h to haproxy/pool.h
by Willy Tarreau
· Tue Jun 02 09:38:52 2020 +0200
6634794
REORG: include: move freq_ctr to haproxy/
by Willy Tarreau
· Mon Jun 01 12:18:08 2020 +0200
92b4f13
REORG: include: move time.h from common/ to haproxy/
by Willy Tarreau
· Mon Jun 01 11:05:15 2020 +0200
af613e8
CLEANUP: thread: rename __decl_hathreads() to __decl_thread()
by Willy Tarreau
· Fri Jun 05 08:40:51 2020 +0200
853b297
REORG: include: split mini-clist into haproxy/list and list-t.h
by Willy Tarreau
· Wed May 27 18:01:47 2020 +0200
4c7e4b7
REORG: include: update all files to use haproxy/api.h or api-t.h if needed
by Willy Tarreau
· Wed May 27 12:58:42 2020 +0200
8d2b777
REORG: ebtree: move the include files from ebtree to include/import/
by Willy Tarreau
· Wed May 27 10:58:19 2020 +0200
856aabc
CLEANUP: assorted typo fixes in the code and comments
by Ilya Shipitsin
· Thu Apr 16 23:51:34 2020 +0500
c62d9ab
MINOR: tasks: Provide the tasklet to the callback.
by Olivier Houchard
· Tue Mar 17 18:15:04 2020 +0100
27d00c0
MINOR: task: export run_tasks_from_list
by Willy Tarreau
· Tue Mar 03 14:59:28 2020 +0100
952c264
MINOR: task: don't set TASK_RUNNING on tasklets
by Willy Tarreau
· Fri Jan 31 16:39:30 2020 +0100
1dfc9bb
OPTIM: task: readjust CPU bandwidth distribution since last update
by Willy Tarreau
· Fri Jan 31 17:55:09 2020 +0100
d23d413
MINOR: task: make sched->current also reflect tasklets
by Willy Tarreau
· Fri Jan 31 10:39:03 2020 +0100
bb23883
MINOR: task: permanently flag tasklets waking themselves up
by Willy Tarreau
· Fri Jan 31 10:48:10 2020 +0100
c633607
OPTIM: task: refine task classes default CPU bandwidth ratios
by Willy Tarreau
· Fri Jan 31 06:26:39 2020 +0100
a62917b
MEDIUM: tasks: implement 3 different tasklet classes with their own queues
by Willy Tarreau
· Thu Jan 30 18:37:28 2020 +0100
4ffa0b5
MINOR: tasks: move the list walking code to its own function
by Willy Tarreau
· Thu Jan 30 18:13:13 2020 +0100
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
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
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
0691046
MEDIUM: task: Split the tasklet list into two lists.
by Olivier Houchard
· Fri Oct 11 16:35:01 2019 +0200
Next »