All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ross Zwisler <zwisler@google.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH 1/4] tracing: Add creation of instances at boot command line
Date: Thu, 12 Jan 2023 16:24:17 -0700	[thread overview]
Message-ID: <Y8CWodcFALp3MEBM@google.com> (raw)
In-Reply-To: <20230111145842.376427803@goodmis.org>

On Wed, Jan 11, 2023 at 09:56:37AM -0500, Steven Rostedt wrote:
> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> 
> Add kernel command line to add tracing instances. This only creates
> instances at boot but still does not enable any events to them. Later
> changes will extend this command line to add enabling of events, filters,
> and triggers. As well as possibly redirecting trace_printk()!
> 
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
>  .../admin-guide/kernel-parameters.txt         |  6 +++
>  kernel/trace/trace.c                          | 51 +++++++++++++++++++
>  2 files changed, 57 insertions(+)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 6cfa6e3996cf..cec486217ccc 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -6272,6 +6272,12 @@
>  			comma-separated list of trace events to enable. See
>  			also Documentation/trace/events.rst
>  
> +	trace_instance=[instance-info]
> +			[FTRACE] Create an ring buffer instance early in boot up.
> +			This will be listed in:
> +
> +				/sys/kernel/tracing/instances

Should this be "/sys/kernel/debug/tracing/instances"?

Ditto for the text for 'ftrace_boot_snapshot':

	ftrace_boot_snapshot
			[FTRACE] On boot up, a snapshot will be taken of the
			ftrace ring buffer that can be read at:
			/sys/kernel/tracing/snapshot.

Everywhere else we use /sys/kernel/debug/tracing, though we do use
/sys/kernel/tracing in Documentation/trace/ftrace.txt ?

I guess either works, but having just 1 or the other will help us not confuse
users.

> +
>  	trace_options=[option-list]
>  			[FTRACE] Enable or disable tracer options at boot.
>  			The option-list is a comma delimited list of options
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index a555a861b978..34ed504ffca9 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -48,6 +48,9 @@
>  #include <linux/fsnotify.h>
>  #include <linux/irq_work.h>
>  #include <linux/workqueue.h>
> +#include <linux/workqueue.h>

Duplicate include 1 line above.

> +
> +#include <asm/setup.h> /* COMMAND_LINE_SIZE */
>  
>  #include "trace.h"
>  #include "trace_output.h"
> @@ -186,6 +189,9 @@ static char *default_bootup_tracer;
>  static bool allocate_snapshot;
>  static bool snapshot_at_boot;
>  
> +static char boot_instance_info[COMMAND_LINE_SIZE] __initdata;
> +static int boot_instance_index;
> +
>  static int __init set_cmdline_ftrace(char *str)
>  {
>  	strlcpy(bootup_tracer_buf, str, MAX_TRACER_SIZE);
> @@ -239,6 +245,23 @@ static int __init boot_snapshot(char *str)
>  __setup("ftrace_boot_snapshot", boot_snapshot);
>  
>  
> +static int __init boot_instance(char *str)
> +{
> +	char *slot = boot_instance_info + boot_instance_index;
> +	int left = COMMAND_LINE_SIZE - boot_instance_index;

A bit safer to use sizeof(boot_instance_info) instead of COMMAND_LINE_SIZE,
so we can change the allocation size of boot_instance_info without having to
keep them in sync.

These are mostly nits, you can add:

Reviewed-by: Ross Zwisler <zwisler@google.com>

  parent reply	other threads:[~2023-01-12 23:24 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-11 14:56 [PATCH 0/4] tracing: Addition of tracing instances via kernel command line Steven Rostedt
2023-01-11 14:56 ` [PATCH 1/4] tracing: Add creation of instances at boot " Steven Rostedt
2023-01-11 16:33   ` Randy Dunlap
2023-01-12 23:24   ` Ross Zwisler [this message]
2023-01-12 23:59     ` Steven Rostedt
2023-01-11 14:56 ` [PATCH 2/4] tracing: Add enabling of events to boot instances Steven Rostedt
2023-01-12 23:24   ` Ross Zwisler
2023-01-11 14:56 ` [PATCH 3/4] tracing: Add trace_array_puts() to write into instance Steven Rostedt
2023-01-12 23:26   ` Ross Zwisler
2023-01-13  0:00     ` Steven Rostedt
2023-01-11 14:56 ` [PATCH 4/4] tracing: Allow boot instances to have snapshot buffers Steven Rostedt
2023-01-11 20:03   ` kernel test robot
2023-01-11 21:34   ` kernel test robot
2023-01-11 23:05   ` kernel test robot
2023-01-11 23:45   ` kernel test robot
2023-01-14  0:08   ` Ross Zwisler
2023-01-14  4:04     ` Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y8CWodcFALp3MEBM@google.com \
    --to=zwisler@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.