From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38801) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bU9J9-0005gO-2Z for qemu-devel@nongnu.org; Mon, 01 Aug 2016 05:14:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bU9J6-0002go-W4 for qemu-devel@nongnu.org; Mon, 01 Aug 2016 05:14:45 -0400 Date: Mon, 1 Aug 2016 11:14:33 +0200 From: Igor Mammedov Message-ID: <20160801111433.2af5c013@nial.brq.redhat.com> In-Reply-To: References: <1468975744-12587-1-git-send-email-kwangwoo.lee@sk.com> <1468975744-12587-2-git-send-email-kwangwoo.lee@sk.com> <79b91f02b26441be993e372cef44002d@nmail01.hynixad.com> <20160801094607.057cef2f@nial.brq.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH 1/3] hw/arm/virt: add hotplug memory support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: "kwangwoo.lee@sk.com" , Xiao Guangrong , "Michael S. Tsirkin" , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Shannon Zhao , Shannon Zhao , QEMU Developers , qemu-arm , "woosuk.chung@sk.com" , "hyunchul3.kim@sk.com" On Mon, 1 Aug 2016 09:13:34 +0100 Peter Maydell wrote: > On 1 August 2016 at 08:46, Igor Mammedov wrote: > > On Mon, 1 Aug 2016 00:35:35 +0000 > > "kwangwoo.lee@sk.com" wrote: > > >> > > +/* 1GB alignment for hotplug memory region */ > >> > > +#define ARCH_VIRT_HOTPLUG_MEM_ALIGN (1ULL << 30) > >> > > >> > Where does the 1GB alignment come from? Why do we need 1GB > >> > alignment for the base but only 1KB alignment for the size? > >> > >> The alignment value of hotplug_memory.base referred from i386 pc.c and ppc spapr.c. > >> Could you suggest a proper range for this? > > > Base alignment comes from max supported hugepage size, > > Max hugepage size for any host? (if so, should be defined > in a common header somewhere) > Max hugepage size for ARM hosts? (if so, why is TCG > different from KVM?, and should still be in a common > header somewhere) It's the same for TCG but it probably doesn't matter much there, main usage is to provide better performance with KVM. So I'd say it's host depended (for x86 it's 1Gb), probably other values for ARM and PPC > > > while > > size alignment should depend on backend's page size > > Which page size do you have in mind here? TARGET_PAGE_SIZE > is often not the right answer, since it doesn't > correspond either to the actual page size being used > by the host kernel or to the actual page size used > by the guest kernel... alignment comes from here: memory_region_get_alignment() exec:c MAX(page_size, QEMU_VMALLOC_ALIGN) so it's either backend's page size or a min chunk QEMU allocates memory to make KVM/valgrind/whatnot happy. > > thanks > -- PMM