From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: Arjan van de Ven <arjan@infradead.org>
Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 0/8] Immediate Values
Date: Sun, 12 Aug 2007 17:14:16 -0400 [thread overview]
Message-ID: <20070812211416.GA10051@Krystal> (raw)
In-Reply-To: <1186952324.2854.21.camel@laptopd505.fenrus.org>
* Arjan van de Ven (arjan@infradead.org) wrote:
> > >
> > > I have a concern; you seem to be patching potentially "live" code....
> > >
> > > there are basically two options
> > > 1) you run the risk of triple faulting (patching an instruction while
> > > some other core/cpu may be decoding it may cause a triple fault)
> > > 2) you do an IPI to all other cpus and prevent them from executing any
> > > code except a small loop during the patching... this is expensive.
> > >
> > > To be honest, neither sound very attractive to me ;(
> > >
> >
> > Yup, the concern is appropriate. That's why I dealt with it in the
> > "Immediate Values - i386 Optimization" patch. (I guess your concern
> > is specific to i386, x86_64 and ia64).
>
> it's specific to all smp architectures I suppose
I would wait to see the references before doing such presumptions..
AFAIK, powerpc does not suffer from such problems. I have also seen
nothing of this kind about AMD processors, so it seems to be Intel
specific.
> >
> > I have currently only implemented the i386 optimization, but x86_64 and
> > ia64 should be similar.
> >
> > The triple fault in question is discussed in Intel's errata under the
> > title "Centrino Duo Processor Technology Specification Update, AH33.
> > Unsynchronized Cross-Modifying Code Operations Can Cause Unexpected
> > Instruction Execution Results." (if you refer to something else, please
> > tell me).
>
> Core2DUO is only one generation of Intel processors; however I know that
> several other (if not all of them) have issues with this kind of thing
> in ring 0; all subtly different ;(
>
Yes, this errata can be found starting at the Pentium III (as explained
in my patch). Can you elaborate a little more on the differences ? From
what I have seem, the basic problem is always the same from PIII to
core2 Duo: instruction prefetch.
> All other alternatives are ok right now (they all run in UP mode),
> but... I'm just very nervous about the amount of CPU errata in this kind
> of scenario. And I'm not just talking Intel, I wouldn't be surprised if
> the other x86 CPU vendors also have issues with this; I don't know how
> well they specify their errata though..
>
>
You seem to be pointing out to a lot of erratas, when there is, from
what I reckon, only one (basically the same) from PIII to Core 2 Duo,
which is Intel specific. I have looked around and ia64 also seems to be
affected by this. Can you point us out to other documentation sources
please ?
Mathieu
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
next prev parent reply other threads:[~2007-08-12 21:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-12 15:07 [patch 0/8] Immediate Values Mathieu Desnoyers
2007-08-12 15:07 ` [patch 1/8] Immediate Values - Global Modules List and Module Mutex Mathieu Desnoyers
2007-08-12 15:07 ` [patch 2/8] Immediate Values - Architecture Independent Code Mathieu Desnoyers
2007-08-13 20:51 ` Alexey Dobriyan
2007-08-16 16:02 ` Mathieu Desnoyers
2007-08-12 15:07 ` [patch 3/8] Immediate Values - Kconfig menu in EMBEDDED Mathieu Desnoyers
2007-08-12 15:07 ` [patch 4/8] Immediate Values - Move Kprobes i386 restore_interrupt to kdebug.h Mathieu Desnoyers
2007-08-12 15:07 ` [patch 5/8] Immediate Values - i386 Optimization Mathieu Desnoyers
2007-08-13 3:23 ` [PATCH] Immediate Values - i386 Optimization - fix warnings Mathieu Desnoyers
2007-08-12 15:07 ` [patch 6/8] Immediate Values - Powerpc Optimization Mathieu Desnoyers
2007-08-12 15:07 ` [patch 7/8] Immediate Values - Documentation Mathieu Desnoyers
2007-08-12 15:07 ` [patch 8/8] Scheduler Profiling - Use Immediate Values Mathieu Desnoyers
2007-08-12 18:27 ` [patch 0/8] " Arjan van de Ven
2007-08-12 18:55 ` Mathieu Desnoyers
2007-08-12 20:58 ` Arjan van de Ven
2007-08-12 21:14 ` Mathieu Desnoyers [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-08-20 20:23 Mathieu Desnoyers
2007-08-27 15:59 Mathieu Desnoyers
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=20070812211416.GA10051@Krystal \
--to=mathieu.desnoyers@polymtl.ca \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--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 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.