From nobody Thu Feb 17 13:46:19 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 7F4CA19D559D; Thu, 17 Feb 2022 13:46:19 +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 4Jzx1l2hkpz3PlZ; Thu, 17 Feb 2022 13:46:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1645105579; 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=Z1NiCX01BvmbFQaeIVbsFcJjd8Mq30IVKwDTBdf1eMU=; b=ce9s9D/HMXk/iQb4rG0Xa4xmvgR4NRr46BU3nWqyhRepgD5RX89osvfcG80agqLWQkUOac JroqLyJoge7C5vy26VVJMsf4e2L50R8sUS6bRU+opXfBPgyq1xoGIRX1mTo/Y8HjHhBaUo kEUiZ9I5Ma+Bg/l5QqWWndXYM3N4T21kCJkSdQ16StrQzUFPd+bEooF0lNK3YsnZ9FttsU tDZ1uk8oJKaNPA5uMayp0I6hIePfPs/8yXrt0oKmmEc1HDhQ62RmrJodxcRv47PXk4jB0v LJUGFYWvdV6CwIBuMHNy5NUv0wVNPj+zOeL6kCPbWtd8VUyjzkGo544OGFPZeg== 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 3D2FE2B57; Thu, 17 Feb 2022 13:46:19 +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 21HDkJGh048172; Thu, 17 Feb 2022 13:46:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 21HDkJb7048171; Thu, 17 Feb 2022 13:46:19 GMT (envelope-from git) Date: Thu, 17 Feb 2022 13:46:19 GMT Message-Id: <202202171346.21HDkJb7048171@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Edward Tomasz Napierala Subject: git: 24ac1bd8ec3d - stable/13 - arm64: optimize set_syscall_retval() 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: trasz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 24ac1bd8ec3d20fdfa8e8b81d4a349554959ef35 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1645105579; 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=Z1NiCX01BvmbFQaeIVbsFcJjd8Mq30IVKwDTBdf1eMU=; b=bjH0C3nLjrRRp9CP8YYktHcXWDpsTqag3gG2ckSPPx0moW2k1bb6hBPQq+GjyUyn9dnV8U gvuJ7xGCZ0HQsl06yrSvH/XxowWEfIoD5XoqafdZiXfRpIxyNSvFlrHetm5lUxdJF3C1RT y0R7Fookk5KWxJjq6PxGkz7/MqmDNRlgjKa0x7FwQTIpPt8lKosOlC1lqsIIHDpl/zxlGQ f+IDNj32Jl0xgzhhAwMhbBpzOQlU7CxljVizMBYHi5gTX6S4Tr02P8HoMM2/FnFLrtV0XC jJKkmKNMxMl/EvosEi6QKAti9Tf3AjGWIZBVEuN99GjB58tGSJctOMFuKUvUHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1645105579; a=rsa-sha256; cv=none; b=Zi8/s+NJyRTsWAQbYlVSQ6fsPUTTCmkZihVz6/2nzfclx9HJC0pKqHFbZVhpW5xZJo948y wzVxIlP3HsMD6067iMxyLeODThVCkRC4EtvN0wYghb7cAuyHoJdLsGRtk8IsMS8i/lnNRc 8Fj+3GZn1ZVvbSki9bMLyz10XvMLrGmGEsA+Ggs5UVbS4zBfOtDh/eHCA+d5gwJRDF1MID jFVw6BS7Er8ZjYq5cpEJEokM/ePxh5oC9IE0JbDB9da55rH1vpKMYXs4JGzjGHuKdm1eBh KAdti0szplFCdhRAuEpuGdbBxBKtyQKNqcBsmOZjLGkrHwX0vCVj4VfvpKOVyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by trasz: URL: https://cgit.FreeBSD.org/src/commit/?id=24ac1bd8ec3d20fdfa8e8b81d4a349554959ef35 commit 24ac1bd8ec3d20fdfa8e8b81d4a349554959ef35 Author: Edward Tomasz Napierala AuthorDate: 2021-02-08 10:46:29 +0000 Commit: Edward Tomasz Napierala CommitDate: 2022-02-13 23:17:34 +0000 arm64: optimize set_syscall_retval() Microoptimize set_syscall_retval() for arm64 by predicting the return value to be zero. This is similar to what has been done for other architectures Reviewed By: emaste, mhorne Differential Revision: https://reviews.freebsd.org/D26991 (cherry picked from commit fb8c2f743ab695f6004650b58bf96972e2535b20) --- sys/arm64/arm64/vm_machdep.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/vm_machdep.c b/sys/arm64/arm64/vm_machdep.c index 9c97a2848200..a5451c631336 100644 --- a/sys/arm64/arm64/vm_machdep.c +++ b/sys/arm64/arm64/vm_machdep.c @@ -150,12 +150,14 @@ cpu_set_syscall_retval(struct thread *td, int error) frame = td->td_frame; - switch (error) { - case 0: + if (__predict_true(error == 0)) { frame->tf_x[0] = td->td_retval[0]; frame->tf_x[1] = td->td_retval[1]; frame->tf_spsr &= ~PSR_C; /* carry bit */ - break; + return; + } + + switch (error) { case ERESTART: frame->tf_elr -= 4; break;