From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53633) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ze1IN-0003yC-7L for qemu-devel@nongnu.org; Mon, 21 Sep 2015 09:38:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ze1IJ-0006FJ-Dt for qemu-devel@nongnu.org; Mon, 21 Sep 2015 09:38:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:21966) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ze1IJ-0006Ep-8p for qemu-devel@nongnu.org; Mon, 21 Sep 2015 09:38:11 -0400 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 (Postfix) with ESMTPS id 792D3C0A1468 for ; Mon, 21 Sep 2015 13:38:10 +0000 (UTC) References: <1442836223-282767-1-git-send-email-imammedo@redhat.com> <55FFF67F.5070701@redhat.com> <20150921150524.6d58bbbd@nial.brq.redhat.com> <5600026D.4090407@redhat.com> <20150921153231.68d8b1ad@nial.brq.redhat.com> From: Paolo Bonzini Message-ID: <5600083F.9010103@redhat.com> Date: Mon, 21 Sep 2015 15:38:07 +0200 MIME-Version: 1.0 In-Reply-To: <20150921153231.68d8b1ad@nial.brq.redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] pc: memhotplug: rise minimum DIMM addr/size alignment to 128Mb List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: mst@redhat.com, qemu-devel@nongnu.org, ehabkost@redhat.com On 21/09/2015 15:32, Igor Mammedov wrote: > On Mon, 21 Sep 2015 15:13:17 +0200 > Paolo Bonzini wrote: > >> >> >> On 21/09/2015 15:05, Igor Mammedov wrote: >>>>> To some extend, enforcing natural alignment would be okay as a >>>>> workaround for the virtio bug as well. It would also make it easier to >>>>> ensure that hotplugged hugetlbfs-backed memory can use hugepages in the >>>>> guest. Does it make sense to you? >>> in current machine types we already enforce backend-s address/size alignment, >>> which is file's page size for hugetlbfs-backed memory and 2Mb for RAM backend. >> >> Right, but it's not enough if the guest's physical address is not >> aligned to 2Mb/1Gb too. This is why we changed i440FX and q35 to have >> only 3 and 2 gigabytes of low memory (down from 3.5 and 2 IIRC). > > DIMM's GPA is aligned to backend's alignment since 2.2, > it should be aligned 2Mb/1Gb depending on what hugetlbfs file is used > so that already works as expected Oh, ok. This is what pcms->enforce_aligned_dimm does when true, and this is also what I was missing. Great! >>> So I guess we could try to apply workaround to virtio on guest side, >>> aligning and limiting max buffer size to 2Mb, it should work for 'old' >>> machine types as well. >> >> That would make sense and it would be complementary to natural alignment >> of DIMMs in the host. This would give: >> >> host guest >> old old fails >> old new works (virtio workaround) >> new old works (natural alignment) > + not sure if it would work, > I've though that virtio refactoring, that drops requirement > for buffer to be inside of only one MemoryRegion, would > touch virtio in QEMU and on guest side too. Right, it would theoretically not be enough. However, I think it would work in practice because hot-plugged DIMMs should be bigger than 128 MiB. Paolo