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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94E8FEDEC51 for ; Wed, 13 Sep 2023 13:26:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240886AbjIMN0f (ORCPT ); Wed, 13 Sep 2023 09:26:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55538 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240899AbjIMN0d (ORCPT ); Wed, 13 Sep 2023 09:26:33 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE87E1BC9; Wed, 13 Sep 2023 06:26:29 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DBFCFC433C7; Wed, 13 Sep 2023 13:26:27 +0000 (UTC) Date: Wed, 13 Sep 2023 09:26:46 -0400 From: Steven Rostedt To: Juergen Gross Cc: linux-kernel@vger.kernel.org, x86@kernel.org, virtualization@lists.linux-foundation.org, linux-trace-kernel@vger.kernel.org, Ajay Kaher , Alexey Makhalov , VMware PV-Drivers Reviewers , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Boris Ostrovsky , Masami Hiramatsu , xen-devel@lists.xenproject.org Subject: Re: [PATCH 2/3] x86/xen: move paravirt lazy code Message-ID: <20230913092646.5b087871@gandalf.local.home> In-Reply-To: <20230913113828.18421-3-jgross@suse.com> References: <20230913113828.18421-1-jgross@suse.com> <20230913113828.18421-3-jgross@suse.com> X-Mailer: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-trace-kernel@vger.kernel.org On Wed, 13 Sep 2023 13:38:27 +0200 Juergen Gross wrote: > diff --git a/include/trace/events/xen.h b/include/trace/events/xen.h > index 44a3f565264d..0577f0cdd231 100644 > --- a/include/trace/events/xen.h > +++ b/include/trace/events/xen.h > @@ -6,26 +6,26 @@ > #define _TRACE_XEN_H > > #include > -#include > +#include > #include > > struct multicall_entry; > > /* Multicalls */ > DECLARE_EVENT_CLASS(xen_mc__batch, > - TP_PROTO(enum paravirt_lazy_mode mode), > + TP_PROTO(enum xen_lazy_mode mode), > TP_ARGS(mode), > TP_STRUCT__entry( > - __field(enum paravirt_lazy_mode, mode) > + __field(enum xen_lazy_mode, mode) > ), > TP_fast_assign(__entry->mode = mode), > TP_printk("start batch LAZY_%s", > - (__entry->mode == PARAVIRT_LAZY_MMU) ? "MMU" : > - (__entry->mode == PARAVIRT_LAZY_CPU) ? "CPU" : "NONE") > + (__entry->mode == XEN_LAZY_MMU) ? "MMU" : > + (__entry->mode == XEN_LAZY_CPU) ? "CPU" : "NONE") There's helper functions that make the above easier to implement as well as exports the symbols so that user space can parse this better: TRACE_DEFINE_ENUM(XEN_LAZY_NONE); TRACE_DEFINE_ENUM(XEN_LAZY_MMU); TRACE_DEFINE_ENUM(XEN_LAZY_CPU); [..] TP_printk("start batch LAZY_%s", __print_symbolic(mode, { XEN_LAZY_NONE, "NONE" }, { XEN_LAZY_MMU, "MMU }, { XEN_LAZY_CPU, "CPU" })) Then user space parsers that read the raw data can convert these events into something humans can read. -- Steve > ); > #define DEFINE_XEN_MC_BATCH(name) \ > DEFINE_EVENT(xen_mc__batch, name, \ > - TP_PROTO(enum paravirt_lazy_mode mode), \ > + TP_PROTO(enum xen_lazy_mode mode), \ > TP_ARGS(mode)) > > DEFINE_XEN_MC_BATCH(xen_mc_batch);