[PATCH] Drivers: hv: connection: Remove create_workqueue

Bhaktipriya Shridhar bhaktipriya96 at gmail.com
Sat Jun 18 08:44:23 UTC 2016


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 at 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



More information about the devel mailing list