From: Ingo Molnar <mingo@elte.hu>
To: Gene Heskett <gene.heskett@verizon.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [patch] Real-Time Preemption, -RT-2.6.12-rc6-V0.7.48-00
Date: Sat, 25 Jun 2005 06:41:29 +0200 [thread overview]
Message-ID: <20050625044129.GA12440@elte.hu> (raw)
In-Reply-To: <200506220927.07874.gene.heskett@verizon.net>
* Gene Heskett <gene.heskett@verizon.net> wrote:
> I can report that mode 4 is not at all well here. I turned it on and
> changed the extraversion, built it, and when it booted, it got to this
> line and hung:
>
> Checking to see if this processor honours the WP bit even in
> supervisor mode... OK.
ok, could you try the patch below, ontop of whatever tree hung for you?
Ingo
----
tree ca8b6bbafab35c5c1099c54696c36dc0b8c17cf7
parent 59a49e38711a146dc0bef4837c825b5422335460
author Linus Torvalds <torvalds@ppc970.osdl.org> Sat, 25 Jun 2005 00:39:17 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Sat, 25 Jun 2005 00:39:17 -0700
Add "memory" clobbers to the x86 inline asm of strncmp and friends
They don't actually clobber memory, but gcc doesn't even know they
_read_ memory, so can apparently re-order memory accesses around them.
Which obviously does the wrong thing if the memory access happens to
change the memory that the compare function is accessing..
Verified to fix a strange boot problem by Jens Axboe.
include/asm-i386/string.h | 32 ++++++++++++++++++++++----------
1 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/include/asm-i386/string.h b/include/asm-i386/string.h
--- a/include/asm-i386/string.h
+++ b/include/asm-i386/string.h
@@ -116,7 +116,8 @@ __asm__ __volatile__(
"orb $1,%%al\n"
"3:"
:"=a" (__res), "=&S" (d0), "=&D" (d1)
- :"1" (cs),"2" (ct));
+ :"1" (cs),"2" (ct)
+ :"memory");
return __res;
}
@@ -138,8 +139,9 @@ __asm__ __volatile__(
"3:\tsbbl %%eax,%%eax\n\t"
"orb $1,%%al\n"
"4:"
- :"=a" (__res), "=&S" (d0), "=&D" (d1), "=&c" (d2)
- :"1" (cs),"2" (ct),"3" (count));
+ :"=a" (__res), "=&S" (d0), "=&D" (d1), "=&c" (d2)
+ :"1" (cs),"2" (ct),"3" (count)
+ :"memory");
return __res;
}
@@ -158,7 +160,9 @@ __asm__ __volatile__(
"movl $1,%1\n"
"2:\tmovl %1,%0\n\t"
"decl %0"
- :"=a" (__res), "=&S" (d0) : "1" (s),"0" (c));
+ :"=a" (__res), "=&S" (d0)
+ :"1" (s),"0" (c)
+ :"memory");
return __res;
}
@@ -175,7 +179,9 @@ __asm__ __volatile__(
"leal -1(%%esi),%0\n"
"2:\ttestb %%al,%%al\n\t"
"jne 1b"
- :"=g" (__res), "=&S" (d0), "=&a" (d1) :"0" (0),"1" (s),"2" (c));
+ :"=g" (__res), "=&S" (d0), "=&a" (d1)
+ :"0" (0),"1" (s),"2" (c)
+ :"memory");
return __res;
}
@@ -189,7 +195,9 @@ __asm__ __volatile__(
"scasb\n\t"
"notl %0\n\t"
"decl %0"
- :"=c" (__res), "=&D" (d0) :"1" (s),"a" (0), "0" (0xffffffffu));
+ :"=c" (__res), "=&D" (d0)
+ :"1" (s),"a" (0), "0" (0xffffffffu)
+ :"memory");
return __res;
}
@@ -333,7 +341,9 @@ __asm__ __volatile__(
"je 1f\n\t"
"movl $1,%0\n"
"1:\tdecl %0"
- :"=D" (__res), "=&c" (d0) : "a" (c),"0" (cs),"1" (count));
+ :"=D" (__res), "=&c" (d0)
+ :"a" (c),"0" (cs),"1" (count)
+ :"memory");
return __res;
}
@@ -369,7 +379,7 @@ __asm__ __volatile__(
"je 2f\n\t"
"stosb\n"
"2:"
- : "=&c" (d0), "=&D" (d1)
+ :"=&c" (d0), "=&D" (d1)
:"a" (c), "q" (count), "0" (count/4), "1" ((long) s)
:"memory");
return (s);
@@ -392,7 +402,8 @@ __asm__ __volatile__(
"jne 1b\n"
"3:\tsubl %2,%0"
:"=a" (__res), "=&d" (d0)
- :"c" (s),"1" (count));
+ :"c" (s),"1" (count)
+ :"memory");
return __res;
}
/* end of additional stuff */
@@ -473,7 +484,8 @@ static inline void * memscan(void * addr
"dec %%edi\n"
"1:"
: "=D" (addr), "=c" (size)
- : "0" (addr), "1" (size), "a" (c));
+ : "0" (addr), "1" (size), "a" (c)
+ : "memory");
return addr;
}
next prev parent reply other threads:[~2005-06-25 4:42 UTC|newest]
Thread overview: 139+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-08 11:28 [patch] Real-Time Preemption, -RT-2.6.12-rc6-V0.7.48-00 Ingo Molnar
2005-06-08 14:18 ` Michal Schmidt
2005-06-08 14:40 ` Keith Owens
2005-06-08 14:41 ` Paulo Marques
2005-06-08 15:04 ` Michal Schmidt
2005-06-08 15:23 ` Keith Owens
2005-06-08 15:56 ` Paulo Marques
2005-06-08 14:32 ` Michal Schmidt
2005-06-08 15:48 ` K.R. Foley
2005-06-08 16:08 ` K.R. Foley
2005-06-08 16:26 ` K.R. Foley
2005-06-08 17:26 ` K.R. Foley
2005-06-08 19:18 ` Ingo Molnar
2005-06-09 11:39 ` Ingo Molnar
2005-06-10 13:34 ` K.R. Foley
2005-06-09 8:47 ` Serge Noiraud
2005-06-09 11:55 ` Ingo Molnar
2005-06-09 15:12 ` Serge Noiraud
2005-06-09 16:34 ` Daniel Walker
2005-06-13 8:53 ` Serge Noiraud
2005-06-13 9:07 ` Ingo Molnar
2005-06-08 17:51 ` Michal Schmidt
2005-06-09 11:45 ` Ingo Molnar
2005-06-09 12:09 ` Michal Schmidt
2005-06-09 12:13 ` Ingo Molnar
2005-06-09 12:48 ` Michal Schmidt
2005-06-10 8:56 ` Esben Nielsen
2005-06-08 19:58 ` Daniel Walker
2005-06-09 21:24 ` Michal Schmidt
2005-06-09 21:34 ` Michal Schmidt
2005-06-11 7:32 ` Ingo Molnar
2005-06-11 8:10 ` Ingo Molnar
2005-06-11 16:35 ` Peter Zijlstra
2005-06-11 18:48 ` Ingo Molnar
2005-06-11 21:14 ` Peter Zijlstra
2005-06-12 1:40 ` Gene Heskett
2005-06-12 6:49 ` Ingo Molnar
2005-06-12 9:02 ` Gene Heskett
2005-06-12 10:35 ` Ingo Molnar
2005-06-12 13:40 ` Gene Heskett
2005-06-12 13:49 ` Ingo Molnar
2005-06-12 14:23 ` Gene Heskett
2005-06-13 2:11 ` Gene Heskett
2005-06-13 6:09 ` Ingo Molnar
2005-06-13 8:37 ` Gene Heskett
2005-06-14 18:24 ` K.R. Foley
2005-06-14 18:54 ` Ingo Molnar
2005-06-14 22:45 ` Daniel Walker
2005-06-15 6:12 ` Ingo Molnar
2005-06-15 9:13 ` Esben Nielsen
2005-06-14 20:37 ` Paul E. McKenney
2005-06-16 3:51 ` K.R. Foley
2005-06-16 7:29 ` Ingo Molnar
2005-06-16 11:22 ` K.R. Foley
2005-06-16 17:32 ` Ingo Molnar
2005-06-16 17:59 ` K.R. Foley
2005-06-16 20:37 ` K.R. Foley
2005-06-17 11:08 ` Ingo Molnar
2005-06-16 20:43 ` Ingo Molnar
2005-06-17 2:06 ` Gene Heskett
2005-06-17 4:53 ` Gene Heskett
2005-06-17 11:18 ` Ingo Molnar
2005-06-17 14:12 ` K.R. Foley
2005-06-17 15:33 ` K.R. Foley
2005-06-17 19:28 ` William Weston
2005-06-17 21:30 ` William Weston
2005-06-18 12:28 ` Ingo Molnar
2005-06-21 1:18 ` William Weston
2005-06-23 2:05 ` William Weston
2005-06-23 7:56 ` Ingo Molnar
2005-06-23 13:45 ` Gene Heskett
2005-06-21 13:10 ` Ingo Molnar
2005-06-21 19:08 ` William Weston
2005-06-21 20:17 ` Benjamin LaHaise
2005-06-21 20:37 ` William Weston
2005-06-21 20:48 ` Benjamin LaHaise
2005-06-22 2:42 ` Gene Heskett
2005-06-22 7:40 ` Ingo Molnar
2005-06-22 13:27 ` Gene Heskett
2005-06-22 13:51 ` Gene Heskett
2005-06-22 14:08 ` Gene Heskett
2005-06-25 4:41 ` Ingo Molnar [this message]
2005-06-25 4:47 ` Ingo Molnar
2005-06-25 5:39 ` Gene Heskett
2005-06-25 7:26 ` Gene Heskett
2005-06-25 9:12 ` Ingo Molnar
2005-06-25 13:19 ` Gene Heskett
2005-06-25 14:39 ` Gene Heskett
2005-06-27 19:01 ` Real-Time Preemption, -RT-2.6.12-final-V0.7.50-24 Chuck Harding
2005-06-27 19:42 ` Chuck Harding
2005-06-27 21:08 ` Gene Heskett
2005-06-27 20:09 ` Daniel Walker
2005-06-27 20:28 ` Chuck Harding
2005-06-28 0:50 ` Daniel Walker
2005-06-28 7:53 ` Steven Rostedt
2005-06-28 8:18 ` Ingo Molnar
2005-06-28 8:34 ` Steven Rostedt
2005-06-28 9:12 ` Ingo Molnar
2005-06-28 15:26 ` Michal Schmidt
2005-06-28 15:31 ` Ingo Molnar
2005-06-28 18:50 ` Chuck Harding
2005-06-28 22:16 ` Chuck Harding
2005-06-29 0:32 ` Chuck Harding
2005-06-28 15:54 ` Daniel Walker
2005-06-21 13:12 ` [patch] Real-Time Preemption, -RT-2.6.12-rc6-V0.7.48-00 Ingo Molnar
[not found] ` <Pine.LNX.4.58.0506211228210.16701@echo.lysdexia.org>
2005-06-22 8:03 ` Ingo Molnar
2005-06-22 8:24 ` Ingo Molnar
2005-06-22 10:08 ` Ingo Molnar
2005-06-22 21:53 ` William Weston
2005-06-22 22:00 ` Ingo Molnar
2005-06-22 23:06 ` William Weston
2005-06-23 0:10 ` Ingo Molnar
2005-06-23 22:11 ` William Weston
2005-06-24 1:46 ` William Weston
2005-06-24 7:06 ` Ingo Molnar
2005-06-24 22:31 ` William Weston
2005-06-25 4:14 ` Ingo Molnar
2005-06-27 4:21 ` William Weston
2005-06-27 8:15 ` Ingo Molnar
2005-06-28 3:32 ` William Weston
2005-06-28 8:10 ` Ingo Molnar
2005-06-28 11:15 ` Ingo Molnar
[not found] ` <Pine.LNX.4.58.0506281745040.10406@echo.lysdexia.org>
2005-06-29 12:54 ` Ingo Molnar
2005-06-30 0:29 ` William Weston
2005-06-27 5:43 ` Gene Heskett
2005-06-27 8:17 ` Ingo Molnar
2005-06-27 17:29 ` Gene Heskett
2005-06-27 19:54 ` Ingo Molnar
2005-06-27 21:17 ` Gene Heskett
2005-06-28 8:28 ` Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2005-06-08 14:02 kus Kusche Klaus
2005-06-08 14:14 ` Thomas Gleixner
2005-06-08 15:49 ` Daniel Walker
2005-06-08 15:50 ` Ingo Molnar
2005-06-08 16:23 ` Thomas Gleixner
2005-06-08 17:29 ` Daniel Walker
2005-06-08 19:24 ` Ingo Molnar
2005-06-12 9:29 Zoltan Boszormenyi
2005-06-12 10:39 ` 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=20050625044129.GA12440@elte.hu \
--to=mingo@elte.hu \
--cc=gene.heskett@verizon.net \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox