From: Linus Torvalds <torvalds@osdl.org>
To: linux-ia64@vger.kernel.org
Subject: RE: git pull on ia64 linux tree
Date: Mon, 12 Sep 2005 03:37:07 +0000 [thread overview]
Message-ID: <Pine.LNX.4.58.0509112025410.3242@g5.osdl.org> (raw)
In-Reply-To: <200504222203.j3MM3fV17003@unix-os.sc.intel.com>
On Sun, 11 Sep 2005, Linus Torvalds wrote:
>
> Everything Keith says about MCA/INIT is true on x86 about NMI's. That has
> nothing to do with "currently runnable process". And it sure as hell
> doesn't mean that you'd _change_ the kernel notion of what the currently
> runnable process is.
I don't think ia64 people realize how _wrong_ it is to just switch ->curr
around. It doesn't matter if you "set it back" when the MCA ends: it may
look atomic wrt _that_ CPU, but you're doing things that are fundamentally
illegal.
For example, if one CPU starts messing around with cpu_curr() on that CPU,
another CPU may be doing "task_rq_lock()" on a task that is currently
running on that CPU.
THAT CPU MUST NOT CHANGE THE "current process" WITHOUT GETTING THE
RUNQUEUE LOCK! Other CPU's are looking at it, and the scheduler uses
rq->curr to decide whether to wake stuff up or not etc.
In other words, anybody who changes rq->curr without getting the lock IS
BUGGY.
And even if it wasn't horribly buggy, it's just conceptually really really
wrong.
Unless somebody can convince me otherwise (and quite frankly, I doubt you
can) I'm going to remove at _least_ the function that writes ->curr
(set_curr_task()) tomorrow.
I might leave the one that reads it, although quite frankly, I don't see
the point of that one either, but at least it's not totally broken in
theory (although reading the value without having locked the rq is
unreliable unless "cpu = currentcpu").
So you'd better re-architect that ia64 bug, or have a damn good reason for
the crap code that convinces me that you're not just doing some seriously
damaging drugs.
And yes, I'm upset, because quite frankly, I'd have expected people to
have better taste. Trying to pass off something like this is just
inexcusable.
Linus
next prev parent reply other threads:[~2005-09-12 3:37 UTC|newest]
Thread overview: 151+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-22 22:03 git pull on ia64 linux tree tony.luck
2005-04-22 22:34 ` Linus Torvalds
2005-04-24 5:02 ` Sanjoy Mahajan
2005-04-25 21:31 ` tony.luck
2005-04-25 21:50 ` Luck, Tony
2005-07-07 16:01 ` Luck, Tony
2005-08-17 17:57 ` Luck, Tony
2005-08-23 15:01 ` Luck, Tony
2005-08-30 23:27 ` Luck, Tony
2005-08-31 3:10 ` Keith Owens
2005-08-31 3:56 ` Tony Luck
2005-08-31 11:28 ` Robin Holt
2005-09-11 22:43 ` Luck, Tony
2005-09-11 22:56 ` Linus Torvalds
2005-09-12 0:17 ` Keith Owens
2005-09-12 1:11 ` Luck, Tony
2005-09-12 3:19 ` Linus Torvalds
2005-09-12 3:24 ` Linus Torvalds
2005-09-12 3:37 ` Linus Torvalds [this message]
2005-09-12 4:05 ` Linus Torvalds
2005-09-12 4:39 ` Keith Owens
2005-09-12 14:49 ` Linus Torvalds
2005-09-12 15:13 ` Keith Owens
2005-09-12 17:51 ` David Mosberger-Tang
2005-10-11 22:11 ` Luck, Tony
2005-10-28 23:52 ` Luck, Tony
2005-10-28 23:57 ` Linus Torvalds
2005-10-29 0:01 ` Luck, Tony
2005-10-31 19:31 ` Luck, Tony
2005-11-07 22:09 ` Luck, Tony
2005-11-09 5:52 ` Luck, Tony
2005-11-10 23:27 ` Luck, Tony
2005-11-11 20:07 ` Luck, Tony
2005-11-29 21:56 ` Luck, Tony
2005-12-12 18:20 ` Luck, Tony
2005-12-13 20:12 ` Luck, Tony
2005-12-14 21:40 ` Luck, Tony
2005-12-16 21:12 ` Luck, Tony
2006-01-05 22:09 ` Luck, Tony
2006-01-14 13:43 ` Luck, Tony
2006-01-17 4:30 ` Luck, Tony
2006-01-20 0:03 ` Luck, Tony
2006-02-09 0:36 ` Luck, Tony
2006-02-10 0:56 ` Luck, Tony
2006-02-17 0:13 ` Luck, Tony
2006-02-28 19:03 ` Luck, Tony
2006-03-08 19:54 ` Luck, Tony
2006-03-08 20:01 ` Matthew Wilcox
2006-03-08 20:47 ` Luck, Tony
2006-03-08 21:56 ` Bjorn Helgaas
2006-03-09 9:50 ` Jes Sorensen
2006-03-11 0:34 ` Luck, Tony
2006-03-21 18:55 ` Luck, Tony
2006-03-24 22:57 ` Luck, Tony
2006-03-24 23:01 ` Luck, Tony
2006-03-26 19:01 ` Chen, Kenneth W
2006-03-27 0:16 ` KAMEZAWA Hiroyuki
2006-03-30 18:42 ` Luck, Tony
2006-04-01 1:11 ` Luck, Tony
2006-04-10 18:58 ` Luck, Tony
2006-04-13 23:01 ` Luck, Tony
2006-04-27 23:38 ` Luck, Tony
2006-05-05 20:04 ` Luck, Tony
2006-05-17 21:16 ` Luck, Tony
2006-06-23 22:24 ` Luck, Tony
2006-06-28 19:03 ` Luck, Tony
2006-08-03 19:18 ` Luck, Tony
2006-08-04 18:20 ` Luck, Tony
2006-08-29 17:39 ` Luck, Tony
2006-09-08 19:11 ` Luck, Tony
2006-09-27 0:15 ` Luck, Tony
2006-10-06 17:46 ` Luck, Tony
2006-10-06 18:09 ` Linus Torvalds
2006-10-18 15:52 ` Luck, Tony
2006-11-01 0:56 ` Luck, Tony
2006-11-16 19:30 ` Luck, Tony
2006-12-07 0:10 ` Luck, Tony
2006-12-07 23:13 ` Luck, Tony
2006-12-07 23:35 ` Luck, Tony
2006-12-13 2:04 ` Luck, Tony
2006-12-13 19:11 ` Luck, Tony
2006-12-13 21:58 ` Luck, Tony
2007-02-07 0:55 ` Luck, Tony
2007-03-07 0:35 ` Luck, Tony
2007-03-07 0:54 ` Luck, Tony
2007-03-08 1:09 ` Luck, Tony
2007-03-10 1:02 ` Luck, Tony
2007-03-20 22:11 ` Luck, Tony
2007-03-30 2:30 ` Luck, Tony
2007-04-10 20:58 ` Luck, Tony
2007-05-07 16:54 ` Luck, Tony
2007-05-08 1:13 ` Zou Nan hai
2007-05-08 7:26 ` Simon Horman
2007-05-09 2:41 ` Zou Nan hai
2007-05-09 20:28 ` Luck, Tony
2007-05-11 18:09 ` Luck, Tony
2007-05-16 17:45 ` Luck, Tony
2007-05-22 20:13 ` Luck, Tony
2007-05-24 23:41 ` Luck, Tony
2007-06-27 15:45 ` Luck, Tony
2007-07-12 0:04 ` Luck, Tony
2007-07-17 16:35 ` Luck, Tony
2007-07-20 18:54 ` Luck, Tony
2007-07-20 19:06 ` Linus Torvalds
2007-07-25 21:40 ` Luck, Tony
2007-07-27 23:40 ` Luck, Tony
2007-08-01 22:22 ` Luck, Tony
2007-08-17 23:25 ` Luck, Tony
2007-08-30 23:03 ` Luck, Tony
2007-08-31 4:50 ` Linus Torvalds
2007-08-31 8:37 ` Linus Torvalds
2007-08-31 8:53 ` Thomas Gleixner
2007-08-31 18:46 ` john stultz
2007-09-01 10:14 ` Luck, Tony
2007-09-01 10:19 ` Luck, Tony
2007-09-04 7:44 ` Linus Torvalds
2007-10-15 16:35 ` Luck, Tony
2007-10-15 22:21 ` Luck, Tony
2007-10-16 21:49 ` Luck, Tony
2007-10-17 22:06 ` Luck, Tony
2007-10-30 18:46 ` Luck, Tony
2007-11-09 23:09 ` Luck, Tony
2007-12-10 21:37 ` Luck, Tony
2007-12-10 22:45 ` Linus Torvalds
2007-12-10 23:07 ` Luck, Tony
2007-12-10 23:21 ` Luck, Tony
2007-12-11 3:11 ` Linus Torvalds
2007-12-11 17:45 ` Luck, Tony
2007-12-19 22:01 ` Luck, Tony
2008-01-03 23:07 ` Luck, Tony
2008-02-05 18:10 ` Luck, Tony
2008-02-06 4:45 ` Christoph Hellwig
2008-02-06 17:37 ` Luck, Tony
2008-02-07 8:49 ` Petr Tesarik
2008-02-07 8:49 ` Christoph Hellwig
2008-02-08 22:46 ` Luck, Tony
2008-02-09 5:04 ` Christoph Hellwig
2008-02-11 7:37 ` Petr Tesarik
2008-03-05 0:12 ` Luck, Tony
2008-03-07 0:19 ` Luck, Tony
2005-04-27 22:11 Luck, Tony
2005-04-27 22:35 ` Linus Torvalds
2005-04-27 22:58 ` Petr Baudis
2005-04-27 23:19 ` Linus Torvalds
2005-04-27 23:36 ` Linus Torvalds
2005-04-28 0:07 ` Petr Baudis
2005-04-28 0:21 ` Linus Torvalds
2005-04-28 0:33 ` Petr Baudis
2005-04-28 1:08 ` Linus Torvalds
2005-04-28 1:24 ` Petr Baudis
2005-04-28 1:13 ` Edgar Toernig
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=Pine.LNX.4.58.0509112025410.3242@g5.osdl.org \
--to=torvalds@osdl.org \
--cc=linux-ia64@vger.kernel.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.