All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Andrew Jones <drjones@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Patch Tracking <patches@linaro.org>,
	Vijaya Kumar K <Vijaya.Kumar@caviumnetworks.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	qemu-arm <qemu-arm@nongnu.org>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 6/6] hw/arm/virt: Set minimum_page_bits to 12
Date: Wed, 22 Jun 2016 12:35:59 +0100	[thread overview]
Message-ID: <20160622113558.GF2274@work-vm> (raw)
In-Reply-To: <20160622080234.f57jjn43tcwmvmcd@hawk.localdomain>

* Andrew Jones (drjones@redhat.com) wrote:
> On Tue, Jun 21, 2016 at 08:47:39PM +0100, Peter Maydell wrote:
> > On 21 June 2016 at 19:45, Andrew Jones <drjones@redhat.com> wrote:
> > > On Tue, Jun 21, 2016 at 06:09:34PM +0100, Peter Maydell wrote:
> > >> Since the virt board model will never create a CPU which is
> > >> pre-ARMv7, we know that our minimum page size is 4K and can
> > >> set minimum_page_bits accordingly, for improved performance.
> > >>
> > >> Note that this is a migration compatibility break.
> > >>
> > >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> > >> ---
> > >>  hw/arm/virt.c | 2 ++
> > >>  1 file changed, 2 insertions(+)
> > >>
> > >> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> > >> index c5c125e..f9b51aa 100644
> > >> --- a/hw/arm/virt.c
> > >> +++ b/hw/arm/virt.c
> > >> @@ -1440,6 +1440,8 @@ static void virt_machine_class_init(ObjectClass *oc, void *data)
> > >>      mc->block_default_type = IF_VIRTIO;
> > >>      mc->no_cdrom = 1;
> > >>      mc->pci_allow_0_address = true;
> > >> +    /* We know we will never create a pre-ARMv7 CPU which needs 1K pages */
> > >> +    mc->minimum_page_bits = 12;
> > >>  }
> > >
> > > As this breaks migration, then I guess we also need
> > >
> > > @@ -1507,5 +1510,6 @@ static void virt_machine_2_6_options(MachineClass *mc)
> > >  {
> > >      virt_machine_2_7_options(mc);
> > >      SET_MACHINE_COMPAT(mc, VIRT_COMPAT_2_6);
> > > +    mc->minimum_page_bits = 10;
> > >  }
> > >  DEFINE_VIRT_MACHINE(2, 6)
> > 
> > Doesn't hurt, but are we trying to claim migration
> > compat between different QEMU versions with the
> > versioned-machine names ?
> 
> I'm still learning how best to approach compat/migration concerns.
> I've CC'ed David to help.
> 
> Up until now my main concern has been keeping the RHEL-x.y mach-virt
> (and now upstream versioned mach-virt) type from changing as new
> features are added. In which case, I think the above makes sense
> regardless. With respect to migration I'm unsure of the claims we
> can/should make. IMO, we'd ideally be able to always migrate a
> versioned-machine (obviously running with a QEMU that supports that
> version) to a host with a later QEMU (which, being later, means it
> also supports that version)

Yes, my hope is that any versioned machine type should migrate to
a newer qemu with the same machine type set.

There are really two separate things that we state with the machine
versioning:
  a) that the guest view is the same
  b) that the migration format is the same

Dave

> Thanks,
> drew
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2016-06-22 11:37 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-21 17:09 [Qemu-arm] [PATCH v2 0/6] Runtime pagesize computation Peter Maydell
2016-06-21 17:09 ` [Qemu-devel] " Peter Maydell
2016-06-21 17:09 ` [Qemu-arm] [PATCH v2 1/6] migration: Remove static allocation of xzblre cache buffer Peter Maydell
2016-06-21 17:09   ` [Qemu-devel] " Peter Maydell
2016-06-22  1:44   ` [Qemu-arm] " Richard Henderson
2016-06-22  1:44     ` Richard Henderson
2016-06-21 17:09 ` [Qemu-arm] [PATCH v2 2/6] exec.c: Remove static allocation of sub_section of sub_page Peter Maydell
2016-06-21 17:09   ` [Qemu-devel] " Peter Maydell
2016-06-22  1:47   ` [Qemu-arm] " Richard Henderson
2016-06-22  1:47     ` Richard Henderson
     [not found]   ` <BY1PR0701MB169163D3032F7EF4FB8FD000F22C0@BY1PR0701MB1691.namprd07.prod.outlook.com>
