All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>, Laura Abbott <labbott@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Anton Vorontsov <anton@enomsg.org>,
	Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org, Colin Cross <ccross@android.com>,
	Jason Baron <jbaron@akamai.com>, Tony Luck <tony.luck@intel.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Joel Fernandes <joel@joelfernandes.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Joe Perches <joe@perches.com>, Jim Cromie <jim.cromie@gmail.com>,
	Rajendra Nayak <rnayak@codeaurora.org>,
	Vivek Gautam <vivek.gautam@codeaurora.org>,
	Sibi Sankar <sibis@codeaurora.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vg
Subject: Re: [PATCH 2/6] pstore: Add event tracing support
Date: Tue, 18 Sep 2018 23:22:48 +0530	[thread overview]
Message-ID: <cb17a8c9-fca1-5492-3255-eab0ea33577c@codeaurora.org> (raw)
In-Reply-To: <20180917193426.41c99fd5@gandalf.local.home>

On 9/18/2018 5:04 AM, Steven Rostedt wrote:
> 
> It looks like pstore_event_call() gets called from a trace event. You
> can't call kmalloc() from one. One thing is that kmalloc has
> tracepoints itself. You trace those you just entered an infinite loop.
> 
> 

Ok will remove it in v2. But any alternative way to do this?

>> +
>> +	event_call = fbuffer->trace_file->event_call;
>> +	if (!event_call || !event_call->event.funcs ||
>> +	    !event_call->event.funcs->trace)
>> +		goto fail_event;
>> +
>> +	event = &fbuffer->trace_file->event_call->event;
>> +
>> +	spin_lock_irqsave(&psinfo->buf_lock, flags);
>> +
>> +	trace_seq_init(&iter->seq);
>> +	iter->ent = fbuffer->entry;
> 
> I guess what you are doing is needing to translate the raw data into
> ascii output, and need the trace_iterator to do so.
> 
> You are already under a psinfo->buf_lock. Add a dummy iterator to that
> and use it instead.
> 
> 	trace_seq_init(&psinfo->iter->seq);
> 
>> +	event_call->event.funcs->trace(iter, 0, event);
> 
> 				      (psinfo->iter, 0 , event);
> 
> etc.
> 

Sure, will update in v2.

>> +	trace_seq_putc(&iter->seq, 0);
>> +
>> +	if (seq->size > psinfo->bufsize)
>> +		seq->size = psinfo->bufsize;
>> +
>> +	s = &iter->seq;
>> +	seq = &s->seq;
>> +
>> +	record.buf = (char *)(seq->buffer);
>> +	record.size = seq->len;
>> +	psinfo->write(&record);
>> +
>> +	spin_unlock_irqrestore(&psinfo->buf_lock, flags);
> 
> You may also need to convert these spin_locks into raw_spin_locks as
> when PREEMPT_RT enters the kernel you don't want them to turn into
> mutexes.
> 
> But that can be another patch.
> 

I will change this in v2, but can't we have it in same patch?

Thanks,
Sai

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

WARNING: multiple messages have this Message-ID (diff)
From: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>, Laura Abbott <labbott@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Anton Vorontsov <anton@enomsg.org>,
	Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org, Colin Cross <ccross@android.com>,
	Jason Baron <jbaron@akamai.com>, Tony Luck <tony.luck@intel.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Joel Fernandes <joel@joelfernandes.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Joe Perches <joe@perches.com>, Jim Cromie <jim.cromie@gmail.com>,
	Rajendra Nayak <rnayak@codeaurora.org>,
	Vivek Gautam <vivek.gautam@codeaurora.org>,
	Sibi Sankar <sibis@codeaurora.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ingo Molnar <mingo@kernel.org>,
	Tom Zanussi <tom.zanussi@linux.intel.com>,
	Prasad Sodagudi <psodagud@codeaurora.org>,
	tsoni@codeaurora.org, Bryan Huntsman <bryanh@codeaurora.org>,
	Tingwei Zhang <tingwei@codeaurora.org>
Subject: Re: [PATCH 2/6] pstore: Add event tracing support
Date: Tue, 18 Sep 2018 23:22:48 +0530	[thread overview]
Message-ID: <cb17a8c9-fca1-5492-3255-eab0ea33577c@codeaurora.org> (raw)
In-Reply-To: <20180917193426.41c99fd5@gandalf.local.home>

On 9/18/2018 5:04 AM, Steven Rostedt wrote:
> 
> It looks like pstore_event_call() gets called from a trace event. You
> can't call kmalloc() from one. One thing is that kmalloc has
> tracepoints itself. You trace those you just entered an infinite loop.
> 
> 

Ok will remove it in v2. But any alternative way to do this?

