diff --git a/net/rds/threads.c b/net/rds/threads.c
index 2bab9bf07b91e48536c9202ae98c8b0e225996f2..c08c220efac5cf36023c51ffd0c774dc266b1502 100644
--- a/net/rds/threads.c
+++ b/net/rds/threads.c
@@ -214,7 +214,7 @@ void rds_threads_exit(void)
 
 int __init rds_threads_init(void)
 {
-	rds_wq = create_workqueue("krdsd");
+	rds_wq = create_singlethread_workqueue("krdsd");
 	if (!rds_wq)
 		return -ENOMEM;