qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: Blue Swirl <blauwirbel@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PULL 0/3] 128-bit support for the memory API
Date: Wed, 02 Nov 2011 12:17:50 +0200	[thread overview]
Message-ID: <4EB118CE.5080507@redhat.com> (raw)
In-Reply-To: <4EAFF8A9.8050302@suse.de>

On 11/01/2011 03:48 PM, Andreas Färber wrote:
> > 
> > Since it's just internal, I'll just pull this series and if we want to
> > change it post 1.0, we can.
>
> FWIW I must say I don't like where this is heading... iiuc just because
> of a zero-or-full-64-bits issue with start+end 

It's not just that issue.

> we're doubling the
> internal storage format for all memory ranges. 

It's not doubled, since the MemoryRegion structure has many other
members.  And anyway there are too few such structures to matter.

On the other hand, when we get to rewrite the core we can eliminate the
PageDesc array at 16 bytes per guest page, that is a really significant
saving.

> If having the size
> unsigned would eliminate the overflow issue at hand, can't we move the
> signedness to some flag field instead?

You mean a 65-bit integer?

> I don't see a problem with using macros/inlines, just with the seemingly
> unnecessary 128-bitness. In particular I'm thinking of ARM.

We could rename Int128 something like AddrArith and make it 64-bit for
archs with 32-bit target_phys_addr_t.  However I don't think there's
much point.  This code is executed very rarely, at initialization time
and when the physical address map changes (like when mapping a BAR). 
There's no point in optimizing it (and every point for making it robust).

> Since this seems to be addressing an overflow bug in ppc64, the
> hard-freeze date shouldn't make us rush this IMO.

The bug it fixes is actually in code not yet merged.  But I'm certain
there are more lurking in there, we're taking guest supplied 64-bit
values and using 64-bit arithmetic on them.  It has to overflow.

-- 
error compiling committee.c: too many arguments to function

  reply	other threads:[~2011-11-02 10:17 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-30 14:02 [Qemu-devel] [PULL 0/3] 128-bit support for the memory API Avi Kivity
2011-10-30 14:02 ` [Qemu-devel] [PATCH 1/3] Add support for 128-bit arithmetic Avi Kivity
2011-10-30 14:02 ` [Qemu-devel] [PATCH 2/3] memory: use 128-bit integers for sizes and intermediates Avi Kivity
2011-10-30 14:02 ` [Qemu-devel] [PATCH 3/3] Adjust system and pci address spaces to full 64-bit Avi Kivity
2011-10-30 14:12 ` [Qemu-devel] [PULL 0/3] 128-bit support for the memory API Anthony Liguori
2011-10-30 14:19   ` Avi Kivity
2011-10-30 14:59     ` Blue Swirl
2011-10-30 15:10       ` Avi Kivity
2011-10-31  0:36     ` David Gibson
2011-10-31 10:27       ` Avi Kivity
2011-10-31 16:05 ` Anthony Liguori
2011-11-01  0:54   ` David Gibson
2011-11-01  8:43     ` Avi Kivity
2011-11-01 12:59       ` Anthony Liguori
2011-11-01 13:48         ` Andreas Färber
2011-11-02 10:17           ` Avi Kivity [this message]
2011-11-01 18:08 ` Anthony Liguori
2011-11-02 10:10   ` Avi Kivity
2011-11-03 13:09     ` Anthony Liguori

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=4EB118CE.5080507@redhat.com \
    --to=avi@redhat.com \
    --cc=afaerber@suse.de \
    --cc=blauwirbel@gmail.com \
    --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).