From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51275) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDENr-0005ak-AW for qemu-devel@nongnu.org; Mon, 19 Jan 2015 10:36:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YDENn-00040l-44 for qemu-devel@nongnu.org; Mon, 19 Jan 2015 10:36:55 -0500 Received: from mx1.redhat.com ([209.132.183.28]:60972) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDENm-00040c-T0 for qemu-devel@nongnu.org; Mon, 19 Jan 2015 10:36:51 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t0JFantE024731 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 19 Jan 2015 10:36:50 -0500 Date: Mon, 19 Jan 2015 17:36:46 +0200 From: "Michael S. Tsirkin" Message-ID: <20150119153646.GF5240@redhat.com> References: <1419437261-21113-1-git-send-email-pbonzini@redhat.com> <1419437261-21113-8-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1419437261-21113-8-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 7/4] pc: go back to smaller ACPI tables List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: imammedo@redhat.com, qemu-devel@nongnu.org, dgilbert@redhat.com On Wed, Dec 24, 2014 at 05:07:41PM +0100, Paolo Bonzini wrote: > The new algorithm introduced by the previous patch lets us make tables > smaller and avoid migration bugs due to large tables. > > Use it for 2.3+ machine types by tweaking the default fixed_table_align > and acpi_table_align values. At the same time, preserve backwards-compatible > logic for pc-i440fx-2.2. > > Without this patch: > [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000007fdffff] usable > [ 0.000000] BIOS-e820: [mem 0x0000000007fe0000-0x0000000007ffffff] reserved > ... > [ 0.000000] init_memory_mapping: [mem 0x07000000-0x07fdffff] usable > [ 0.000000] RAMDISK: [mem 0x07112000-0x07fdffff] > > With this patch: > [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000007ffafff] usable > [ 0.000000] BIOS-e820: [mem 0x0000000007ffb000-0x0000000007ffffff] reserved > ... > [ 0.000000] init_memory_mapping: [mem 0x07000000-0x07ffafff] > [ 0.000000] RAMDISK: [mem 0x07122000-0x07feffff] > > Signed-off-by: Paolo Bonzini > --- > hw/i386/pc_piix.c | 6 ++++-- > hw/i386/pc_q35.c | 6 ++++-- > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index 16de5c9..a5e36b9 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -61,8 +61,8 @@ static const int ide_irq[MAX_IDE_BUS] = { 14, 15 }; > > static bool has_acpi_build = true; > static int legacy_acpi_table_size; > -static int fixed_table_align = 0; > -static int acpi_table_align = 131072; > +static int fixed_table_align = 16384; > +static int acpi_table_align = 4096; same here - hex please. > static bool smbios_defaults = true; > static bool smbios_legacy_mode; > static bool smbios_uuid_encoded = true; > @@ -332,6 +332,8 @@ static void pc_compat_2_2(MachineState *machine) > x86_cpu_compat_set_features("Haswell", FEAT_1_ECX, 0, CPUID_EXT_RDRAND); > x86_cpu_compat_set_features("Broadwell", FEAT_1_ECX, 0, CPUID_EXT_F16C); > x86_cpu_compat_set_features("Broadwell", FEAT_1_ECX, 0, CPUID_EXT_RDRAND); > + fixed_table_align = 0; > + acpi_table_align = 131072; > } > > static void pc_compat_2_1(MachineState *machine) > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c > index 7ba0535..4fd9527 100644 > --- a/hw/i386/pc_q35.c > +++ b/hw/i386/pc_q35.c > @@ -155,10 +155,12 @@ static void pc_q35_init(MachineState *machine) > guest_info->has_acpi_build = has_acpi_build; > guest_info->has_reserved_memory = has_reserved_memory; > > - /* Migration was not supported in 2.0 for Q35, so do not bother > - * with this hack (see hw/i386/acpi-build.c). > + /* Migration was not supported in 2.0 for Q35, so do not bother with > + * hacks around the ACPI table size (see hw/i386/acpi-build.c). > */ > guest_info->legacy_acpi_table_size = 0; > + guest_info->fixed_table_align = 16384; > + guest_info->acpi_table_align = 4096; > > if (smbios_defaults) { > MachineClass *mc = MACHINE_GET_CLASS(machine); -- MST