Hello, Dne 27.1.2020 v 04:24 Gabriel Krisman Bertazi napsal(a): > From: Frank Mayhar <fmayhar@xxxxxxxxxx> > > iSCSI session destruction can be arbitrarily slow, since it might > require network operations and serialization inside the scsi layer. > This patch adds a new user event to trigger the destruction work > asynchronously, releasing the rx_queue_mutex as soon as the operation is > queued and before it is performed. This change allow other operations > to run in other sessions in the meantime, removing one of the major > iSCSI bottlenecks for us. > > To prevent the session from being used after the destruction request, we > remove it immediately from the sesslist. This simplifies the locking > required during the asynchronous removal. > > Co-developed-by: Khazhismel Kumykov <khazhy@xxxxxxxxxx> > Signed-off-by: Khazhismel Kumykov <khazhy@xxxxxxxxxx> > Signed-off-by: Frank Mayhar <fmayhar@xxxxxxxxxx> > Co-developed-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxx> > Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxx> [...] > + iscsi_destroy_workq = create_singlethread_workqueue("iscsi_destroy"); > + if (!iscsi_destroy_workq) > + goto destroy_wq; > + > return 0; I think you should set err to -ENOMEM before the goto instruction. Maurizio Lombardi