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: Fri, 25 Nov 2011 18:43:31 +0100 [thread overview]
Message-ID: <20111125174327.GB23978@somewhere.redhat.com> (raw)
In-Reply-To: <1322161216.5366.52.camel@jlt3.sipsolutions.net>
On Thu, Nov 24, 2011 at 08:00:16PM +0100, Johannes Berg wrote:
> 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.
end = 9 but (end & LOG_BUF_MASK) = 1
>
> > 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?
Yeah I first thought my comment applied to all the mask game in the tracepoint but then
I started to feel ashamed when I realized it was only on the dynamic array declaration :)
> 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.
Thanks.
>
> johannes
>
next prev parent reply other threads:[~2011-11-25 17:43 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
2011-11-25 17:43 ` Frederic Weisbecker [this message]
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=20111125174327.GB23978@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome