lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2c2f5036-c3ae-3904-e940-8a8b71a65957@loongson.cn>
Date: Thu, 24 Jul 2025 09:39:40 +0800
From: Bibo Mao <maobibo@...ngson.cn>
To: Steven Rostedt <rostedt@...dmis.org>, LKML
 <linux-kernel@...r.kernel.org>,
 Linux Trace Kernel <linux-trace-kernel@...r.kernel.org>,
 kvm@...r.kernel.org, loongarch@...ts.linux.dev
Cc: Tianrui Zhao <zhaotianrui@...ngson.cn>,
 Huacai Chen <chenhuacai@...nel.org>, Paolo Bonzini <pbonzini@...hat.com>,
 Masami Hiramatsu <mhiramat@...nel.org>,
 Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Subject: Re: [PATCH] LoongArch: KVM: Move kvm_iocsr tracepoint out of generic
 code



On 2025/7/22 下午9:47, Steven Rostedt wrote:
> From: Steven Rostedt <rostedt@...dmis.org>
> 
> The tracepoint kvm_iocsr is only used by the loongarch architecture. As
> trace events can take up to 5K of memory, move this tracepoint into the
> loongarch specific tracing file so that it doesn't waste memory for all
> other architectures.
> 
> Signed-off-by: Steven Rostedt (Google) <rostedt@...dmis.org>
> ---
>   arch/loongarch/kvm/trace.h | 35 +++++++++++++++++++++++++++++++++++
>   include/trace/events/kvm.h | 35 -----------------------------------
>   2 files changed, 35 insertions(+), 35 deletions(-)
> 
> diff --git a/arch/loongarch/kvm/trace.h b/arch/loongarch/kvm/trace.h
> index 145514dab6d5..d73dea8afb74 100644
> --- a/arch/loongarch/kvm/trace.h
> +++ b/arch/loongarch/kvm/trace.h
> @@ -115,6 +115,41 @@ TRACE_EVENT(kvm_exit_gspr,
>   			__entry->inst_word)
>   );
>   
> +#define KVM_TRACE_IOCSR_READ_UNSATISFIED 0
> +#define KVM_TRACE_IOCSR_READ 1
> +#define KVM_TRACE_IOCSR_WRITE 2
> +
> +#define kvm_trace_symbol_iocsr \
> +	{ KVM_TRACE_IOCSR_READ_UNSATISFIED, "unsatisfied-read" }, \
> +	{ KVM_TRACE_IOCSR_READ, "read" }, \
> +	{ KVM_TRACE_IOCSR_WRITE, "write" }
> +
> +TRACE_EVENT(kvm_iocsr,
> +	TP_PROTO(int type, int len, u64 gpa, void *val),
> +	TP_ARGS(type, len, gpa, val),
> +
> +	TP_STRUCT__entry(
> +		__field(	u32,	type	)
> +		__field(	u32,	len	)
> +		__field(	u64,	gpa	)
> +		__field(	u64,	val	)
> +	),
> +
> +	TP_fast_assign(
> +		__entry->type		= type;
> +		__entry->len		= len;
> +		__entry->gpa		= gpa;
> +		__entry->val		= 0;
> +		if (val)
> +			memcpy(&__entry->val, val,
> +			       min_t(u32, sizeof(__entry->val), len));
> +	),
> +
> +	TP_printk("iocsr %s len %u gpa 0x%llx val 0x%llx",
> +		  __print_symbolic(__entry->type, kvm_trace_symbol_iocsr),
> +		  __entry->len, __entry->gpa, __entry->val)
> +);
> +
>   #define KVM_TRACE_AUX_SAVE		0
>   #define KVM_TRACE_AUX_RESTORE		1
>   #define KVM_TRACE_AUX_ENABLE		2
> diff --git a/include/trace/events/kvm.h b/include/trace/events/kvm.h
> index 8b7252b8d751..b282e3a86769 100644
> --- a/include/trace/events/kvm.h
> +++ b/include/trace/events/kvm.h
> @@ -156,41 +156,6 @@ TRACE_EVENT(kvm_mmio,
>   		  __entry->len, __entry->gpa, __entry->val)
>   );
>   
> -#define KVM_TRACE_IOCSR_READ_UNSATISFIED 0
> -#define KVM_TRACE_IOCSR_READ 1
> -#define KVM_TRACE_IOCSR_WRITE 2
> -
> -#define kvm_trace_symbol_iocsr \
> -	{ KVM_TRACE_IOCSR_READ_UNSATISFIED, "unsatisfied-read" }, \
> -	{ KVM_TRACE_IOCSR_READ, "read" }, \
> -	{ KVM_TRACE_IOCSR_WRITE, "write" }
> -
> -TRACE_EVENT(kvm_iocsr,
> -	TP_PROTO(int type, int len, u64 gpa, void *val),
> -	TP_ARGS(type, len, gpa, val),
> -
> -	TP_STRUCT__entry(
> -		__field(	u32,	type	)
> -		__field(	u32,	len	)
> -		__field(	u64,	gpa	)
> -		__field(	u64,	val	)
> -	),
> -
> -	TP_fast_assign(
> -		__entry->type		= type;
> -		__entry->len		= len;
> -		__entry->gpa		= gpa;
> -		__entry->val		= 0;
> -		if (val)
> -			memcpy(&__entry->val, val,
> -			       min_t(u32, sizeof(__entry->val), len));
> -	),
> -
> -	TP_printk("iocsr %s len %u gpa 0x%llx val 0x%llx",
> -		  __print_symbolic(__entry->type, kvm_trace_symbol_iocsr),
> -		  __entry->len, __entry->gpa, __entry->val)
> -);
> -
>   #define kvm_fpu_load_symbol	\
>   	{0, "unload"},		\
>   	{1, "load"}
> 
Reviewed-by: Bibo Mao <maobibo@...ngson.cn>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