All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Frederic Weisbecker <fweisbec@gmail.com>
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 20:00:16 +0100	[thread overview]
Message-ID: <1322161216.5366.52.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <20111124154519.GB18579@somewhere.redhat.com> (sfid-20111124_164601_383201_AB72557F)

On Thu, 2011-11-24 at 16:45 +0100, Frederic Weisbecker wrote:

> > 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.

Ok that makes sense.

> 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.

Oh. So we get end = 9 in that case? That seems confusing ... I would
have expected end = 1 then! Which is the whole reason I got confused I
guess.

> 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.

Oh, that's all you were trying to say? I can see that, ok. I just didn't
see that end would be 9 instead of 1 and tried to handle that. The
_call_console_drivers() code is a bit different I guess.

I'll send a new version.

johannes


  reply	other threads:[~2011-11-24 19:00 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
2011-11-24 19:00                                       ` Johannes Berg [this message]
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=1322161216.5366.52.camel@jlt3.sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=fweisbec@gmail.com \
    --cc=hch@infradead.org \
    --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.