From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: xen: memory initialization/balloon fixes (#3) Date: Fri, 23 Sep 2011 22:08:00 -0400 Message-ID: <20110924020759.GA27796@phenom.oracle.com> References: <1316089768-22461-1-git-send-email-david.vrabel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline In-Reply-To: <1316089768-22461-1-git-send-email-david.vrabel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: David Vrabel Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On Thu, Sep 15, 2011 at 01:29:21PM +0100, David Vrabel wrote: > This set of patches fixes some bugs in the memory initialization under > Xen and in Xen's memory balloon driver. They can make 100s of MB of > additional RAM available (depending on the system/configuration). >=20 > Patch 1 is already applied. >=20 > Patch 2 fixes a bug in patch 1 and should be queued for 3.1 (and along > with patch 1 considered for 3.0 stable). >=20 > Patch 3 is a bug fix and should be queued for 3.1 and possibly > queued for the 3.0 stable tree. >=20 > Patches 5 & 6 increase the amount of low memory in 32 bit domains > started with < 1 GiB of RAM. Please queue for 3.2 >=20 > Patch 7 releases all pages in the initial allocation with PFNs that > lie within a 1-1 mapping. This seems correct to me as I think that > once the 1-1 mapping is set the MFN of the original page is lost so > it's no longer accessible by the kernel (and it cannot be used by > another domain >=20 > Changes since #2: >=20 > - New patch: xen: avoid adding non-existant memory if the reservation > is unlimited > - Avoid using a hypercall to get the current number of pages in the > ballon driver. Apparently the hypercall won't return the right > value if paging is used. > - Addresses Konrad's review comments. They don't work on AMD boxes: XELINUX 3.82 2009-06-09 Copyright (C) 1994-2009 H. Peter Anvin et al Loading xen.gz... ok Loading vmlinuz... ok Loading initramfs.cpio.gz... ok __ __ _ _ _ _ _ ___ __ _____ ___ =20 \ \/ /___ _ __ | || | / | / / |/ _ \ / /_|___ / / _ \=20 \ // _ \ '_ \ | || |_ | |__| | | | | | '_ \ |_ \| | | | / \ __/ | | | |__ _|| |__| | | |_| | (_) |__) | |_| | /_/\_\___|_| |_| |_|(_)_| |_|_|\___/ \___/____/ \___/=20 =20 (XEN) Xen version 4.1-110923 (konrad@dumpdata.com) (gcc version 4.4.4 201= 00503 (Red Hat 4.4.4-2) (GCC) ) Fri Sep 23 19:38:15 EDT 2011 (XEN) Latest ChangeSet: unavailable (XEN) Console output is synchronous. (XEN) Bootloader: unknown (XEN) Command line: com1=3D115200,8n1 console=3Dcom1,vga guest_loglvl=3Da= ll sync_console apic=3Ddebug (XEN) Video information: (XEN) VGA is text mode 80x25, font 8x16 (XEN) VBE/DDC methods: none; EDID transfer time: 2 seconds (XEN) EDID info not retrieved because no DDC retrieval method detected (XEN) Disc information: (XEN) Found 0 MBR signatures (XEN) Found 0 EDD information structures (XEN) Xen-e820 RAM map: (XEN) 0000000000000000 - 000000000009d800 (usable) (XEN) 000000000009d800 - 00000000000a0000 (reserved) (XEN) 00000000000cc000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 000000007fff0000 (usable) (XEN) 000000007fff0000 - 0000000080000000 (reserved) (XEN) 0000000080000000 - 00000000cfef0000 (usable) (XEN) 00000000cfef0000 - 00000000cfef5000 (ACPI data) (XEN) 00000000cfef5000 - 00000000cff7f000 (ACPI NVS) (XEN) 00000000cff80000 - 00000000d0000000 (reserved) (XEN) 00000000e0000000 - 00000000f0000000 (reserved) (XEN) 00000000fec00000 - 00000000fec10000 (reserved) (XEN) 00000000fee00000 - 00000000fee01000 (reserved) (XEN) 00000000fff80000 - 0000000100000000 (reserved) (XEN) 0000000100000000 - 0000000130000000 (usable) (XEN) ACPI: RSDP 000F79B0, 0024 (r2 PTLTD ) (XEN) ACPI: XSDT CFEF0753, 009C (r1 DELL PE_SC3 6040000 DELL = 0) (XEN) DELL PE_SC3 6040000 MSFT 100000E) (XEN) ACPI: FACS CFEF5FC0, 0040 (XEN) ACPI: TCPA CFEF3D53, 0032 (r1 Phoeni x 6040000 TL = 0) (XEN) ACPI: SLIC CFEF3D85, 0024 (r1 DELL PE_SC3 6040000 PTL = 1) (XEN) ACPI: SPCR CFEF3DA9, 0050 (r1 DELL PE_SC3 6040000 PTL = 1) (XEN) ACPI: EINJ CFEF3DF9, 01B0 (r1 PTL WHEAPTL 6040000 PTL = 1) (XEN) ACPI: HEST CFEF3FA9, 00A8 (r1 PTL WHEAPTL 6040000 PTL = 1) (XEN) ACPI: BERT CFEF4051, 0030 (r1 PTL WHEAPTL 6040000 PTL = 1) (XEN) ACPI: SSDT CFEF4081, 00E1 (r1 wheaos wheaosc 6040000 INTL 2005062= 4) (XEN) ACPI: ERST CFEF4162, 0270 (r1 PTL WHEAPTL 6040000 PTL = 1) (XEN) ACPI: SRAT CFEF43D2, 00E8 (r1 AMD HAMMER 6040000 AMD = 1) (XEN) ACPI: SSDT CFEF44BA, 0A30 (r1 AMD POWERNOW 6040000 AMD = 1) (XEN) ACPI: MCFG CFEF4EEA, 003C (r1 PTLTD MCFG 6040000 LTP = 0) (XEN) ACPI: HPET CFEF4F26, 0038 (r1 PTLTD HPETTBL 6040000 LTP = 1) (XEN) ACPI: APIC CFEF4F5E, 007A (r1 PTLTD APIC 6040000 LTP = 0) (XEN) ACPI: BOOT CFEF4FD8, 0028 (r1 PTLTD $SBFTBL$ 6040000 LTP = 1) (XEN) System RAM: 4094MB (4192756kB) (XEN) Domain heap initialised (XEN) Processor #0 0:2 APIC version 16 (XEN) Processor #1 0:2 APIC version 16 (XEN) Processor #2 0:2 APIC version 16 (XEN) Processor #3 0:2 APIC version 16 (XEN) IOAPIC[0]: apic_id 4, version 17, address 0xfec00000, GSI 0-23 (XEN) Enabling APIC mode: Flat. Using 1 I/O APICs (XEN) ERST table is invalid (XEN) Using scheduler: SMP Credit Scheduler (credit) (XEN) Detected 2109.743 MHz processor. (XEN) Initing memory sharing. (XEN) AMD-Vi: IOMMU not found! (XEN) I/O virtualisation disabled (XEN) ENABLING IO-APIC IRQs (XEN) -> Using new ACK method (XEN) Platform timer is 25.000MHz HPET =EF=BF=BD(XEN) Allocated console ring of 16 KiB. (XEN) HVM: ASIDs enabled. (XEN) SVM: Support(XEN) Brought up 4 CPUs (XEN) *** LOADING DOMAIN 0 *** (XEN) Xen kernel: 64-bit, lsb, compat32 (XEN) Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x202f000 (XEN) PHYSICAL MEY ARRANGEMENT: (XEN) Dom0 alloc.: 0000000118000000->000000011c000000 (926244 pages to= be allocated) (XEN) Init. ramdisk: 00000001216cc000->000000012ffffc00 (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: ffffffff81000000->ffffffff8202f000 (XEN) Init. ramdisk: ffffffff8202f000->ffffffff90962c00 (XEN) Phys-Mach map: ffffffff90963000->ffffffff91108ac0 (XEN) Start info: ffffffff91109000->ffffffff911094b4 (XEN) Page tables: ffffffff9110a000->ffffffff91197000 (XEN) Boot stack: ffffffff91197000->ffffffff91198000 (XEN) TOTAL: ffffffff80000000->ffffffff91400000 (XEN) ENTRY ADDRESS: ffffffff81aeb200 (XEN) Dom0 has maximum 4 VCPUs (XEN) Scrubbing Free RAM: .done. (XEN) Xen trace buffers: disabled (XEN) Std. Loglevel: Errors and warnings (XEN) Guest Loglevel: All (XEN) ********************************************** (XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS (XEN) ******* This option is intended to aid debugging of Xen by ensuring (XEN) ******* that all output is synchronously delivered on the serial li= ne. (XEN) ******* However it can introduce SIGNIFICANT latencies and affect (XEN) ******* timekeeping. It is NOT recommended for production use! (XEN) ********************************************** (XEN) 3... 2... 1...=20 (XEN) Xen is relinquishing VGA console. (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input= to Xen) (XEN) Freed 228kB init memory. mapping kernel into physical memory Xen: setup ISA identity maps about to get started... and then it is just stuck.. This is v3.1-rc7 + your patches