Re: [PATCH] [5/12] x86_64: Make patching more robust, fix paravirt issue

From: Andi Kleen
Date: Tue Aug 21 2007 - 06:29:51 EST


On Tue, Aug 21, 2007 at 04:30:10AM -0300, Glauber de Oliveira Costa wrote:
> On 8/20/07, Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
> > Chris Wright wrote:
> > > That did get backed out (at least the part that broke paravirt patching)
> > > in 602033ed5907a59ce86f709082a35be047743a86. Linus' tree should be
> > > working fine right now with d34fda4a84c18402640a1a2342d6e6d9829e6db7
> > > committed, and can be further refined with the patch below that's just
> > > waiting on some further testing.
> > >
> >
> > I don't think this is necessary. It isn't worth complicating the
> > interface to avoid the memcpy.
> >
> > J
> Damn,
>
> I can't believe I've just lost a night tracking the issue, without
> seeing the discussion here ;-)
> I came out to this very same conclusion, and was about to send a patch
> that fixes it, by doing a memcpy before starting the instruction
> replacement.
>
> (I wouldn't say anything, as this is solved, but my night have to get
> some value, after all! ;-)
>
> So I'm with Jeremy. We don't lose too much by putting a memcpy there,
> this code is not exactly critical. It also seems cleaner, and less
> error prone. I have a patch ready here, but I think by this time, you
> guys have too ;-)

x86-64 also has a __inline_memcpy that is guaranteed inlined. It was
originally for such cases when memcpy didn't work. Could be added to i386
too if there is need

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/