···15031503 }1504150415051505 /*15061506- * BB Consider setting limit!=0 maybe to min(num_of_cores - 1, 3) so we15071507- * don't launch too many worker threads15061506+ * Consider in future setting limit!=0 maybe to min(num_of_cores - 1, 3)15071507+ * so that we don't launch too many worker threads but15081508+ * Documentation/workqueue.txt recommends setting it to 015081509 */15101510+15111511+ /* WQ_UNBOUND allows decrypt tasks to run on any CPU */15091512 decrypt_wq = alloc_workqueue("smb3decryptd",15101510- WQ_FREEZABLE|WQ_MEM_RECLAIM, 0);15131513+ WQ_UNBOUND|WQ_FREEZABLE|WQ_MEM_RECLAIM, 0);15111514 if (!decrypt_wq) {15121515 rc = -ENOMEM;15131516 goto out_destroy_cifsiod_wq;
+1-1
fs/cifs/smb2ops.c
···41214121 * use more cores decrypting which can be expensive41224122 */4123412341244124- if ((server->min_offload) &&41244124+ if ((server->min_offload) && (server->in_flight > 1) &&41254125 (server->pdu_size >= server->min_offload)) {41264126 dw = kmalloc(sizeof(struct smb2_decrypt_work), GFP_KERNEL);41274127 if (dw == NULL)