Messages in this thread | | | Subject | Re: [PATCH] xen/balloon: Mark unallocated host memory as UNUSABLE | From | Juergen Gross <> | Date | Fri, 15 Dec 2017 16:33:40 +0100 |
| |
On 15/12/17 15:58, Boris Ostrovsky wrote: > On 12/15/2017 09:47 AM, Juergen Gross wrote: >> On 15/12/17 15:24, Boris Ostrovsky wrote: >>>>> + >>>>> + hostmem_resource->start = max_addr; >>>>> + hostmem_resource->end = entry->addr + entry->size; >>>>> + for (; i < memmap.nr_entries; i++) { >>>>> + entry = &xen_e820_table->entries[i]; >>>>> + if (entry->type == E820_TYPE_RAM) >>>> Shouldn't that be != ? >>> No, the idea here is to populate hostmem_resource with ranges already >>> taken by things other than RAM, leaving memory regions as available for >>> the balloon hotplug. This will allow us to use allocate_resource(), >>> which searches for a free range, in the balloon driver. >> But why says the comment "Host memory not allocated to dom0" then? > > hostmem_resource is created starting from the end of dom0 RAM and ending > at the end of host RAM. If these two are the same (or if the former is > larger, which I don't think is possible) then there is nothing to do, as > the hostmem_resource will be empty. That's what the comment is referring > to. > >> And why are you trying to allocate from this resource in case of >> hotplugging memory (and fall back to iomem_resource in case of >> failure)? > > Because that area (end of dom0 RAM through end of host RAM) is not going > to be used by anyone else and thus is available. That was the idea > behind f5775e0b6116.
Aah, now I've got it.
Could you please add a comment like:
/* Mark non-RAM regions as not available. */
above the test? That would have helped me. :-)
Juergen
| |