diff options
| -rw-r--r-- | Documentation/core-api/workqueue.rst | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Documentation/core-api/workqueue.rst b/Documentation/core-api/workqueue.rst index 3943b5bfa8cf..00a5ba51e63f 100644 --- a/Documentation/core-api/workqueue.rst +++ b/Documentation/core-api/workqueue.rst | |||
| @@ -39,8 +39,8 @@ up. | |||
| 39 | Although MT wq wasted a lot of resource, the level of concurrency | 39 | Although MT wq wasted a lot of resource, the level of concurrency |
| 40 | provided was unsatisfactory. The limitation was common to both ST and | 40 | provided was unsatisfactory. The limitation was common to both ST and |
| 41 | MT wq albeit less severe on MT. Each wq maintained its own separate | 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 | 42 | worker pool. An 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 | 43 | while an ST wq one for the whole system. Work items had to compete for |
| 44 | those very limited execution contexts leading to various problems | 44 | those very limited execution contexts leading to various problems |
| 45 | including proneness to deadlocks around the single execution context. | 45 | including proneness to deadlocks around the single execution context. |
| 46 | 46 | ||
| @@ -151,7 +151,7 @@ Application Programming Interface (API) | |||
| 151 | 151 | ||
| 152 | ``alloc_workqueue()`` allocates a wq. The original | 152 | ``alloc_workqueue()`` allocates a wq. The original |
| 153 | ``create_*workqueue()`` functions are deprecated and scheduled for | 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 | ``@flags`` and ``@max_active``. ``@name`` is the name of the wq and | 155 | ``@flags`` and ``@max_active``. ``@name`` is the name of the wq and |
| 156 | also used as the name of the rescuer thread if there is one. | 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 | served by worker threads with elevated nice level. | 197 | served by worker threads with elevated nice level. |
| 198 | 198 | ||
| 199 | Note that normal and highpri worker-pools don't interact with | 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 | implements concurrency management among its workers. | 201 | implements concurrency management among its workers. |
| 202 | 202 | ||
| 203 | ``WQ_CPU_INTENSIVE`` | 203 | ``WQ_CPU_INTENSIVE`` |
| @@ -249,8 +249,8 @@ unbound worker-pools and only one work item could be active at any given | |||
| 249 | time thus achieving the same ordering property as ST wq. | 249 | time thus achieving the same ordering property as ST wq. |
| 250 | 250 | ||
| 251 | In the current implementation the above configuration only guarantees | 251 | In the current implementation the above configuration only guarantees |
| 252 | ST behavior within a given NUMA node. Instead alloc_ordered_queue should | 252 | ST behavior within a given NUMA node. Instead ``alloc_ordered_queue()`` should |
| 253 | be used to achieve system wide ST behavior. | 253 | be used to achieve system-wide ST behavior. |
| 254 | 254 | ||
| 255 | 255 | ||
| 256 | Example Execution Scenarios | 256 | Example Execution Scenarios |
