From: Kay Sievers <kay@vrfy.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Joe Perches <joe@perches.com>, "Ted Ts'o" <tytso@mit.edu>,
Ingo Molnar <mingo@kernel.org>, Jonathan Corbet <corbet@lwn.net>,
Sasha Levin <levinsasha928@gmail.com>,
Greg Kroah-Hartmann <greg@kroah.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH RESEND 1/3] printk: convert byte-buffer to variable-length record buffer
Date: Fri, 11 May 2012 02:38:27 +0200 [thread overview]
Message-ID: <1336696707.947.56.camel@mop> (raw)
In-Reply-To: <CA+55aFwJgtVr9ZndEU-yhJW3wi-5Omga51pjun+J213awQwJZA@mail.gmail.com>
On Thu, May 10, 2012 at 10:52 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote:
> The change to verify that 'current' matches the previous printout is
> so far the *only* sane semantic change I've seen in this thread.
> Everything else has been pure garbage.
Ok, let's continue with sane things then. :)
Here is a stupid kernel module which creates 3 racy printk() loops, 2 of
them do continuation, one does an atomic print. The continuation one
prints one char per printk.
http://people.freedesktop.org/~kay/printk-race/printk-race.c
The lines all try to look like:
(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
(CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC)
(XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
Every loop has it's own uppercase character. The line enclosed in '()'.
'A' is the atomic one, the cont ones are 'C' and 'X'.
Our current kernel look like:
[ 99.056806] XC(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
[ 99.059772] XC(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
[ 99.062168] XCCX(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
[ 99.066479] CXXC(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
[ 99.070063] XC(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
[ 99.073081] XCCXCXCXCXCXCXCXCXCXCXCXCXCXCXCCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXC)
[ 99.148325] (CCXCXCX)
[ 99.155468] (XXCXCXCXCCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXXCXCXCXCXCXCXCXCXC)
[ 99.277357] (CCXCXCXCX)
http://people.freedesktop.org/~kay/printk-race/printk-out-before.txt
The kernel with the record buffer, and the 'current' who owns the cont buffer
looks like:
[ 78.080866] (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
[ 78.082790] (CC
[ 78.084152] (XX
[ 78.084497] (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
[ 78.085494] C
[ 78.086125] X
[ 78.087188] C
[ 78.088669] X
[ 78.089803] C
[ 78.091510] X
[ 78.091924] (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
[ 78.094112] CC
[ 78.096171] X
http://people.freedesktop.org/~kay/printk-race/printk-out-after.txt
Thanks,
Kay
next prev parent reply other threads:[~2012-05-11 0:39 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-03 0:29 [PATCH RESEND 1/3] printk: convert byte-buffer to variable-length record buffer Kay Sievers
2012-05-03 19:48 ` Peter Zijlstra
2012-05-03 19:54 ` Kay Sievers
2012-05-03 19:55 ` Peter Zijlstra
2012-05-03 19:56 ` Linus Torvalds
2012-05-03 20:02 ` Peter Zijlstra
2012-05-03 20:09 ` Linus Torvalds
2012-05-03 20:11 ` Peter Zijlstra
2012-05-03 20:18 ` Greg Kroah-Hartmann
2012-05-08 8:48 ` Sasha Levin
2012-05-08 11:14 ` Kay Sievers
2012-05-08 13:33 ` Sasha Levin
2012-05-08 14:29 ` Kay Sievers
2012-05-08 15:33 ` Kay Sievers
2012-05-08 15:57 ` Sasha Levin
2012-05-08 16:27 ` Kay Sievers
2012-05-08 22:57 ` Greg Kroah-Hartmann
2012-05-09 3:52 ` Linus Torvalds
2012-05-09 4:06 ` Joe Perches
2012-05-09 4:11 ` Sasha Levin
2012-05-09 4:27 ` Linus Torvalds
2012-05-09 4:36 ` Linus Torvalds
2012-05-09 7:07 ` Ingo Molnar
2012-05-09 13:21 ` Kay Sievers
2012-05-09 13:29 ` Kay Sievers
2012-05-10 0:54 ` Kay Sievers
2012-05-10 1:18 ` Linus Torvalds
2012-05-10 2:32 ` Kay Sievers
2012-05-10 2:46 ` Joe Perches
2012-05-10 16:39 ` Kay Sievers
2012-05-10 16:47 ` Linus Torvalds
2012-05-10 18:49 ` Tony Luck
2012-05-10 19:09 ` Kay Sievers
2012-05-10 20:14 ` Ted Ts'o
2012-05-10 20:37 ` Joe Perches
2012-05-10 20:39 ` Kay Sievers
2012-05-10 20:46 ` Joe Perches
2012-05-10 20:52 ` Linus Torvalds
2012-05-10 21:11 ` Joe Perches
2012-05-10 21:15 ` Kay Sievers
2012-05-10 21:58 ` Linus Torvalds
2012-05-11 0:13 ` Joe Perches
2012-05-11 0:38 ` Kay Sievers [this message]
2012-05-11 1:23 ` Kay Sievers
2012-05-14 18:46 ` Kay Sievers
2012-05-10 21:01 ` Kay Sievers
2012-05-10 20:38 ` Kay Sievers
2012-05-09 9:38 ` Kay Sievers
2012-05-09 13:50 ` Joe Perches
2012-05-09 14:37 ` Kay Sievers
2012-05-09 23:02 ` Yinghai Lu
2012-05-09 23:06 ` Greg Kroah-Hartmann
2012-05-10 2:30 ` Kay Sievers
2012-05-11 10:35 ` Sasha Levin
2012-05-11 15:19 ` Greg KH
2012-05-11 15:22 ` Sasha Levin
2012-05-11 15:35 ` Linus Torvalds
2012-05-11 15:40 ` Kay Sievers
2012-05-11 15:47 ` Linus Torvalds
2012-05-11 19:51 ` Mark Lord
2012-05-11 20:02 ` Linus Torvalds
2012-05-12 18:04 ` Mark Lord
2012-05-12 7:43 ` Sasha Levin
2012-05-12 18:35 ` Linus Torvalds
2012-05-13 11:08 ` Kay Sievers
2012-05-13 13:22 ` Mark Lord
2012-05-13 18:01 ` Linus Torvalds
2012-05-13 22:19 ` Mark Lord
2012-05-14 16:40 ` valdis.kletnieks
2012-05-17 3:44 ` H. Peter Anvin
2012-05-13 21:48 ` Kay Sievers
2012-05-13 21:30 ` Kay Sievers
2012-05-26 11:11 ` Anton Vorontsov
2012-05-27 14:23 ` Kay Sievers
2012-05-29 16:07 ` Kay Sievers
2012-05-29 16:14 ` Joe Perches
2012-05-29 16:34 ` Kay Sievers
2012-05-29 16:51 ` Joe Perches
2012-05-29 17:11 ` Luck, Tony
2012-05-29 17:22 ` Kay Sievers
2012-05-30 11:29 ` Kay Sievers
2012-06-06 6:33 ` Greg Kroah-Hartmann
2012-06-15 0:04 ` Greg KH
2012-06-15 1:31 ` Anton Vorontsov
2012-06-15 12:07 ` Kay Sievers
2012-06-15 12:23 ` Ingo Molnar
2012-06-15 21:53 ` Greg KH
2012-06-15 12:23 ` Anton Vorontsov
2012-06-15 20:54 ` Tony Luck
2012-11-28 13:33 ` Michael Kerrisk
2012-11-28 16:22 ` Kay Sievers
2012-11-28 16:37 ` Linus Torvalds
2012-11-28 16:49 ` Kay Sievers
2012-11-28 17:51 ` Kay Sievers
2012-11-29 13:18 ` Michael Kerrisk (man-pages)
2012-11-29 13:28 ` Kay Sievers
2012-11-29 13:37 ` Michael Kerrisk (man-pages)
2012-11-29 14:08 ` Kay Sievers
2012-11-29 14:18 ` Michael Kerrisk (man-pages)
2012-11-29 14:31 ` Kay Sievers
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=1336696707.947.56.camel@mop \
--to=kay@vrfy.org \
--cc=corbet@lwn.net \
--cc=greg@kroah.com \
--cc=joe@perches.com \
--cc=levinsasha928@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
/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