Gitiles
Code Review
Sign In
git01.mediatek.com
/
haproxy
/
d4f20fadd9c3145de0eb5f5434f57b9fffc61062
/
src
/
task.c
42facc5
MINOR: task: introduce work lists
by Willy Tarreau
· Fri Jul 12 08:31:17 2019 +0200
bd20a9d
BUG: tasks: fix bug introduced by latest scheduler cleanup
by Willy Tarreau
· Fri Jun 14 18:05:54 2019 +0200
86eded6
CLEANUP: tasks: rename task_remove_from_tasklet_list() to tasklet_remove_*
by Willy Tarreau
· Fri Jun 14 14:47:49 2019 +0200
5598d17
BUILD: task: fix a build warning when threads are disabled
by Willy Tarreau
· Tue Jun 04 17:16:29 2019 +0200
cfbb3e6
MEDIUM: tasks: Get rid of active_tasks_mask.
by Olivier Houchard
· Wed May 29 19:22:43 2019 +0200
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
ef28dc1
MINOR: task: turn the WQ lock to an RW_LOCK
by Willy Tarreau
· Tue May 28 18:48:07 2019 +0200
e6a02fa
MINOR: threads: add a "stuck" flag to the thread_info struct
by Willy Tarreau
· Wed May 22 07:06:44 2019 +0200
01f3489
MINOR: task: put barriers after each write to curr_task
by Willy Tarreau
· Fri May 17 11:46:04 2019 +0200
bc13bec
MINOR: activity: report context switch counts instead of rates
by Willy Tarreau
· Tue Apr 30 14:55:18 2019 +0200
d9add3a
MINOR: activity: make the profiling status per thread and not global
by Willy Tarreau
· Thu Apr 25 08:57:41 2019 +0200
0212fad
MINOR: tasks/activity: report the context switch and task wakeup rates
by Willy Tarreau
· Wed Apr 24 08:10:57 2019 +0200
ed1a6a0
MEDIUM: tasks: Use __ha_barrier_store after modifying global_tasks_mask.
by Olivier Houchard
· Thu Apr 18 14:12:51 2019 +0200
1cfac37
MEDIUM: tasks: Don't account a destroyed task as a runned task.
by Olivier Houchard
· Wed Apr 17 22:53:41 2019 +0200
3f795f7
MEDIUM: tasks: Merge task_delete() and task_free() into task_destroy().
by Olivier Houchard
· Wed Apr 17 22:51:06 2019 +0200
03dd029
CLEANUP: task: remain consistent when using the task's handler
by Willy Tarreau
· Wed Apr 17 22:32:27 2019 +0200
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
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
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
3466e3c
BUILD: task/thread: fix single-threaded build of task.c
by Willy Tarreau
· Mon Apr 15 18:52:40 2019 +0200
c8da044
MINOR: tasks: restore the lower latency scheduling when niced tasks are present
by Willy Tarreau
· Mon Apr 15 09:33:42 2019 +0200
2d1fd0a
MEDIUM: tasks: only base the nice offset on the run queue depth
by Willy Tarreau
· Mon Apr 15 09:18:31 2019 +0200
cde7902
MEDIUM: tasks: improve fairness between the local and global queues
by Willy Tarreau
· Fri Apr 12 18:03:41 2019 +0200
24f382f
CLEANUP: task: do not export rq_next anymore
by Willy Tarreau
· Fri Apr 12 16:10:55 2019 +0200
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
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
e73256f
BUG/MEDIUM: task/h2: add an idempotent task removal fucntion
by Willy Tarreau
· Mon Mar 25 18:02:54 2019 +0100
1b32790
BUG/MEDIUM: tasks: Make sure we wake sleeping threads if needed.
by Olivier Houchard
· Fri Mar 15 00:23:10 2019 +0100
4c283285
MEDIUM: task: Use the new _HA_ATOMIC_* macros.
by Olivier Houchard
· Fri Mar 08 18:48:47 2019 +0100
d2b5d16
MEDIUM: various: Use __ha_barrier_atomic* when relevant.
by Olivier Houchard
· Fri Mar 08 13:47:21 2019 +0100
155acff
BUG/MINOR: task: close a tiny race in the inter-thread wakeup
by Willy Tarreau
· Mon Feb 04 10:26:53 2019 +0100
1ee55fd
MEDIUM: tasks: check the global task mask instead of the thread number
by Willy Tarreau
· Fri Dec 14 15:49:45 2018 +0100
b582339
BUG/MEDIUM: mworker: fix several typos in mworker_cleantasks()
by William Lallemand
· Thu Dec 06 15:14:37 2018 +0100
27f3fa5
BUG/MEDIUM: mworker: stop every tasks in the master
by William Lallemand
· Thu Dec 06 14:05:20 2018 +0100
b6b3df3
MEDIUM: initcall: use initcalls for a few initialization functions
by Willy Tarreau
· Mon Nov 26 16:31:20 2018 +0100
8ceae72
MEDIUM: init: use initcall for all fixed size pool creations
by Willy Tarreau
· Mon Nov 26 11:58:30 2018 +0100
86abe44
MEDIUM: init: use self-initializing spinlocks and rwlocks
by Willy Tarreau
· Sun Nov 25 20:12:18 2018 +0100
9efd745
MEDIUM: tasks: collect per-task CPU time and latency
by Willy Tarreau
· Thu May 31 14:48:54 2018 +0200
cf92b6d
CLEANUP: Fix typos in the task subsystem
by Joseph Herlant
· Thu Nov 15 14:19:23 2018 -0800
8d8747a
OPTIM: tasks: group all tree roots per cache line
by Willy Tarreau
· Mon Oct 15 16:12:48 2018 +0200
b20aa9e
MAJOR: tasks: create per-thread wait queues
by Willy Tarreau
· Mon Oct 15 14:52:21 2018 +0200
0b25d5e
MEDIUM: task: perform a single tree lookup per run queue batch
by Willy Tarreau
· Wed Oct 10 16:39:22 2018 +0200
19bdf24
MINOR: tasks: Don't special-case when nbthreads == 1
by Olivier Houchard
· Fri Aug 17 13:36:08 2018 +0200
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
85d9b84
BUILD/MINOR: threads: unbreak build with threads disabled
by Willy Tarreau
· Fri Jul 27 17:14:41 2018 +0200
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
eba0c0b
MINOR: tasks: Make global_tasks_mask volatile.
by Olivier Houchard
· Thu Jul 26 18:53:28 2018 +0200
9b03c0c
MINOR: tasks: Make active_tasks_mask volatile.
by Olivier Houchard
· Thu Jul 26 18:45:22 2018 +0200
77551ee
BUG/MEDIUM: tasks: make __task_unlink_rq responsible for the rqueue size.
by Olivier Houchard
· Thu Jul 26 15:59:38 2018 +0200
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
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
189ea85
BUG/MEDIUM: tasks: use atomic ops for active_tasks_mask
by Willy Tarreau
· Thu Jul 26 15:16:43 2018 +0200
e85ee7b
BUG/MEDIUM: tasks: Decrement rqueue_size at the right time.
by Olivier Houchard
· Thu Jul 26 14:57:49 2018 +0200
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
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
b1ca58b
MINOR: tasks: Don't define rqueue if we're building without threads.
by Olivier Houchard
· Wed Jun 06 14:22:03 2018 +0200
cc0a957
MINOR: task: Fix compiler warning.
by David Carlier
· Tue Jun 05 10:41:03 2018 +0000
082627a
MINOR: task: Also consider the task list size when getting global tasks.
by Olivier Houchard
· Mon May 28 14:53:08 2018 +0200
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
1599b80
MINOR: tasks: Make the number of tasks to run at once configurable.
by Olivier Houchard
· Thu May 24 18:59:04 2018 +0200
b0bdae7
MAJOR: tasks: Introduce tasklets.
by Olivier Houchard
· Fri May 18 18:45:28 2018 +0200
f6e6dc1
MAJOR: tasks: Create a per-thread runqueue.
by Olivier Houchard
· Fri May 18 18:38:23 2018 +0200
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
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
d80cb4e
MINOR: global: add some global activity counters to help debugging
by Willy Tarreau
· Sat Jan 20 19:30:13 2018 +0100
a24d1d0
MINOR: task: align the rq and wq locks
by Willy Tarreau
· Sun Nov 26 10:19:16 2017 +0100
6d1222c
MINOR: task: keep a pointer to the currently running task
by Willy Tarreau
· Sun Nov 26 10:08:06 2017 +0100
bafbe01
CLEANUP: pools: rename all pool functions and pointers to remove this "2"
by Willy Tarreau
· Fri Nov 24 17:34:44 2017 +0100
5175345
BUG/MAJOR: threads/task: dequeue expired tasks under the WQ lock
by Willy Tarreau
· Thu Nov 23 18:36:50 2017 +0100
8a48f67
MAJOR: polling: Use active_tasks_mask instead of tasks_run_queue
by Christopher Faulet
· Tue Nov 14 10:38:36 2017 +0100
3911ee8
MINOR: tasks: Use a bitfield to track tasks activity per-thread
by Christopher Faulet
· Tue Nov 14 10:26:53 2017 +0100
919b739
CLEANUP: tasks: Remove useless double test on rq_next
by Christopher Faulet
· Tue Nov 14 10:17:48 2017 +0100
9dcf9b6
MINOR: threads: Use __decl_hathreads to declare locks
by Christopher Faulet
· Mon Nov 13 10:34:01 2017 +0100
9e45b33
BUG/MAJOR: threads/tasks: fix the scheduler again
by Willy Tarreau
· Wed Nov 08 14:05:19 2017 +0100
2a944ee
BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix
by Christopher Faulet
· Tue Nov 07 10:42:54 2017 +0100
f0c531a
MEDIUM: tasks: implement a lockless scheduler for single-thread usage
by Willy Tarreau
· Sun Nov 05 16:35:59 2017 +0100
9d4b56b
MINOR: tasks: only visit filled task slots after processing them
by Willy Tarreau
· Mon Nov 06 08:36:53 2017 +0100
ce4e0aa
MEDIUM: task: change the construction of the loop in process_runnable_tasks()
by Willy Tarreau
· Sun Nov 05 23:57:00 2017 +0100
b992ba1
MINOR: task: simplify wake_expired_tasks() to avoid unlocking in the loop
by Willy Tarreau
· Sun Nov 05 19:09:27 2017 +0100
8d38805
MAJOR: task: make use of the scope-aware ebtree functions
by Willy Tarreau
· Sun Nov 05 13:34:20 2017 +0100
f65610a
CLEANUP: threads: rename process_mask to thread_mask
by Willy Tarreau
· Tue Oct 31 16:06:06 2017 +0100
5f4a47b
CLEANUP: threads: replace the last few 1UL<<tid with tid_bit
by Willy Tarreau
· Tue Oct 31 15:59:32 2017 +0100
c60def8
MAJOR: threads/task: handle multithread on task scheduler
by Emeric Brun
· Wed Sep 27 14:59:38 2017 +0200
d697596
MINOR: tasks: Move Lua notification from Lua to tasks
by Thierry FOURNIER
· Wed Jul 12 14:31:10 2017 +0200
0194897
MAJOR: task: task scheduler rework.
by Emeric Brun
· Thu Mar 30 15:37:25 2017 +0200
34c5cc9
MINOR: task: Rename run_queue and run_queue_cur counters
by Christopher Faulet
· Tue Dec 06 09:15:30 2016 +0100
87b0966
REORG/MAJOR: session: rename the "session" entity to "stream"
by Willy Tarreau
· Fri Apr 03 00:22:06 2015 +0200
c46c965
BUG/MEDIUM: task: fix recently introduced scheduler skew
by Willy Tarreau
· Wed Mar 04 23:26:01 2015 +0100
9cf7c4b
MAJOR: poll: only rely on wake_expired_tasks() to compute the wait delay
by Thierry FOURNIER
· Mon Dec 15 13:26:01 2014 +0100
501260b
MEDIUM: task: always ensure that the run queue is consistent
by Willy Tarreau
· Mon Feb 23 16:07:01 2015 +0100
98c6121
[OPTIM] task: don't scan the run queue if we know it's empty
by Willy Tarreau
· Sat Sep 10 20:08:49 2011 +0200
45cb4fb
[MEDIUM] build: switch ebtree users to use new ebtree version
by Willy Tarreau
· Mon Oct 26 21:10:04 2009 +0100
1d7a420
[BUG] task.c: don't assing last_timer to node-less entries
by SaVaGe
· Tue Oct 06 18:53:37 2009 +0300
34e98ea
[BUG] task: fix possible crash when some timeouts are not configured
by Willy Tarreau
· Sun Aug 09 09:09:54 2009 +0200
814c978
[BUG] task: fix possible timer drift after update
by Willy Tarreau
· Tue Jul 14 23:48:55 2009 +0200
3884cba
[MINOR] show sess: report number of calls to each task
by Willy Tarreau
· Sat Mar 28 17:54:35 2009 +0100
c7bdf09
[MINOR] stats: report number of tasks (active and running)
by Willy Tarreau
· Sat Mar 21 18:33:52 2009 +0100
a461318
[MINOR] task: keep a task count and clean up task creators
by Willy Tarreau
· Sat Mar 21 18:13:21 2009 +0100
135a113
[MINOR] sched: permit a task to stay up between calls
by Willy Tarreau
· Sat Mar 21 13:26:05 2009 +0100
26ca34e
[BUG] scheduler: fix improper handling of duplicates __task_queue()
by Willy Tarreau
· Sat Mar 21 12:51:40 2009 +0100
Next »