From nobody Mon Mar 14 06:52:29 2022 X-Original-To: dev-commits-src-main@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 46FDA1A083F7; Mon, 14 Mar 2022 06:52:30 +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 4KH6fj5njrz3hF7; Mon, 14 Mar 2022 06:52:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647240749; 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=8x0ORmsMBgsfMcPZFKSYQPeMMwXjbLtxzOfGLMw41yU=; b=JoscJ6s4HH/TOctxCvrT4iBzg3unRc25nmKAQLC+vJAm6ovvIHRQOlnDDOdTKGjRI8evKK EPJo1kBfBaSk9UfAh9SQvFaIfnroMDmMMNmMAduMiQQUun2NSyl1wdIk2XpJPABuzju6eu 2xiJfIJwR9UYiYExkS+l8RgwxGE44gMdFXZHgQqNUvtqOwdDan/Ei5Y8EJFcETGkwJ/PQF Z+tGvcTlIJIq1hPU5+52xpTAZDAu9lyK7IBcdIjVUQAWMvP+uF5Cl2dWFbxklq637JglyU Qm+t6MryQUkZVqPP18jQzEY9vQjmKYn3wWpB5w51eNwoZ5/eMQvF0XTuVYbEqw== 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 A7C69A23; Mon, 14 Mar 2022 06:52:29 +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 22E6qTnG020832; Mon, 14 Mar 2022 06:52:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 22E6qTeV020831; Mon, 14 Mar 2022 06:52:29 GMT (envelope-from git) Date: Mon, 14 Mar 2022 06:52:29 GMT Message-Id: <202203140652.22E6qTeV020831@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wojciech Macek Subject: git: 25bcd81b8d12 - main - armv6/legacy: optimize cpu_getcount performance List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wma X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25bcd81b8d12468e28e438f58dd58e7c5ea8f8db Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647240749; 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=8x0ORmsMBgsfMcPZFKSYQPeMMwXjbLtxzOfGLMw41yU=; b=EaCvuj8n4CBdru9wRInbnnHwpMcukIB//NaYKeU7j6l92HTBWHnHjkNSu/jO5xEDeHyY4q oa/Xab8GmM5FitMGWbTkq7Kp8v9FSM9z7d/vqc2KFEDhRTKasolNp4/ldGYCCw59a7/n9D Cq5NjZbuRBEcFyrkhGceujNBC+AuzdFAEg51qQD2kQdKxDcFJuqa9rhbRVZ0qnSS/OSHCo vu6y4r3SprG4tGYcVwTzvJ07mFugteZf8ftcB+UtIAeQDSGEyk5X7H6s7HhcNk71d9fLbf unhVzpLRhvLiwDUlwDODxU9p/A5fQ52cwaSBe39lGvEBdIvOdoqt0kVhb1wIOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1647240749; a=rsa-sha256; cv=none; b=WPoGLJAMdDmdotGkncreeFYLA7Su9ZGiHjyjEMGqUJxACuBblqr+zyEEfqY2vwwafex5RV hEthAIMRvQxFRGWTOtb8PFf7oun1lXEo9fhwZTTMCfnvXIJY6CJZL/DMIBH4kJ/XlT9PyC A12TnI7Om5PnTKe4uPHr0NDIq7T22/RkE2/8LaoU8pbcoAnVrg6OMgMh8c/xWS4MGV+rJQ oV3NBiO6xcjjIIFfrBlFLQACN+mhRHKlpe1glCE5TORlLseJxsYYbgSqSRqp6OE4u+qgCc QeDCXtdM/bUz8UD6xUyhMMnHY0nZQ0B7BJZpQTFbNRV5iLqlYNB1libBwvx3bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wma: URL: https://cgit.FreeBSD.org/src/commit/?id=25bcd81b8d12468e28e438f58dd58e7c5ea8f8db commit 25bcd81b8d12468e28e438f58dd58e7c5ea8f8db Author: Wojciech Macek AuthorDate: 2022-03-14 06:51:21 +0000 Commit: Wojciech Macek CommitDate: 2022-03-14 06:51:21 +0000 armv6/legacy: optimize cpu_getcount performance Use nanotime instread of binuptime. This change is for old and legacy platforms and does not impact any armv7 and later. Might be MFCed to 13.0 once armv6 support is finally dropped in 14.0 Sponsored by: Stormshield Reviewed by: mw Obtained from: Semihalf Differential revision: https://reviews.freebsd.org/D33719 --- sys/arm/include/cpu.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/arm/include/cpu.h b/sys/arm/include/cpu.h index 14e19581b819..86f16131f03f 100644 --- a/sys/arm/include/cpu.h +++ b/sys/arm/include/cpu.h @@ -40,11 +40,11 @@ get_cyclecount(void) } else #endif return cp15_pmccntr_get(); -#else /* No performance counters, so use binuptime(9). This is slooooow */ - struct bintime bt; +#else /* No performance counters, so use nanotime(9). */ + struct timespec tv; - binuptime(&bt); - return ((uint64_t)bt.sec << 56 | bt.frac >> 8); + nanotime(&tv); + return (tv.tv_sec * (uint64_t)1000000000ull + tv.tv_nsec); #endif } #endif