From owner-dev-commits-src-branches@freebsd.org Mon Feb 15 19:24:04 2021 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BBA36536D43; Mon, 15 Feb 2021 19:24:04 +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 4DfYtr3j0dz3FVC; Mon, 15 Feb 2021 19:24:04 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 B0F42230FC; Mon, 15 Feb 2021 19:24:01 +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 11FJO1xK085382; Mon, 15 Feb 2021 19:24:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 11FJO1qA085381; Mon, 15 Feb 2021 19:24:01 GMT (envelope-from git) Date: Mon, 15 Feb 2021 19:24:01 GMT Message-Id: <202102151924.11FJO1qA085381@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 75704436e23e - stable/13 - ktls: Use COUNTER_U64_DEFINE_EARLY MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 75704436e23ec3022881966c2d38c04bcfa9f850 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commits to the stable branches of the FreeBSD src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Feb 2021 19:24:05 -0000 The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=75704436e23ec3022881966c2d38c04bcfa9f850 commit 75704436e23ec3022881966c2d38c04bcfa9f850 Author: Mark Johnston AuthorDate: 2021-02-08 14:18:51 +0000 Commit: Mark Johnston CommitDate: 2021-02-15 19:13:28 +0000 ktls: Use COUNTER_U64_DEFINE_EARLY This makes it a bit more straightforward to add new counters when debugging. No functional change intended. Reviewed by: jhb Sponsored by: Ampere Computing Submitted by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D28498 (cherry picked from commit 1755b2b9891bb1bfa7a58383ef5126821f7e46e3) --- sys/kern/uipc_ktls.c | 63 +++++++++++++++-------------------------------- sys/opencrypto/ktls_ocf.c | 35 ++++++-------------------- 2 files changed, 28 insertions(+), 70 deletions(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index a83a58088e73..26912e410239 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -134,51 +134,51 @@ SYSCTL_BOOL(_kern_ipc_tls, OID_AUTO, cbc_enable, CTLFLAG_RWTUN, &ktls_cbc_enable, 1, "Enable Support of AES-CBC crypto for kernel TLS"); -static counter_u64_t ktls_tasks_active; +static COUNTER_U64_DEFINE_EARLY(ktls_tasks_active); SYSCTL_COUNTER_U64(_kern_ipc_tls, OID_AUTO, tasks_active, CTLFLAG_RD, &ktls_tasks_active, "Number of active tasks"); -static counter_u64_t ktls_cnt_tx_queued; +static COUNTER_U64_DEFINE_EARLY(ktls_cnt_tx_queued); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, sw_tx_inqueue, CTLFLAG_RD, &ktls_cnt_tx_queued, "Number of TLS records in queue to tasks for SW encryption"); -static counter_u64_t ktls_cnt_rx_queued; +static COUNTER_U64_DEFINE_EARLY(ktls_cnt_rx_queued); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, sw_rx_inqueue, CTLFLAG_RD, &ktls_cnt_rx_queued, "Number of TLS sockets in queue to tasks for SW decryption"); -static counter_u64_t ktls_offload_total; +static COUNTER_U64_DEFINE_EARLY(ktls_offload_total); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, offload_total, CTLFLAG_RD, &ktls_offload_total, "Total successful TLS setups (parameters set)"); -static counter_u64_t ktls_offload_enable_calls; +static COUNTER_U64_DEFINE_EARLY(ktls_offload_enable_calls); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, enable_calls, CTLFLAG_RD, &ktls_offload_enable_calls, "Total number of TLS enable calls made"); -static counter_u64_t ktls_offload_active; +static COUNTER_U64_DEFINE_EARLY(ktls_offload_active); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, active, CTLFLAG_RD, &ktls_offload_active, "Total Active TLS sessions"); -static counter_u64_t ktls_offload_corrupted_records; +static COUNTER_U64_DEFINE_EARLY(ktls_offload_corrupted_records); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, corrupted_records, CTLFLAG_RD, &ktls_offload_corrupted_records, "Total corrupted TLS records received"); -static counter_u64_t ktls_offload_failed_crypto; +static COUNTER_U64_DEFINE_EARLY(ktls_offload_failed_crypto); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, failed_crypto, CTLFLAG_RD, &ktls_offload_failed_crypto, "Total TLS crypto failures"); -static counter_u64_t ktls_switch_to_ifnet; +static COUNTER_U64_DEFINE_EARLY(ktls_switch_to_ifnet); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, switch_to_ifnet, CTLFLAG_RD, &ktls_switch_to_ifnet, "TLS sessions switched from SW to ifnet"); -static counter_u64_t ktls_switch_to_sw; +static COUNTER_U64_DEFINE_EARLY(ktls_switch_to_sw); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, switch_to_sw, CTLFLAG_RD, &ktls_switch_to_sw, "TLS sessions switched from ifnet to SW"); -static counter_u64_t ktls_switch_failed; +static COUNTER_U64_DEFINE_EARLY(ktls_switch_failed); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, switch_failed, CTLFLAG_RD, &ktls_switch_failed, "TLS sessions unable to switch between SW and ifnet"); @@ -191,34 +191,34 @@ SYSCTL_NODE(_kern_ipc_tls, OID_AUTO, toe, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "TOE TLS session stats"); #endif -static counter_u64_t ktls_sw_cbc; +static COUNTER_U64_DEFINE_EARLY(ktls_sw_cbc); SYSCTL_COUNTER_U64(_kern_ipc_tls_sw, OID_AUTO, cbc, CTLFLAG_RD, &ktls_sw_cbc, "Active number of software TLS sessions using AES-CBC"); -static counter_u64_t ktls_sw_gcm; +static COUNTER_U64_DEFINE_EARLY(ktls_sw_gcm); SYSCTL_COUNTER_U64(_kern_ipc_tls_sw, OID_AUTO, gcm, CTLFLAG_RD, &ktls_sw_gcm, "Active number of software TLS sessions using AES-GCM"); -static counter_u64_t ktls_ifnet_cbc; +static COUNTER_U64_DEFINE_EARLY(ktls_ifnet_cbc); SYSCTL_COUNTER_U64(_kern_ipc_tls_ifnet, OID_AUTO, cbc, CTLFLAG_RD, &ktls_ifnet_cbc, "Active number of ifnet TLS sessions using AES-CBC"); -static counter_u64_t ktls_ifnet_gcm; +static COUNTER_U64_DEFINE_EARLY(ktls_ifnet_gcm); SYSCTL_COUNTER_U64(_kern_ipc_tls_ifnet, OID_AUTO, gcm, CTLFLAG_RD, &ktls_ifnet_gcm, "Active number of ifnet TLS sessions using AES-GCM"); -static counter_u64_t ktls_ifnet_reset; +static COUNTER_U64_DEFINE_EARLY(ktls_ifnet_reset); SYSCTL_COUNTER_U64(_kern_ipc_tls_ifnet, OID_AUTO, reset, CTLFLAG_RD, &ktls_ifnet_reset, "TLS sessions updated to a new ifnet send tag"); -static counter_u64_t ktls_ifnet_reset_dropped; +static COUNTER_U64_DEFINE_EARLY(ktls_ifnet_reset_dropped); SYSCTL_COUNTER_U64(_kern_ipc_tls_ifnet, OID_AUTO, reset_dropped, CTLFLAG_RD, &ktls_ifnet_reset_dropped, "TLS sessions dropped after failing to update ifnet send tag"); -static counter_u64_t ktls_ifnet_reset_failed; +static COUNTER_U64_DEFINE_EARLY(ktls_ifnet_reset_failed); SYSCTL_COUNTER_U64(_kern_ipc_tls_ifnet, OID_AUTO, reset_failed, CTLFLAG_RD, &ktls_ifnet_reset_failed, "TLS sessions that failed to allocate a new ifnet send tag"); @@ -229,12 +229,12 @@ SYSCTL_UINT(_kern_ipc_tls_ifnet, OID_AUTO, permitted, CTLFLAG_RWTUN, "Whether to permit hardware (ifnet) TLS sessions"); #ifdef TCP_OFFLOAD -static counter_u64_t ktls_toe_cbc; +static COUNTER_U64_DEFINE_EARLY(ktls_toe_cbc); SYSCTL_COUNTER_U64(_kern_ipc_tls_toe, OID_AUTO, cbc, CTLFLAG_RD, &ktls_toe_cbc, "Active number of TOE TLS sessions using AES-CBC"); -static counter_u64_t ktls_toe_gcm; +static COUNTER_U64_DEFINE_EARLY(ktls_toe_gcm); SYSCTL_COUNTER_U64(_kern_ipc_tls_toe, OID_AUTO, gcm, CTLFLAG_RD, &ktls_toe_gcm, "Active number of TOE TLS sessions using AES-GCM"); @@ -359,29 +359,6 @@ ktls_init(void *dummy __unused) cpuset_t mask; int count, domain, error, i; - ktls_tasks_active = counter_u64_alloc(M_WAITOK); - ktls_cnt_tx_queued = counter_u64_alloc(M_WAITOK); - ktls_cnt_rx_queued = counter_u64_alloc(M_WAITOK); - ktls_offload_total = counter_u64_alloc(M_WAITOK); - ktls_offload_enable_calls = counter_u64_alloc(M_WAITOK); - ktls_offload_active = counter_u64_alloc(M_WAITOK); - ktls_offload_corrupted_records = counter_u64_alloc(M_WAITOK); - ktls_offload_failed_crypto = counter_u64_alloc(M_WAITOK); - ktls_switch_to_ifnet = counter_u64_alloc(M_WAITOK); - ktls_switch_to_sw = counter_u64_alloc(M_WAITOK); - ktls_switch_failed = counter_u64_alloc(M_WAITOK); - ktls_sw_cbc = counter_u64_alloc(M_WAITOK); - ktls_sw_gcm = counter_u64_alloc(M_WAITOK); - ktls_ifnet_cbc = counter_u64_alloc(M_WAITOK); - ktls_ifnet_gcm = counter_u64_alloc(M_WAITOK); - ktls_ifnet_reset = counter_u64_alloc(M_WAITOK); - ktls_ifnet_reset_dropped = counter_u64_alloc(M_WAITOK); - ktls_ifnet_reset_failed = counter_u64_alloc(M_WAITOK); -#ifdef TCP_OFFLOAD - ktls_toe_cbc = counter_u64_alloc(M_WAITOK); - ktls_toe_gcm = counter_u64_alloc(M_WAITOK); -#endif - rm_init(&ktls_backends_lock, "ktls backends"); LIST_INIT(&ktls_backends); diff --git a/sys/opencrypto/ktls_ocf.c b/sys/opencrypto/ktls_ocf.c index d66ad88729b1..7f9ece99ccb1 100644 --- a/sys/opencrypto/ktls_ocf.c +++ b/sys/opencrypto/ktls_ocf.c @@ -72,37 +72,37 @@ static SYSCTL_NODE(_kern_ipc_tls_stats, OID_AUTO, ocf, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "Kernel TLS offload via OCF stats"); -static counter_u64_t ocf_tls10_cbc_crypts; +static COUNTER_U64_DEFINE_EARLY(ocf_tls10_cbc_crypts); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats_ocf, OID_AUTO, tls10_cbc_crypts, CTLFLAG_RD, &ocf_tls10_cbc_crypts, "Total number of OCF TLS 1.0 CBC encryption operations"); -static counter_u64_t ocf_tls11_cbc_crypts; +static COUNTER_U64_DEFINE_EARLY(ocf_tls11_cbc_crypts); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats_ocf, OID_AUTO, tls11_cbc_crypts, CTLFLAG_RD, &ocf_tls11_cbc_crypts, "Total number of OCF TLS 1.1/1.2 CBC encryption operations"); -static counter_u64_t ocf_tls12_gcm_crypts; +static COUNTER_U64_DEFINE_EARLY(ocf_tls12_gcm_crypts); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats_ocf, OID_AUTO, tls12_gcm_crypts, CTLFLAG_RD, &ocf_tls12_gcm_crypts, "Total number of OCF TLS 1.2 GCM encryption operations"); -static counter_u64_t ocf_tls13_gcm_crypts; +static COUNTER_U64_DEFINE_EARLY(ocf_tls13_gcm_crypts); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats_ocf, OID_AUTO, tls13_gcm_crypts, CTLFLAG_RD, &ocf_tls13_gcm_crypts, "Total number of OCF TLS 1.3 GCM encryption operations"); -static counter_u64_t ocf_inplace; +static COUNTER_U64_DEFINE_EARLY(ocf_inplace); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats_ocf, OID_AUTO, inplace, CTLFLAG_RD, &ocf_inplace, "Total number of OCF in-place operations"); -static counter_u64_t ocf_separate_output; +static COUNTER_U64_DEFINE_EARLY(ocf_separate_output); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats_ocf, OID_AUTO, separate_output, CTLFLAG_RD, &ocf_separate_output, "Total number of OCF operations with a separate output buffer"); -static counter_u64_t ocf_retries; +static COUNTER_U64_DEFINE_EARLY(ocf_retries); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats_ocf, OID_AUTO, retries, CTLFLAG_RD, &ocf_retries, "Number of OCF encryption operation retries"); @@ -698,30 +698,11 @@ struct ktls_crypto_backend ocf_backend = { static int ktls_ocf_modevent(module_t mod, int what, void *arg) { - int error; - switch (what) { case MOD_LOAD: - ocf_tls10_cbc_crypts = counter_u64_alloc(M_WAITOK); - ocf_tls11_cbc_crypts = counter_u64_alloc(M_WAITOK); - ocf_tls12_gcm_crypts = counter_u64_alloc(M_WAITOK); - ocf_tls13_gcm_crypts = counter_u64_alloc(M_WAITOK); - ocf_inplace = counter_u64_alloc(M_WAITOK); - ocf_separate_output = counter_u64_alloc(M_WAITOK); - ocf_retries = counter_u64_alloc(M_WAITOK); return (ktls_crypto_backend_register(&ocf_backend)); case MOD_UNLOAD: - error = ktls_crypto_backend_deregister(&ocf_backend); - if (error) - return (error); - counter_u64_free(ocf_tls10_cbc_crypts); - counter_u64_free(ocf_tls11_cbc_crypts); - counter_u64_free(ocf_tls12_gcm_crypts); - counter_u64_free(ocf_tls13_gcm_crypts); - counter_u64_free(ocf_inplace); - counter_u64_free(ocf_separate_output); - counter_u64_free(ocf_retries); - return (0); + return (ktls_crypto_backend_deregister(&ocf_backend)); default: return (EOPNOTSUPP); }