>> +
>> +	event_call = fbuffer->trace_file->event_call;
>> +	if (!event_call || !event_call->event.funcs ||
>> +	    !event_call->event.funcs->trace)
>> +		goto fail_event;
>> +
>> +	event = &fbuffer->trace_file->event_call->event;
>> +
>> +	spin_lock_irqsave(&psinfo->buf_lock, flags);
>> +
>> +	trace_seq_init(&iter->seq);
>> +	iter->ent = fbuffer->entry;
> 
> I guess what you are doing is needing to translate the raw data into
> ascii output, and need the trace_iterator to do so.
> 
> You are already under a psinfo->buf_lock. Add a dummy iterator to that
> and use it instead.
> 
> 	trace_seq_init(&psinfo->iter->seq);
> 
>> +	event_call->event.funcs->trace(iter, 0, event);
> 
> 				      (psinfo->iter, 0 , event);
> 
> etc.
> 

Sure, will update in v2.

>> +	trace_seq_putc(&iter->seq, 0);
>> +
>> +	if (seq->size > psinfo->bufsize)
>> +		seq->size = psinfo->bufsize;
>> +
>> +	s = &iter->seq;
>> +	seq = &s->seq;
>> +
>> +	record.buf = (char *)(seq->buffer);
>> +	record.size = seq->len;
>> +	psinfo->write(&record);
>> +
>> +	spin_unlock_irqrestore(&psinfo->buf_lock, flags);
> 
> You may also need to convert these spin_locks into raw_spin_locks as
> when PREEMPT_RT enters the kernel you don't want them to turn into
> mutexes.
> 
> But that can be another patch.
> 

I will change this in v2, but can't we have it in same patch?

Thanks,
Sai

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

WARNING: multiple messages have this Message-ID (diff)
From: saiprakash.ranjan@codeaurora.org (Sai Prakash Ranjan)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/6] pstore: Add event tracing support
Date: Tue, 18 Sep 2018 23:22:48 +0530	[thread overview]
Message-ID: <cb17a8c9-fca1-5492-3255-eab0ea33577c@codeaurora.org> (raw)
In-Reply-To: <20180917193426.41c99fd5@gandalf.local.home>

On 9/18/2018 5:04 AM, Steven Rostedt wrote:
> 
> It looks like pstore_event_call() gets called from a trace event. You
> can't call kmalloc() from one. One thing is that kmalloc has
> tracepoints itself. You trace those you just entered an infinite loop.
> 
> 

Ok will remove it in v2. But any alternative way to do this?

>> +
>> +	event_call = fbuffer->trace_file->event_call;
>> +	if (!event_call || !event_call->event.funcs ||
>> +	    !event_call->event.funcs->trace)
>> +		goto fail_event;
>> +
>> +	event = &fbuffer->trace_file->event_call->event;
>> +
>> +	spin_lock_irqsave(&psinfo->buf_lock, flags);
>> +
>> +	trace_seq_init(&iter->seq);
>> +	iter->ent = fbuffer->entry;
> 
> I guess what you are doing is needing to translate the raw data into
> ascii output, and need the trace_iterator to do so.
> 
> You are already under a psinfo->buf_lock. Add a dummy iterator to that
> and use it instead.
> 
> 	trace_seq_init(&psinfo->iter->seq);
> 
>> +	event_call->event.funcs->trace(iter, 0, event);
> 
> 				      (psinfo->iter, 0 , event);
> 
> etc.
> 

Sure, will update in v2.

>> +	trace_seq_putc(&iter->seq, 0);
>> +
>> +	if (seq->size > psinfo->bufsize)
>> +		seq->size = psinfo->bufsize;
>> +
>> +	s = &iter->seq;
>> +	seq = &s->seq;
>> +
>> +	record.buf = (char *)(seq->buffer);
>> +	record.size = seq->len;
>> +	psinfo->write(&record);
>> +
>> +	spin_unlock_irqrestore(&psinfo->buf_lock, flags);
> 
> You may also need to convert these spin_locks into raw_spin_locks as
> when PREEMPT_RT enters the kernel you don't want them to turn into
> mutexes.
> 
> But that can be another patch.
> 

I will change this in v2, but can't we have it in same patch?

