qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "andrzej zaborowski" <balrogg@gmail.com>
To: "J. Mayer" <l_indien@magic.fr>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] RFC: fix for random Qemu crashes
Date: Sat, 17 Nov 2007 11:57:42 +0100	[thread overview]
Message-ID: <fb249edb0711170257g9cf9bbn81d691c991b2434e@mail.gmail.com> (raw)
In-Reply-To: <1195257843.5335.15.camel@rapid>

On 17/11/2007, J. Mayer <l_indien@magic.fr> wrote:
>
> On Fri, 2007-11-16 at 21:32 +0100, andrzej zaborowski wrote:
> > On 16/11/2007, Jocelyn Mayer <l_indien@magic.fr> wrote:
> > >
> > > On Fri, 2007-11-16 at 15:52 +0000, Paul Brook wrote:
> > > > > Then, I choosed to replace 'inline' by 'always_inline', which is more
> > > > > invasive but have less risks of side effects. The diff is attached in
> > > > > always_inline.diff.
> > > > > The last thing that helps solve the problem is to change the inlining
> > > > > limits of gcc, at least to compile the op.o file.
> > > >
> > > > Presumably we only need one of the last two patches? It seems rather pointless
> > > > to have always_inline *and* change the inlining heuristics.
> > >
> > > >From the tests I made, it seems that adding always_inline helps but
> > > unfortunatelly does not solve all cases. Should check in the gcc source
> > > code why it is so...
> > >
> > > > I'm ok with using always_inline for op.o (and things it uses directly) as this
> > > > is required for correctness. I'm not convinced that that using always_inline
> > > > everywhere is such a good idea.
> > >
> > > That's exactly what I did: I changed 'inline' to 'always_inline' in
> > > headers that are included by op.c, I did not made any change in other
> > > headers.
> >
> > I think a line like
> >
> > #define inline __attribute__ (( always_inline )) inline
> >
> > in dyngen-exec.h should be
>
> As I already pointed it in the first message of the thread, this kind of
> define would expand recursivelly, which is particullary ugly, and which
> can in some cases lead to compiler warnings or errors. I already had
> this kind of problems using the linux kernel headers which preciselly
> uses this definitition.

My point here is that you can use dyngen-exec.h for the macro so that
the functions are only always_inline'd when used in op.c, not in other
files, I think that's what pbrook mean too. For example cpsr_write
from target-arm/exec.h was used in op.c as well as in vl.c. There's no
problem if it isn't inlined in vl.c, the fix should only affect op.c
which is a special case, for other files let gcc decide in the way it
was designed by gcc authors.

> But, once again, adding always_inline to functions does not completelly
> solve the problem (please read the thread !) or at least does not solves
> it with all gcc versions.

Yes, I'm not saying anything about the other part.
Regards

  parent reply	other threads:[~2007-11-17 10:57 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-15 23:18 [Qemu-devel] RFC: fix for random Qemu crashes J. Mayer
2007-11-15 23:49 ` andrzej zaborowski
2007-11-16  0:09   ` J. Mayer
2007-11-16 15:06 ` Heikki Lindholm
2007-11-16 15:35   ` Jocelyn Mayer
2007-11-16 15:42     ` Heikki Lindholm
2007-11-16 16:34       ` Jocelyn Mayer
2007-11-16 15:59   ` Jamie Lokier
2007-11-16 20:13     ` Jocelyn Mayer
2007-11-16 15:52 ` Paul Brook
2007-11-16 16:05   ` Jocelyn Mayer
2007-11-16 20:32     ` andrzej zaborowski
2007-11-17  0:04       ` J. Mayer
2007-11-17  2:58         ` [Qemu-devel] " Ben Pfaff
2007-11-17  8:22           ` J. Mayer
2007-11-17 10:57         ` andrzej zaborowski [this message]
2007-11-17 11:13           ` [Qemu-devel] " J. Mayer
  -- strict thread matches above, loose matches on Subject: below --
2007-11-18 15:48 [Qemu-devel] [RFC] Fix " J. Mayer

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=fb249edb0711170257g9cf9bbn81d691c991b2434e@mail.gmail.com \
    --to=balrogg@gmail.com \
    --cc=l_indien@magic.fr \
    --cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).