From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44158) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIe4Z-0000vy-BG for qemu-devel@nongnu.org; Wed, 26 Feb 2014 07:58:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WIe4T-0004qq-8L for qemu-devel@nongnu.org; Wed, 26 Feb 2014 07:58:51 -0500 Received: from mx1.redhat.com ([209.132.183.28]:57053) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIe4T-0004qf-0I for qemu-devel@nongnu.org; Wed, 26 Feb 2014 07:58:45 -0500 Date: Wed, 26 Feb 2014 09:58:14 -0300 From: Marcelo Tosatti Message-ID: <20140226125814.GA10055@amt.cnet> References: <53047351.80300@redhat.com> <20140219103657.4daed264@nial.usersys.redhat.com> <20140226055706.GA5090@G08FNSTD100614.fnst.cn.fujitsu.com> <20140226101056.1a9ec3b3@nial.usersys.redhat.com> <530DC2FA.9080401@redhat.com> <20140226133119.3ccca5a3@nial.usersys.redhat.com> <530DE1F2.6060701@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <530DE1F2.6060701@redhat.com> Subject: Re: [Qemu-devel] [PATCH v18 13/14] memory backend: fill memory backend ram fields List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Igor Mammedov , lersek@redhat.com, qemu-devel@nongnu.org, Wanlong Gao , Hu Tao On Wed, Feb 26, 2014 at 01:45:38PM +0100, Paolo Bonzini wrote: > Il 26/02/2014 13:31, Igor Mammedov ha scritto: > >>> The problem is that some backends might not be handled the same way. > >>> For example, not all backends might produce a single void*/size_t pair > >>> for the entire region. Think of a "composite" backend that produces a > >>> large memory region from two smaller ones. > >I'd prefer to keep backends simple, with 1:1 mapping to memory regions. > > I agree. However not all backends may have a mapping to a RAM > memory region. A composite backend could create a container memory > region whose children are other HostMemoryBackend objects. > > >Is there a need in composite one or something similar? > > I've heard of users that want a node backed partially by hugetlbfs > and partially by regular RAM. Not sure why. > > Paolo To overcommit the non hugetlbfs backed guest RAM (think guest pagecache on that non hugetlbfs backed memory, swappable and KSM-able). The problem is, you have to in someway guarantee the guest allocates 1GB pages out of the hugetlb backed GPA ranges. Some thoughts (honestly, dislike all of them): 1) Boot guest with hugepages, allocate hugepages in guest, later on hotplug 4K backed ranges. HV-unaware reboot might fail, though. 2) Communicate hugepage GPAs to guest. 3) Create holes in non hugepage backed GPA range.