2016-06-22  6:55     ` [Qemu-arm] Fw: " Vijay Kilari
2016-06-22  6:55       ` [Qemu-devel] Fw: [Qemu-arm] " Vijay Kilari
2016-06-22  7:07       ` [Qemu-arm] [Qemu-devel] Fw: " Richard Henderson
2016-06-22  7:07         ` [Qemu-devel] Fw: [Qemu-arm] " Richard Henderson
2016-06-21 17:09 ` [Qemu-arm] [PATCH v2 3/6] translate-all.c: Compute L1 page table properties at runtime Peter Maydell
2016-06-21 17:09   ` [Qemu-devel] " Peter Maydell
2016-06-22  6:56   ` Richard Henderson
2016-06-21 17:09 ` [Qemu-arm] [PATCH v2 4/6] cpu: Support a target CPU having a variable page size Peter Maydell
2016-06-21 17:09   ` [Qemu-devel] " Peter Maydell
2016-06-21 18:26   ` [Qemu-arm] " Andrew Jones
2016-06-21 18:26     ` Andrew Jones
2016-06-21 19:46     ` [Qemu-arm] " Peter Maydell
2016-06-21 19:46       ` Peter Maydell
2016-06-21 17:09 ` [Qemu-arm] [PATCH v2 5/6] target-arm: Make page size a runtime setting Peter Maydell
2016-06-21 17:09   ` [Qemu-devel] " Peter Maydell
2016-06-21 17:09 ` [Qemu-arm] [PATCH v2 6/6] hw/arm/virt: Set minimum_page_bits to 12 Peter Maydell
2016-06-21 17:09   ` [Qemu-devel] " Peter Maydell
2016-06-21 18:45   ` [Qemu-arm] " Andrew Jones
2016-06-21 18:45     ` Andrew Jones
2016-06-21 19:47     ` [Qemu-arm] " Peter Maydell
2016-06-21 19:47       ` Peter Maydell
2016-06-22  8:02       ` Andrew Jones
2016-06-22  8:02         ` Andrew Jones
2016-06-22 11:35         ` Dr. David Alan Gilbert [this message]
2016-06-22 11:38           ` [Qemu-arm] " Peter Maydell
2016-06-22 11:38             ` Peter Maydell
2016-06-22 11:54             ` Dr. David Alan Gilbert
2016-06-22 12:02               ` [Qemu-arm] " Peter Maydell
2016-06-22 12:02                 ` Peter Maydell
2016-06-22 12:17                 ` Dr. David Alan Gilbert
2016-06-22 12:18                 ` [Qemu-arm] " Andrew Jones
2016-06-22 12:18                   ` Andrew Jones
2016-06-22 10:24       ` [Qemu-arm] " Paolo Bonzini
2016-06-22 10:24         ` Paolo Bonzini
2016-06-22 11:43 ` [Qemu-devel] [PATCH v2 0/6] Runtime pagesize computation Dr. David Alan Gilbert
2016-06-22 11:43   ` Dr. David Alan Gilbert
2016-06-28  8:16 ` [Qemu-arm] " Peter Maydell
2016-06-28  8:16   ` [Qemu-devel] " Peter Maydell
     [not found]   ` <BLUPR0701MB1684CF1920D922BD00E93EE6F2230@BLUPR0701MB1684.namprd07.prod.outlook.com>
2016-06-29  7:00     ` [Qemu-arm] Fw: " Vijay Kilari
2016-06-29  7:00       ` [Qemu-devel] Fw: [Qemu-arm] " Vijay Kilari
2016-07-19 11:01       ` [Qemu-arm] Fw: " Vijay Kilari
2016-07-19 11:01         ` [Qemu-devel] Fw: [Qemu-arm] " Vijay Kilari
2016-07-19 11:04         ` [Qemu-arm] Fw: " Peter Maydell
2016-07-19 11:04           ` [Qemu-devel] Fw: [Qemu-arm] " Peter Maydell
2016-10-07 14:20           ` Peter Maydell
2016-10-07 14:20             ` Peter Maydell
2016-10-08  4:26             ` [Qemu-arm] Fw: " Vijay Kilari
2016-10-08  4:26               ` [Qemu-devel] Fw: [Qemu-arm] " Vijay Kilari

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=20160622113558.GF2274@work-vm \
    --to=dgilbert@redhat.com \
    --cc=Vijaya.Kumar@caviumnetworks.com \
    --cc=drjones@redhat.com \
    --cc=patches@linaro.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --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 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.