Thanks,
Sai

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

  reply	other threads:[~2018-09-18 17:52 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-08 20:27 [PATCH 0/6] Tracing register accesses with pstore and dynamic debug Sai Prakash Ranjan
2018-09-08 20:27 ` Sai Prakash Ranjan
2018-09-08 20:27 ` [PATCH 1/6] dt-bindings: ramoops: Add event-size property Sai Prakash Ranjan
2018-09-08 20:27   ` Sai Prakash Ranjan
2018-09-17  5:45   ` Rob Herring
2018-09-17  5:45     ` Rob Herring
2018-09-17 17:15     ` Sai Prakash Ranjan
2018-09-17 17:15       ` Sai Prakash Ranjan
2018-09-08 20:27 ` [PATCH 2/6] pstore: Add event tracing support Sai Prakash Ranjan
2018-09-08 20:27   ` Sai Prakash Ranjan
2018-09-11 10:46   ` Sai Prakash Ranjan
2018-09-11 10:46     ` Sai Prakash Ranjan
2018-09-17 17:38     ` Stephen Boyd
2018-09-17 17:38       ` Stephen Boyd
2018-09-17 19:43       ` Sai Prakash Ranjan
2018-09-17 19:43         ` Sai Prakash Ranjan
2018-09-16  7:07   ` Sai Prakash Ranjan
2018-09-16  7:07     ` Sai Prakash Ranjan
2018-09-16 13:55     ` Joel Fernandes
2018-09-17 14:54       ` Kees Cook
2018-09-17 14:54         ` Kees Cook
2018-09-17 14:54         ` Kees Cook
2018-09-17 17:17         ` Sai Prakash Ranjan
2018-09-17 17:17           ` Sai Prakash Ranjan
2018-09-17 17:17           ` Sai Prakash Ranjan
2018-09-17 17:13       ` Sai Prakash Ranjan
2018-09-17 17:13         ` Sai Prakash Ranjan
2018-09-17 17:13         ` Sai Prakash Ranjan
2018-09-17 23:04     ` Steven Rostedt
2018-09-17 23:04       ` Steven Rostedt
2018-09-17 23:04       ` Steven Rostedt
2018-09-18  6:24       ` Sai Prakash Ranjan
2018-09-18  6:24         ` Sai Prakash Ranjan
2018-09-18  6:24         ` Sai Prakash Ranjan
2018-09-17 23:34   ` Steven Rostedt
2018-09-17 23:34     ` Steven Rostedt
2018-09-17 23:34     ` Steven Rostedt
2018-09-18 17:52     ` Sai Prakash Ranjan [this message]
2018-09-18 17:52       ` Sai Prakash Ranjan
2018-09-18 17:52       ` Sai Prakash Ranjan
2018-09-18 20:44       ` Steven Rostedt
2018-09-18 20:44         ` Steven Rostedt
2018-09-18 20:44         ` Steven Rostedt
2018-09-18 21:13         ` Sai Prakash Ranjan
2018-09-18 21:13           ` Sai Prakash Ranjan
2018-09-18 21:13           ` Sai Prakash Ranjan
2018-09-22  6:48           ` Sai Prakash Ranjan
2018-09-22  6:48             ` Sai Prakash Ranjan
2018-09-22  6:48             ` Sai Prakash Ranjan
2018-09-22  9:05   ` Joel Fernandes
2018-09-22  9:05     ` Joel Fernandes
2018-09-22  9:05     ` Joel Fernandes
2018-09-22 16:37     ` Sai Prakash Ranjan
2018-09-22 16:37       ` Sai Prakash Ranjan
2018-09-22 16:37       ` Sai Prakash Ranjan
2018-09-22 17:32       ` Sai Prakash Ranjan
2018-09-22 17:32         ` Sai Prakash Ranjan
2018-09-22 17:32         ` Sai Prakash Ranjan
2018-09-22 17:45       ` Sai Prakash Ranjan
2018-09-22 17:45         ` Sai Prakash Ranjan
2018-09-22 17:45         ` Sai Prakash Ranjan
2018-09-23 15:33       ` Sai Prakash Ranjan
2018-09-23 15:33         ` Sai Prakash Ranjan
2018-09-23 15:33         ` Sai Prakash Ranjan
2018-09-25 20:37         ` Joel Fernandes
2018-09-25 20:37           ` Joel Fernandes
2018-09-25 20:37           ` Joel Fernandes
2018-09-25 20:39           ` Joel Fernandes
2018-09-25 20:39             ` Joel Fernandes
2018-09-25 20:39             ` Joel Fernandes
2018-09-25 20:40             ` Joel Fernandes
2018-09-25 20:40               ` Joel Fernandes
2018-09-25 20:40               ` Joel Fernandes
2018-09-26  9:52               ` Sai Prakash Ranjan
2018-09-26  9:52                 ` Sai Prakash Ranjan
2018-09-26  9:52                 ` Sai Prakash Ranjan
2018-09-08 20:27 ` [PATCH 3/6] tracing: Add tp_pstore cmdline to have tracepoints go to pstore Sai Prakash Ranjan
2018-09-08 20:27   ` Sai Prakash Ranjan
2018-09-25 21:25   ` Joel Fernandes
2018-09-25 21:25     ` Joel Fernandes
2018-09-25 21:25     ` Joel Fernandes
2018-09-26  9:46     ` Sai Prakash Ranjan
2018-09-26  9:46       ` Sai Prakash Ranjan
2018-09-26  9:46       ` Sai Prakash Ranjan
2018-10-08 14:16       ` Sai Prakash Ranjan
2018-10-08 14:16         ` Sai Prakash Ranjan
2018-10-08 14:16         ` Sai Prakash Ranjan
2018-10-08 14:36         ` Steven Rostedt
2018-10-08 14:36           ` Steven Rostedt
2018-10-08 14:36           ` Steven Rostedt
2018-10-08 22:40           ` Joel Fernandes
2018-10-08 22:40             ` Joel Fernandes
2018-10-08 22:40             ` Joel Fernandes
2018-10-09 18:22             ` Sai Prakash Ranjan
2018-10-09 18:22               ` Sai Prakash Ranjan
2018-10-09 18:22               ` Sai Prakash Ranjan
2018-10-10 19:37               ` Steven Rostedt
2018-10-10 19:37                 ` Steven Rostedt
2018-10-10 19:37                 ` Steven Rostedt
2018-09-08 20:27 ` [PATCH 4/6] arm64/io: Add tracepoint for register accesses Sai Prakash Ranjan
2018-09-08 20:27   ` Sai Prakash Ranjan
2018-09-08 20:27 ` [PATCH 5/6] arm64/io: Add header for instrumentation of io operations Sai Prakash Ranjan
2018-09-08 20:27   ` Sai Prakash Ranjan
2018-09-17 23:39   ` Steven Rostedt
2018-09-17 23:39     ` Steven Rostedt
2018-09-17 23:39     ` Steven Rostedt
2018-09-18  7:10     ` Sai Prakash Ranjan
2018-09-18  7:10       ` Sai Prakash Ranjan
2018-09-18  7:10       ` Sai Prakash Ranjan
2018-09-18 11:47       ` Will Deacon
2018-09-18 11:47         ` Will Deacon
2018-09-18 11:47         ` Will Deacon
2018-09-18 12:43         ` Sai Prakash Ranjan
2018-09-18 12:43           ` Sai Prakash Ranjan
2018-09-18 12:43           ` Sai Prakash Ranjan
2018-09-08 20:27 ` [PATCH 6/6] dynamic_debug: Add flag for dynamic event tracing Sai Prakash Ranjan
2018-09-08 20:27   ` Sai Prakash Ranjan
2018-09-11 15:11 ` [PATCH 0/6] Tracing register accesses with pstore and dynamic debug Will Deacon
2018-09-11 15:11   ` Will Deacon
2018-09-11 15:11   ` Will Deacon
2018-09-11 16:11   ` Sai Prakash Ranjan
2018-09-11 16:11     ` Sai Prakash Ranjan
2018-09-11 16:11     ` Sai Prakash Ranjan
2018-10-20  5:25 ` Joel Fernandes
2018-10-20  5:25   ` Joel Fernandes
2018-10-20  5:25   ` Joel Fernandes
2018-10-20  6:32   ` Sai Prakash Ranjan
2018-10-20  6:32     ` Sai Prakash Ranjan
2018-10-20  6:32     ` Sai Prakash Ranjan
2018-10-20 16:27     ` Joel Fernandes
2018-10-20 16:27       ` Joel Fernandes
2018-10-20 16:27       ` Joel Fernandes
2018-10-21  3:46       ` Sai Prakash Ranjan
2018-10-21  3:46         ` Sai Prakash Ranjan
2018-10-21  3:46         ` Sai Prakash Ranjan
2018-10-21  4:59         ` Sai Prakash Ranjan
2018-10-21  4:59           ` Sai Prakash Ranjan
2018-10-21  4:59           ` Sai Prakash Ranjan
2018-10-21  5:09         ` Joel Fernandes
2018-10-21  5:09           ` Joel Fernandes
2018-10-21  5:09           ` Joel Fernandes

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=cb17a8c9-fca1-5492-3255-eab0ea33577c@codeaurora.org \
    --to=saiprakash.ranjan@codeaurora.org \
    --cc=anton@enomsg.org \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=ccross@android.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jbaron@akamai.com \
    --cc=jim.cromie@gmail.com \
    --cc=joe@perches.com \
    --cc=joel@joelfernandes.org \
    --cc=keescook@chromium.org \
    --cc=labbott@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vg \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@redhat.com \
    --cc=rnayak@codeaurora.org \
    --cc=robh+dt@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=sibis@codeaurora.org \
    --cc=tony.luck@intel.com \
    --cc=vivek.gautam@codeaurora.org \
    --cc=will.deacon@arm.com \
    /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.