From nobody Tue Feb 15 17:43:42 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 8100519CC95D; Tue, 15 Feb 2022 17:43:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JypNZ391zz4WXg; Tue, 15 Feb 2022 17:43:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1644947022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b3jfho3x12+yJg7viir/NSXRhTbNPv3yBDH8Ph0AxZo=; b=cRBslte6y19T7korVuV4WOX1Zl7BZyksDnYCC0xeD0CoJ0XeEV6+f2n8jz1aq645G+SsKA KeP+1SShH7NLiLBx1dCOJsIIy4J4NqrkrVzTqnv2NQi9DDovT6tnNAKDVrqQpuN1YpXKTW twds5LzHdMahvhCBIbb5SXEoPC4RVStRzsnTP0iDZyoLF0TFO9b5biOF0mdjhAcohOT0eN bJ4mv+VbHoQ+qPbi942/iKQuosbvPr4a0TD+3uQfUy2R9uJHfN41NPa0px8jUaX6RGtodm J97bvh5/h6AuSP1Qc/FO4ZVPjv8oSPfRZH6ZSvyI3LqyeA7h1FQeY04QtAYhtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4C635268AE; Tue, 15 Feb 2022 17:43:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 21FHhgSf006545; Tue, 15 Feb 2022 17:43:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 21FHhgPr006544; Tue, 15 Feb 2022 17:43:42 GMT (envelope-from git) Date: Tue, 15 Feb 2022 17:43:42 GMT Message-Id: <202202151743.21FHhgPr006544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 972a7d95ebfa - main - iscsi: Use calloutng instead of ticks in iscsi initiator List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 972a7d95ebfa25dbed9af1b8f4028411a49a2d4f Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1644947022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b3jfho3x12+yJg7viir/NSXRhTbNPv3yBDH8Ph0AxZo=; b=B25rBH3+sDn2kEmekOyO7Udu1p1mjc+WSA074QL0KjskusLEKstRWTlGDKmNb7/J/ZUFG8 VC+C2PAZUcihKTIVGimow+twpTDV9i1U8z0CpE/3CzpHTy1zbZgK1E6G6e5/V0SMXAPMhD kBDLGL+vlxNx3y0/kSVhJX3B3/xQZ4g22db5g9VA40prG13l+336iCHw9lDWSVyR9376MV XoyBZ+QNBep87p4VttkMMzJ/FzPQsTdMN157fG5LXb7hdPGtZM5kX01rf0EnFQG4Ctkh/z jklZqLsVEt2Ti85YrInNJX2MRyq1/EEyxxJQnGGPUmwmkUeVPpmGxpZ5MHbMNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1644947022; a=rsa-sha256; cv=none; b=Ou1EQPWAvMRf0DIJunf75KH43haFwhw6ew/kcfbXVQSVS2IRCP4ettjwNucu30ReO8yMtO +/SRUwigzj+Jama/itKfLbkZS7BtoY7OjlI5yTf+a02heYnm7tJTH+0z/RvRYXRq0fWgZI Os9rOHDnJML4B/f681S7j57kBipkzk3MNqtUyHcpp9pzwoHAYEK3EEHcsfPbKuUhXiIly6 FU3dRwsMklRuXwxu0+mrqf9xwjwS82AcgCVPcYB4dT//y9LndE9dTsDJW6EgQ7xFsXSf5V X+qcJAqvhH7zl8x8UA06LyzpLBpBbNf7jS8ZV4fyOVCGmgyeP9wqLSHSIkxB6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=972a7d95ebfa25dbed9af1b8f4028411a49a2d4f commit 972a7d95ebfa25dbed9af1b8f4028411a49a2d4f Author: Richard Scheffenegger AuthorDate: 2022-02-15 16:35:47 +0000 Commit: Richard Scheffenegger CommitDate: 2022-02-15 16:36:22 +0000 iscsi: Use calloutng instead of ticks in iscsi initiator callout *_sbt functions are used to reduce ping/timeout scheduling overhead, while allowing later improvments in the functionality. Keep similar 1000ms callouts while adding a 10 ms window, to allow some kernel scheduling improvements. Reviewed By: jhb Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34222 --- sys/dev/iscsi/icl_soft_proxy.c | 5 ++++- sys/dev/iscsi/iscsi.c | 10 ++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/sys/dev/iscsi/icl_soft_proxy.c b/sys/dev/iscsi/icl_soft_proxy.c index 22beacb0f941..a0bae7f62e8a 100644 --- a/sys/dev/iscsi/icl_soft_proxy.c +++ b/sys/dev/iscsi/icl_soft_proxy.c @@ -173,6 +173,7 @@ void icl_listen_free(struct icl_listen *il) { struct icl_listen_sock *ils; + sbintime_t sbt, pr; sx_xlock(&il->il_lock); while (!TAILQ_EMPTY(&il->il_sockets)) { @@ -184,7 +185,9 @@ icl_listen_free(struct icl_listen *il) ils->ils_socket->so_error = ENOTCONN; SOLISTEN_UNLOCK(ils->ils_socket); wakeup(&ils->ils_socket->so_timeo); - pause("icl_unlisten", 1 * hz); + sbt = mstosbt(995); + pr = mstosbt(10); + pause_sbt("icl_unlisten", sbt, pr, 0); sx_xlock(&il->il_lock); } diff --git a/sys/dev/iscsi/iscsi.c b/sys/dev/iscsi/iscsi.c index aefae6920ae1..1621e31576cf 100644 --- a/sys/dev/iscsi/iscsi.c +++ b/sys/dev/iscsi/iscsi.c @@ -546,6 +546,7 @@ iscsi_callout(void *context) struct iscsi_bhs_nop_out *bhsno; struct iscsi_session *is; bool reconnect_needed = false; + sbintime_t sbt, pr; is = context; @@ -555,7 +556,9 @@ iscsi_callout(void *context) return; } - callout_schedule(&is->is_callout, 1 * hz); + sbt = mstosbt(995); + pr = mstosbt(10); + callout_schedule_sbt(&is->is_callout, sbt, pr, 0); if (is->is_conf.isc_enable == 0) goto out; @@ -1835,6 +1838,7 @@ iscsi_ioctl_session_add(struct iscsi_softc *sc, struct iscsi_session_add *isa) struct iscsi_session *is; const struct iscsi_session *is2; int error; + sbintime_t sbt, pr; iscsi_sanitize_session_conf(&isa->isa_conf); if (iscsi_valid_session_conf(&isa->isa_conf) == false) @@ -1912,7 +1916,9 @@ iscsi_ioctl_session_add(struct iscsi_softc *sc, struct iscsi_session_add *isa) return (error); } - callout_reset(&is->is_callout, 1 * hz, iscsi_callout, is); + sbt = mstosbt(995); + pr = mstosbt(10); + callout_reset_sbt(&is->is_callout, sbt, pr, iscsi_callout, is, 0); TAILQ_INSERT_TAIL(&sc->sc_sessions, is, is_next); ISCSI_SESSION_LOCK(is);