From: Thomas Gleixner <tglx@linutronix.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christoph Lameter <cl@linux.com>,
Pekka Enberg <penberg@kernel.org>, Tejun Heo <tj@kernel.org>,
Ingo Molnar <mingo@elte.hu>, Jens Axboe <axboe@kernel.dk>,
Andrew Morton <akpm@linux-foundation.org>,
werner <w.landgraf@ru.ru>, "H. Peter Anvin" <hpa@zytor.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [block IO crash] Re: 2.6.39-rc5-git2 boot crashs
Date: Wed, 4 May 2011 23:40:33 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.02.1105042325500.3005@ionos> (raw)
In-Reply-To: <BANLkTimvxOMuPJ0W0npo5i3gwFqdRw74Pw@mail.gmail.com>
On Wed, 4 May 2011, Linus Torvalds wrote:
> On Wed, May 4, 2011 at 2:06 PM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > The problem is that cmpxchg *IS*NOT*AN*CMPXCHG*AT*ALL*. Not even on UP.
>
> Btw, the really sad thing is that as far as I can tell, the
> cmpxchg64_local() function that we define actually gets this *right*,
> with a helper function that actually works (and disables interrupts)
> and all the alternative_io() stuff to then use the right instruction
> automatically if the CPU supports it, rather than making it a
> hardcoded decision.
>
> But we don't use it, because the "percpu_cmpxchg8b_double()" code
> rolls its own inferior version, and has slightly different semantics
> (ie the whole "return value success" thing).
Yeah, I tripped over that as well. And the new shiny extra
CONFIG_CMPXCHG_DOUBLE misfeature Christoph nailed together is just
ignoring it as well. It's just more useless #ifdef and CONFIG bloat.
That whole this_cpu_* stuff seems to be designed by committee. A quick
grep shows that max. 10% of the implemented macro hell is actually
used. Can we get rid of all unused ones and bring them back when they
are actually required?
Thanks,
tglx
next prev parent reply other threads:[~2011-05-04 21:41 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-02 22:28 werner
2011-05-02 23:24 ` Linus Torvalds
[not found] ` <web-516990066@zbackend1.aha.ru>
2011-05-03 15:22 ` Linus Torvalds
2011-05-03 19:08 ` Ingo Molnar
2011-05-03 20:17 ` Linus Torvalds
2011-05-03 20:20 ` H. Peter Anvin
2011-05-03 20:50 ` Ingo Molnar
2011-05-03 21:45 ` Linus Torvalds
2011-05-03 22:01 ` H. Peter Anvin
2011-05-04 7:19 ` Borislav Petkov
2011-05-04 7:38 ` Ingo Molnar
2011-05-04 7:55 ` Borislav Petkov
2011-05-04 8:35 ` [block IO crash] " Ingo Molnar
2011-05-04 9:52 ` Thomas Gleixner
2011-05-04 10:19 ` Ingo Molnar
2011-05-04 10:25 ` Ingo Molnar
2011-05-04 10:33 ` Ingo Molnar
2011-05-04 12:37 ` Ingo Molnar
2011-05-04 12:36 ` Ingo Molnar
2011-05-04 11:11 ` Thomas Gleixner
2011-05-04 11:16 ` Pekka Enberg
2011-05-04 11:27 ` Tejun Heo
2011-05-04 12:51 ` Pekka Enberg
2011-05-04 12:57 ` Ingo Molnar
2011-05-04 13:02 ` Thomas Gleixner
2011-05-04 13:00 ` Thomas Gleixner
2011-05-04 13:20 ` Tejun Heo
2011-05-04 14:10 ` Thomas Gleixner
2011-05-04 14:14 ` Ingo Molnar
2011-05-04 14:36 ` [PATCH] slub: Fix the lockless code on 32-bit platforms with no 64-bit cmpxchg Ingo Molnar
2011-05-04 14:42 ` Christoph Lameter
2011-05-04 16:30 ` Ingo Molnar
2011-05-04 21:52 ` Ben Greear
2011-05-04 22:00 ` Linus Torvalds
2011-05-04 22:22 ` Ben Greear
2011-05-04 14:19 ` [block IO crash] Re: 2.6.39-rc5-git2 boot crashs Christoph Lameter
2011-05-04 14:25 ` Tejun Heo
2011-05-04 14:35 ` Christoph Lameter
2011-05-04 15:20 ` Ingo Molnar
2011-05-04 14:46 ` Thomas Gleixner
2011-05-04 15:00 ` Christoph Lameter
2011-05-04 15:13 ` Linus Torvalds
2011-05-04 15:28 ` Christoph Lameter
2011-05-04 15:37 ` Pekka Enberg
2011-05-04 15:53 ` Linus Torvalds
2011-05-04 18:20 ` Linus Torvalds
2011-05-04 18:49 ` Christoph Lameter
2011-05-04 19:07 ` Linus Torvalds
2011-05-04 19:30 ` Christoph Lameter
2011-05-04 19:38 ` Linus Torvalds
2011-05-04 20:04 ` Christoph Lameter
2011-05-04 20:21 ` Valdis.Kletnieks
2011-05-04 20:32 ` Christoph Lameter
2011-05-04 20:49 ` Ingo Molnar
2011-05-04 21:06 ` Linus Torvalds
2011-05-04 21:19 ` Linus Torvalds
2011-05-04 21:40 ` Thomas Gleixner [this message]
2011-05-05 9:54 ` Tejun Heo
2011-05-05 10:18 ` Ingo Molnar
2011-05-05 10:45 ` Thomas Gleixner
2011-05-05 18:20 ` Christoph Lameter
2011-05-05 19:13 ` Ingo Molnar
2011-05-05 19:53 ` werner
2011-05-05 20:09 ` Christoph Lameter
2011-05-05 21:12 ` werner
2011-05-05 22:27 ` Thomas Gleixner
[not found] ` <web-518008166@zbackend1.aha.ru>
[not found] ` <web-518059420@zbackend1.aha.ru>
[not found] ` <20110505060204.GA28015@elte.hu>
2011-05-05 6:46 ` werner
2011-05-04 15:37 ` [block IO crash] " Linus Torvalds
2011-05-04 16:08 ` Christoph Lameter
2011-05-04 16:50 ` Ingo Molnar
2011-05-04 17:12 ` Thomas Gleixner
2011-05-04 15:41 ` Pekka Enberg
2011-05-04 13:22 ` Ingo Molnar
2011-05-04 14:21 ` Christoph Lameter
2011-05-04 14:04 ` Christoph Lameter
2011-05-04 14:07 ` Tejun Heo
2011-05-04 14:21 ` Thomas Gleixner
2011-05-04 10:13 ` Ingo Molnar
2011-05-04 10:41 ` Ingo Molnar
2011-05-04 10:45 ` Ingo Molnar
2011-05-04 11:06 ` Ingo Molnar
2011-05-04 12:37 ` Ingo Molnar
2011-05-04 12:47 ` Ingo Molnar
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=alpine.LFD.2.02.1105042325500.3005@ionos \
--to=tglx@linutronix.de \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=cl@linux.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=penberg@kernel.org \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=w.landgraf@ru.ru \
/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