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@xxxxxxxxx> --- 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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel