|
39 | 39 | Although MT wq wasted a lot of resource, the level of concurrency
|
40 | 40 | provided was unsatisfactory. The limitation was common to both ST and
|
41 | 41 | MT wq albeit less severe on MT. Each wq maintained its own separate
|
42 |
| -worker pool. A MT wq could provide only one execution context per CPU |
43 |
| -while a ST wq one for the whole system. Work items had to compete for |
| 42 | +worker pool. An MT wq could provide only one execution context per CPU |
| 43 | +while an ST wq one for the whole system. Work items had to compete for |
44 | 44 | those very limited execution contexts leading to various problems
|
45 | 45 | including proneness to deadlocks around the single execution context.
|
46 | 46 |
|
@@ -151,7 +151,7 @@ Application Programming Interface (API)
|
151 | 151 |
|
152 | 152 | ``alloc_workqueue()`` allocates a wq. The original
|
153 | 153 | ``create_*workqueue()`` functions are deprecated and scheduled for
|
154 |
| -removal. ``alloc_workqueue()`` takes three arguments - @``name``, |
| 154 | +removal. ``alloc_workqueue()`` takes three arguments - ``@name``, |
155 | 155 | ``@flags`` and ``@max_active``. ``@name`` is the name of the wq and
|
156 | 156 | also used as the name of the rescuer thread if there is one.
|
157 | 157 |
|
@@ -197,7 +197,7 @@ resources, scheduled and executed.
|
197 | 197 | served by worker threads with elevated nice level.
|
198 | 198 |
|
199 | 199 | Note that normal and highpri worker-pools don't interact with
|
200 |
| - each other. Each maintain its separate pool of workers and |
| 200 | + each other. Each maintains its separate pool of workers and |
201 | 201 | implements concurrency management among its workers.
|
202 | 202 |
|
203 | 203 | ``WQ_CPU_INTENSIVE``
|
@@ -249,8 +249,8 @@ unbound worker-pools and only one work item could be active at any given
|
249 | 249 | time thus achieving the same ordering property as ST wq.
|
250 | 250 |
|
251 | 251 | In the current implementation the above configuration only guarantees
|
252 |
| -ST behavior within a given NUMA node. Instead alloc_ordered_queue should |
253 |
| -be used to achieve system wide ST behavior. |
| 252 | +ST behavior within a given NUMA node. Instead ``alloc_ordered_queue()`` should |
| 253 | +be used to achieve system-wide ST behavior. |
254 | 254 |
|
255 | 255 |
|
256 | 256 | Example Execution Scenarios
|
|
0 commit comments