Gitiles
Code Review
Sign In
git01.mediatek.com
/
haproxy
/
87a0db9993b057b1fe7309ddedda7de0f55d6be2
/
src
/
task.c
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
0730867
BUG/MEDIUM: tasks: Don't forget to decrement tasks_run_queue.
by Olivier Houchard
· Thu Oct 03 14:55:34 2019 +0200
d022e9c
MINOR: task: introduce a thread-local "sched" variable for local scheduler stuff
by Willy Tarreau
· Tue Sep 24 08:25:15 2019 +0200
d66d756
MINOR: task: split the tasklet vs task code in process_runnable_tasks()
by Willy Tarreau
· Tue Sep 24 07:34:09 2019 +0200
4c1e1ad
CLEANUP: task: cache the task_per_thread pointer
by Willy Tarreau
· Tue Sep 24 07:19:08 2019 +0200
9b48c62
CLEANUP: task: remove impossible test
by Willy Tarreau
· Tue Sep 24 07:02:40 2019 +0200
ff1e9f3
MEDIUM: tasklets: Make the tasklet list a struct mt_list.
by Olivier Houchard
· Fri Sep 20 17:18:35 2019 +0200
859dc80
MEDIUM: list: Separate "locked" list from regular list.
by Olivier Houchard
· Thu Aug 08 15:47:21 2019 +0200
64e6012
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
Next »