From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DE41FCFD376 for ; Sun, 30 Nov 2025 19:01:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:MIME-Version: References:In-Reply-To:Subject:Cc:To:From:Message-ID:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=tEyKM8uPkxDByK8OlzBjuDJMIAckd/IS9gG+F2swx+s=; b=Uv/KC/E+udk+DJI2VzkKgLACJB Pqahu4dlQ4Tdd6L2AJplkYdC1S1+FUP/Jim7vN6M5PYbTFJJY32umSXk5GytgsH+dU3Fawc2Q+pBf CKpMmyUn1TcTVX9ltXeArN+KkryQxTNZ/t/4cz3eU8IGGqXfFEqodzXxVsvu0H5HWYxQkxOUI/sCA hGzgy4pJfFcJXKvbaGxgT92olfVwzG6JCgPPbYK/1qiMQpopLmQp+izIr2JMwVqB9PJ5ctP3cEGjU cxqzn78zNxfaGGqwQI4ahtd3V+QZ4wdDbhVMhvN867n4ABUFLON42LU1oD28/wv+ZDYeFEMfnEihs 1F6Dkh3g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vPmfK-00000002Uyw-0M1F; Sun, 30 Nov 2025 19:00:58 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vPmfI-00000002UyZ-0dsR for linux-arm-kernel@lists.infradead.org; Sun, 30 Nov 2025 19:00:57 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 5E93340929; Sun, 30 Nov 2025 19:00:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2F4C8C4CEF8; Sun, 30 Nov 2025 19:00:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1764529255; bh=mPEVeRr6keddK7qH3YNSYex+8//0NX6k5IUxeUArYy0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=trw2mUaXCjIGhq11DQgJd9k61el1RXH95SwTuS8VxyY7pF4qNs0EtArM5fz7SEbBa r83YIYYMYSanHaUNG8toB0gRJSyyoqaIAA+xs8R6PFM7TkkV3Q0B44qcFYJhqDINhx bGa1j8h+zwAm1+htzkWa+yGItNUhnMfQIRIN2uFxtS0iRfl1X3bH93SpV7Aw5kDWOK pmN3Q7zZ6JcUYdMlmWStZomiYNapzifwyaI6lK+lG1bxiB47ON4WameeYTr1m0Hgu8 P8WHSG0rwJfG++BvcaqMG+/6axeqVjE5TZok8Iq0AupQNxb8Mcw4KFGi00diTQT9iw sjMjQvVZ+KjPw== Received: from sofa.misterjones.org ([185.219.108.64] helo=lobster-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vPmfF-00000009Ray-0Ymp; Sun, 30 Nov 2025 19:00:53 +0000 Date: Sun, 30 Nov 2025 19:00:52 +0000 Message-ID: <87345vfiqj.wl-maz@kernel.org> From: Marc Zyngier To: Vincent Donnefort Cc: rostedt@goodmis.org, mhiramat@kernel.org, mathieu.desnoyers@efficios.com, linux-trace-kernel@vger.kernel.org, oliver.upton@linux.dev, joey.gouly@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, jstultz@google.com, qperret@google.com, will@kernel.org, aneesh.kumar@kernel.org, kernel-team@android.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v8 26/28] KVM: arm64: Add hyp_enter/hyp_exit events to pKVM hyp In-Reply-To: <20251107093840.3779150-27-vdonnefort@google.com> References: <20251107093840.3779150-1-vdonnefort@google.com> <20251107093840.3779150-27-vdonnefort@google.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/30.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: vdonnefort@google.com, rostedt@goodmis.org, mhiramat@kernel.org, mathieu.desnoyers@efficios.com, linux-trace-kernel@vger.kernel.org, oliver.upton@linux.dev, joey.gouly@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, jstultz@google.com, qperret@google.com, will@kernel.org, aneesh.kumar@kernel.org, kernel-team@android.com, linux-kernel@vger.kernel.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251130_110056_255675_DA846010 X-CRM114-Status: GOOD ( 17.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, 07 Nov 2025 09:38:38 +0000, Vincent Donnefort wrote: > > The hyp_enter and hyp_exit events are logged by the hypervisor any time > it is entered and exited. > > Signed-off-by: Vincent Donnefort > > diff --git a/arch/arm64/include/asm/kvm_hypevents.h b/arch/arm64/include/asm/kvm_hypevents.h > index d6e033c96c52..ce3953bc884a 100644 > --- a/arch/arm64/include/asm/kvm_hypevents.h > +++ b/arch/arm64/include/asm/kvm_hypevents.h > @@ -7,4 +7,21 @@ > #include > #endif > > +HYP_EVENT(hyp_enter, > + HE_PROTO(void), > + HE_STRUCT( > + ), > + HE_ASSIGN( > + ), > + HE_PRINTK() > +); > + > +HYP_EVENT(hyp_exit, > + HE_PROTO(void), > + HE_STRUCT( > + ), > + HE_ASSIGN( > + ), > + HE_PRINTK() > +); > #endif > diff --git a/arch/arm64/kvm/hyp/include/nvhe/arm-smccc.h b/arch/arm64/kvm/hyp/include/nvhe/arm-smccc.h > new file mode 100644 > index 000000000000..4b69d33e4f2d > --- /dev/null > +++ b/arch/arm64/kvm/hyp/include/nvhe/arm-smccc.h > @@ -0,0 +1,13 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > + > +#include > + > +#include > + > +#undef arm_smccc_1_1_smc > +#define arm_smccc_1_1_smc(...) \ > + do { \ > + trace_hyp_exit(); \ > + __arm_smccc_1_1(SMCCC_SMC_INST, __VA_ARGS__); \ > + trace_hyp_enter(); \ > + } while (0) Huh. No, please. Don't override existing kernel constructs behind everybody's back. I know that tracing folks love to play that sort of game, but I really don't want any of that here. Just define a wrapper that is KVM-specific, and use that. Then from a semantic perspective, an SMC call, an ERET back to EL1 host, and an ERET back to EL1 guest are all very different events that you lump under the "exit" category. That's not right. Same thing for "enter". Thanks, M. -- Jazz isn't dead. It just smells funny.