From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49124) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSdgZ-0000lw-Tf for qemu-devel@nongnu.org; Sun, 07 Feb 2016 23:44:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aSdgX-0004xy-1E for qemu-devel@nongnu.org; Sun, 07 Feb 2016 23:44:27 -0500 Received: from mail-pf0-x242.google.com ([2607:f8b0:400e:c00::242]:34282) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSdgW-0004xl-Qx for qemu-devel@nongnu.org; Sun, 07 Feb 2016 23:44:24 -0500 Received: by mail-pf0-x242.google.com with SMTP id 71so3120109pfv.1 for ; Sun, 07 Feb 2016 20:44:24 -0800 (PST) References: <1454638439-11938-1-git-send-email-david@gibson.dropbear.id.au> <1454638439-11938-5-git-send-email-david@gibson.dropbear.id.au> From: Alexey Kardashevskiy Message-ID: <56B81D22.7080908@ozlabs.ru> Date: Mon, 8 Feb 2016 15:44:18 +1100 MIME-Version: 1.0 In-Reply-To: <1454638439-11938-5-git-send-email-david@gibson.dropbear.id.au> Content-Type: text/plain; charset=koi8-r; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 4/6] pseries: Move hash page table allocation to reset time List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson , benh@kernel.crashing.org, agraf@suse.de Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org On 02/05/2016 01:13 PM, David Gibson wrote: > At the moment the size of the hash page table (HPT) is fixed based on the > maximum memory allowed to the guest. As such, we allocate the table during > machine construction, and just clear it at reset. > > However, we're planning to implement a PAPR extension allowing the hash > page table to be resized at runtime. This will mean that on reset we want > to revert it to the default size. It also means that when migrating, we > need to make sure the destination allocates an HPT of size matching the > host, since the guest could have changed it before the migration. > > This patch replaces the spapr_alloc_htab() and spapr_reset_htab() functions > with a new spapr_reallocate_hpt() function. This is called at reset and > inbound migration only, not during machine init any more. I'd suggest splitting this patch in two (move spapr_hpt_shift_for_ramsize to a new patch, or reorganizing it somehow (move spapr_hpt_shift_for_ramsize to a different place) - this one is really hard to read and make sure that nothing is lost. > In addition, we add a new helper to compute the recommended hash table size > for a given RAM size. We export this as well as spapr_reallocate_hpt(), > since we'll be needing them elsewhere in future. Do you already have a patch in your queue to exploit this? I was told few times to export stuff when I have to... -- Alexey