From nobody Sun Aug 24 19:21:10 2025 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 4c93gW3QfSz65tyX; Sun, 24 Aug 2025 19:21:11 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c93gV3V5tz49Mr; Sun, 24 Aug 2025 19:21:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756063270; 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=SawpOdnhqj5UgXi15GZ2sRKnQoJ5+P7QXHL+geGPXeI=; b=yEbPGbhsf3UlFlrJzrdrzq4dhfooFn3mXRdA0pUj0djeWeh43SEHBjNAyf/GmoUQShRDaT Y8EUFmCsPW0Gcg5lii7nAJDZrKezVFHTvll8RCr8mZ77yyggLh0hKEJLtwuUTWS/DZ8pR2 KTv3duYWZr9+5W8C8+68Fbc0gH3SbgGx2QPYODp9Y6qyqHN3hbZ/xQoj+gjjcTsr+Tn8jQ fGF7MOZv3yy1A7n1GaW+BqbNHT/4D6bznDBuckTj5VhyfOabCugBt3h3GT6ZEzwJtYIgXl CadTCFVfV+7dcZyqxCLTNEdjRgC6o6Q1MtHRbivEIZhKsWFP0UO5c+99x6BYFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756063270; 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=SawpOdnhqj5UgXi15GZ2sRKnQoJ5+P7QXHL+geGPXeI=; b=gF3WeRUZmcfYo6cIgIHmjQY9cB2w+T28lfCz8fGHwRGhYBxMjtSnraRCFjMZZSO817fgA7 wQd30PkpvnW0pI1sHxq9uVtbPLQPAmKji3rwYY6gNS406ZkWnH/hzWpJbApgfS+YQEAANr BEfD8GqfLuidBsewyGYSSCKLmMX1Ir9vOSOLP8wFNcwcmyvXgt5cBFVWt/vtB3w6H77CbX xnpX1DS3hVL/Su6Rb7749TlfuqRQO+ZuvL8f9KgZ66SBiirEkBegZQ8yfB2nqooI/51s66 g6zdTUyNfFOMVMDhEAkYaPEmAgu3VENsuogItCLmLsClzJOlJTbUeWKVB0z5jQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756063270; a=rsa-sha256; cv=none; b=qR1Xi5GC6LkAvIv3jYt4aC++DyqemyXWHWcK3bN8NiwY+1UAt+XbmJkWYMCPgzPYrH4G0v OQq8BEOPmIoTpfZXo7uW0sZZbSuj4KbEw3JmKFhrsGAO9YmEEm37lj8D87NaYnnXjXgk0f GxasN5X6fXB50OTpLjf4rI2a48Jyu1AJg+PvCGJyj/zlsBNl3loTJuSLXSvd0TEJoQI6wN S2RlpwdkIiKaf9uDPB5y/+rIAlFZBkbzLjirFc409q5SWZZkGQuMb1E13kYFai398zkEmn 8mFTj62B77aRx0/4wgoV9ElO8RNtA72pBWnmgmgRAKw3wJ/TNfCDE7dKBUrPvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4c93gV2y2Kz1cP; Sun, 24 Aug 2025 19:21:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 57OJLA5l081707; Sun, 24 Aug 2025 19:21:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 57OJLAxT081704; Sun, 24 Aug 2025 19:21:10 GMT (envelope-from git) Date: Sun, 24 Aug 2025 19:21:10 GMT Message-Id: <202508241921.57OJLAxT081704@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2b35b717188a - main - amd64 vmx: micro-optimize vmlaunch failure path 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: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2b35b717188adb843de100c4221ec1ded13024f0 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2b35b717188adb843de100c4221ec1ded13024f0 commit 2b35b717188adb843de100c4221ec1ded13024f0 Author: Konstantin Belousov AuthorDate: 2025-08-23 12:52:08 +0000 Commit: Konstantin Belousov CommitDate: 2025-08-24 16:28:47 +0000 amd64 vmx: micro-optimize vmlaunch failure path Eliminate two unneeded jumps. One is the jmp to the next instruction, where there is no requrement that vmlaunch is followed by jmp. Another one conditionally sets %r11d value, and can be replaced by cmovcc. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D52136 --- sys/amd64/vmm/intel/vmx_support.S | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sys/amd64/vmm/intel/vmx_support.S b/sys/amd64/vmm/intel/vmx_support.S index 130130b64541..877e377f892d 100644 --- a/sys/amd64/vmm/intel/vmx_support.S +++ b/sys/amd64/vmm/intel/vmx_support.S @@ -171,13 +171,11 @@ do_launch: */ movq %rsp, %rdi /* point %rdi back to 'vmxctx' */ movl $VMX_VMLAUNCH_ERROR, %eax - jmp decode_inst_error - + /* FALLTHROUGH */ decode_inst_error: movl $VM_FAIL_VALID, %r11d - jz inst_error - movl $VM_FAIL_INVALID, %r11d -inst_error: + movl $VM_FAIL_INVALID, %esi + cmovnzl %esi, %r11d movl %r11d, VMXCTX_INST_FAIL_STATUS(%rdi) /*