Module Name: src Committed By: mlelstv Date: Sun Jun 5 05:31:43 UTC 2016
Modified Files: src/sys/dev/iscsi: iscsi_rcv.c iscsi_send.c Log Message: No need to acquire KERNEL_LOCK when entering network code. Also use the socket callbacks. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/dev/iscsi/iscsi_rcv.c cvs rdiff -u -r1.23 -r1.24 src/sys/dev/iscsi/iscsi_send.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/iscsi/iscsi_rcv.c diff -u src/sys/dev/iscsi/iscsi_rcv.c:1.16 src/sys/dev/iscsi/iscsi_rcv.c:1.17 --- src/sys/dev/iscsi/iscsi_rcv.c:1.16 Sun Jun 5 05:11:57 2016 +++ src/sys/dev/iscsi/iscsi_rcv.c Sun Jun 5 05:31:43 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: iscsi_rcv.c,v 1.16 2016/06/05 05:11:57 mlelstv Exp $ */ +/* $NetBSD: iscsi_rcv.c,v 1.17 2016/06/05 05:31:43 mlelstv Exp $ */ /*- * Copyright (c) 2004,2005,2006,2011 The NetBSD Foundation, Inc. @@ -59,9 +59,7 @@ my_soo_read(connection_t *conn, struct u DEBC(conn, 99, ("soo_read req: %zu\n", resid)); - KERNEL_LOCK(1, curlwp); - ret = soreceive(so, NULL, u, NULL, NULL, &flags); - KERNEL_UNLOCK_ONE(curlwp); + ret = (*so->so_receive)(so, NULL, u, NULL, NULL, &flags); if (ret || (flags != MSG_DONTWAIT && u->uio_resid)) { DEBC(conn, 1, ("Read failed (ret: %d, req: %zu, out: %zu)\n", Index: src/sys/dev/iscsi/iscsi_send.c diff -u src/sys/dev/iscsi/iscsi_send.c:1.23 src/sys/dev/iscsi/iscsi_send.c:1.24 --- src/sys/dev/iscsi/iscsi_send.c:1.23 Sun Jun 5 05:25:59 2016 +++ src/sys/dev/iscsi/iscsi_send.c Sun Jun 5 05:31:43 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: iscsi_send.c,v 1.23 2016/06/05 05:25:59 mlelstv Exp $ */ +/* $NetBSD: iscsi_send.c,v 1.24 2016/06/05 05:31:43 mlelstv Exp $ */ /*- * Copyright (c) 2004,2005,2006,2011 The NetBSD Foundation, Inc. @@ -62,9 +62,7 @@ my_soo_write(connection_t *conn, struct KASSERT(u->uio_resid != 0); - KERNEL_LOCK(1, curlwp); - ret = sosend(so, NULL, u, NULL, NULL, 0, conn->threadobj); - KERNEL_UNLOCK_ONE(curlwp); + ret = (*so->so_send)(so, NULL, u, NULL, NULL, 0, conn->threadobj); DEB(99, ("soo_write done: len = %zu\n", u->uio_resid));