On Mon, Feb 08, 2016 at 03:44:18PM +1100, Alexey Kardashevskiy wrote: > 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.
Good idea, I'll do that. > >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... True, I'll look at that again. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature