Messages in this thread Patch in this message | | | Date | Sat, 18 Jun 2016 14:14:23 +0530 | From | Bhaktipriya Shridhar <> | Subject | [PATCH] Drivers: hv: connection: Remove create_workqueue |
| |
alloc_workqueue replaces deprecated create_workqueue(). A dedicated workqueue has been used since the workitem (viz &ctx->work, which maps to vmbus_onmessage_work), is engaged in normal device operation which involves invoking the handler for channel protocol messages. WQ_MEM_RECLAIM has been set to guarantee forward progress under memory pressure, which is a requirement in this case. Since there are only a fixed number of work items, explicit concurrency limit is unnecessary here.
Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com> --- drivers/hv/connection.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c index fcf8a02..a292b85 100644 --- a/drivers/hv/connection.c +++ b/drivers/hv/connection.c @@ -147,7 +147,8 @@ int vmbus_connect(void)
/* Initialize the vmbus connection */ vmbus_connection.conn_state = CONNECTING; - vmbus_connection.work_queue = create_workqueue("hv_vmbus_con"); + vmbus_connection.work_queue = alloc_workqueue("hv_vmbus_con", + WQ_MEM_RECLAIM, 0); if (!vmbus_connection.work_queue) { ret = -ENOMEM; goto cleanup; -- 2.1.4
| |