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: Thu, 24 Nov 2011 16:45:23 +0100	[thread overview]
Message-ID: <20111124154519.GB18579@somewhere.redhat.com> (raw)
In-Reply-To: <1322140919.5366.17.camel@jlt3.sipsolutions.net>

On Thu, Nov 24, 2011 at 02:21:59PM +0100, Johannes Berg wrote:
> On Wed, 2011-11-23 at 14:16 +0100, Frederic Weisbecker wrote:
> 
> > > 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().
> 
> Looks like. Not that I have any idea why other code handles the wrap
> then?

It's not the same wrap.
More on that below.

> 
> > > 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...
> 
> Heh....
> 
> I don't really feel comfortable modifying the _call_console_drivers()
> function to not handle start > end (modulo log buf size of course), but
> at the same time I don't feel comfortable putting code into it that
> doesn't handle it.

So, the:

	BUG_ON(((int)(start - end)) > 0);

check is there to ensure we haven't wrapped INT_MAX. If we have reached
that point it definetly means we have a bug because log_buf_len is itself
an int and we shouldn't overlap INT_MAX.

The care on the wrapping that is done in _call_console_drivers() is
different and concerns log_buf_len itself. If log_buf_len = 8, start = 7
and end = 9, then you will enter the "((start & LOG_BUF_MASK) > (end & LOG_BUF_MASK))"
condition that handle the wrap on LOG_BUF_MASK to print the two chars.
But this is totally different from "start > end" which would mean we have
a bug.

So, in your tracepoint you can safely use "end - start" as a length for your
dynamic array. But the rest of your tracepoint (all the fast assign part)
still needs the masks as you did.

But well, I'm being anal about two lines in TP_struct__entry(), that's really
not important...

  reply	other threads:[~2011-11-24 15:45 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
2011-11-24 13:21                                   ` Johannes Berg
2011-11-24 15:45                                     ` Frederic Weisbecker [this message]
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=20111124154519.GB18579@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.