All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	Christoph Hellwig <hch@infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@redhat.com>
Subject: Re: [PATCH v2] printk: add console output tracing
Date: Wed, 23 Nov 2011 14:16:28 +0100	[thread overview]
Message-ID: <20111123131622.GA10669@somewhere.redhat.com> (raw)
In-Reply-To: <1321642752.10266.75.camel@jlt3.sipsolutions.net>

On Fri, Nov 18, 2011 at 07:59:12PM +0100, Johannes Berg wrote:
> On Fri, 2011-11-18 at 19:54 +0100, Frederic Weisbecker wrote:
> > On Fri, Nov 18, 2011 at 07:46:15PM +0100, Johannes Berg wrote:
> > > On Fri, 2011-11-18 at 19:44 +0100, Frederic Weisbecker wrote:
> > > 
> > > > > +TRACE_EVENT_CONDITION(console,
> > > > > +	TP_PROTO(const char *log_buf, unsigned start, unsigned end,
> > > > > +		 unsigned log_buf_len),
> > > > > +
> > > > > +	TP_ARGS(log_buf, start, end, log_buf_len),
> > > > > +
> > > > > +	TP_CONDITION(start != end),
> > > > > +
> > > > > +	TP_STRUCT__entry(
> > > > > +		__dynamic_array(char, msg,
> > > > > +				((end - start + log_buf_len) &
> > > > > +				 (log_buf_len - 1)) + 1)
> > > > 
> > > > Is all that care about log_buf_len necessary? It seems that
> > > > printk ensures that log_end - con_start never exceeds log_buf_len,
> > > > looking at emit_log_char()
> > > 
> > > I think it is. The buffer can wrap around so in that case end < start,
> > > which just end-start won't handle here.
> > 
> > Even if it wraps, end - start should always give a positive result.
> > 
> > We have that check in call_console_drivers():
> > 
> > 	BUG_ON(((int)(start - end)) > 0)
> 
> That's .. confusing, start - end > 0 <=> start > end ??

Yeah. Both are unsigned, so converting the result into an int
and getting a positive value means we have wrapped INT_MAX.

> 
> Also, call_console_drivers() doesn't pass this start/end through to
> _call_console_drivers(), it has loops and stuff there...

Yeah but looking at the loop there, start and end passed to
__call_console_drivers() are bounded between start and end passed to
call_console_drivers().

> 
> In any case -- feel free to clean it all up, I basically copied the
> logic from _call_console_drivers assuming it was needed.

I'm just reviewing and suggesting a way to keep the patch more simple.
Outside that, I don't really need that patch myself ;)

> I don't really want to know about the printk details :-)

Well, it's like working out outside in winter. It may not sound
very entertaining in the beginning but then it quickly becomes
invigorating, toning and good for the mood...I think...

  reply	other threads:[~2011-11-23 13:16 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-16 10:18 [PATCH] tracing: add trace console Johannes Berg
2011-11-16 14:15 ` Steven Rostedt
2011-11-16 14:25   ` Peter Zijlstra
2011-11-16 14:30     ` Johannes Berg
2011-11-16 14:41       ` Peter Zijlstra
2011-11-16 14:48       ` Steven Rostedt
2011-11-16 14:50         ` Peter Zijlstra
2011-11-16 14:51         ` Johannes Berg
2011-11-16 15:17           ` Steven Rostedt
2011-11-16 14:32   ` Thomas Gleixner
2011-11-16 14:35   ` Frederic Weisbecker
2011-11-16 15:09   ` [PATCH v2] " Johannes Berg
2011-11-16 15:17     ` Peter Zijlstra
2011-11-16 15:19     ` Steven Rostedt
2011-11-16 15:10 ` [PATCH] " Christoph Hellwig
2011-11-16 15:17   ` Johannes Berg
2011-11-16 16:41     ` Steven Rostedt
2011-11-16 16:45       ` Johannes Berg
2011-11-16 17:00         ` Steven Rostedt
2011-11-16 17:05           ` Steven Rostedt
2011-11-16 18:33           ` Johannes Berg
2011-11-16 19:57             ` Steven Rostedt
2011-11-16 20:12               ` Johannes Berg
2011-11-16 21:25               ` [PATCH] printk: add console output tracing Johannes Berg
2011-11-17  1:01                 ` Steven Rostedt
2011-11-17 14:55                 ` Frederic Weisbecker
2011-11-17 14:57                   ` Johannes Berg
2011-11-17 15:00                     ` Frederic Weisbecker
2011-11-17 15:17                       ` Steven Rostedt
2011-11-17 15:21                       ` [PATCH v2] " Johannes Berg
2011-11-18 18:44                         ` Frederic Weisbecker
2011-11-18 18:46                           ` Johannes Berg
2011-11-18 18:54                             ` Frederic Weisbecker
2011-11-18 18:59                               ` Johannes Berg
2011-11-23 13:16                                 ` Frederic Weisbecker [this message]
2011-11-24 13:21                                   ` Johannes Berg
2011-11-24 15:45                                     ` Frederic Weisbecker
2011-11-24 19:00                                       ` Johannes Berg
2011-11-25 17:43                                         ` Frederic Weisbecker
2011-11-25 18:11                                           ` Johannes Berg
2011-11-24 19:03                                       ` [PATCH v3] " Johannes Berg
2011-11-25 17:41                                         ` Frederic Weisbecker
2011-12-02 18:05                                           ` Steven Rostedt
2012-02-13 17:30                                         ` Steven Rostedt
2012-02-13 17:33                                           ` Johannes Berg
2012-02-13 17:42                                             ` Steven Rostedt
2012-02-17 13:52                                         ` [tip:perf/core] printk/tracing: Add " tip-bot for Johannes Berg

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=20111123131622.GA10669@somewhere.redhat.com \
    --to=fweisbec@gmail.com \
    --cc=hch@infradead.org \
    --cc=johannes@sipsolutions.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --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.