Re: [Xen-devel] [PATCH v2 1/2] x86: respect memory size limiting via mem= parameter

From: Juergen Gross
Date: Mon Feb 11 2019 - 07:15:05 EST

On 11/02/2019 13:06, Ingo Molnar wrote:
> * Juergen Gross <jgross@xxxxxxxx> wrote:
>> When limiting memory size via kernel parameter "mem=" this should be
>> respected even in case of memory made accessible via a PCI card.
>> Today this kind of memory won't be made usable in initial memory
>> setup as the memory won't be visible in E820 map, but it might be
>> added when adding PCI devices due to corresponding ACPI table entries.
>> Not respecting "mem=" can be corrected by adding a global max_mem_size
>> variable set by parse_memopt() which will result in rejecting adding
>> memory areas resulting in a memory size above the allowed limit.
> So historically 'mem=xxxM' was a way to quickly limit RAM.


> If PCI devices had physical mmio memory areas above this range, we'd
> still expect them to work - the option was really only meant to limit
> RAM.

No, in this case it seems to be real RAM added via PCI. The RAM is
initially present in the E820 map, but the "mem=" will remove it from
there again. During ACPI scan it is found (again) and will be added
via hotplug mechanism, so "mem=" has no effect for that memory.