[PATCH v2] MIPS: replace add_memory_region with memblock
Florian Fainelli
f.fainelli at gmail.com
Thu Oct 8 12:49:46 EDT 2020
On 10/8/2020 8:54 AM, Serge Semin wrote:
> On Thu, Oct 08, 2020 at 04:30:35PM +0100, Maciej W. Rozycki wrote:
>> On Thu, 8 Oct 2020, Serge Semin wrote:
>>
>>> At least I don't see a decent reason to preserve them. The memory registration
>>> method does nearly the same sanity checks. The memory reservation function
>>> defers a bit in adding the being reserved memory first. That seems redundant,
>>> since the reserved memory won't be available for the system anyway. Do I miss
>>> something?
>>
>
>> At the very least it serves informational purposes as it shows up in
>> /proc/iomem.
>
> I thought about that, but /proc/iomem prints the System RAM up. Adding the reserved
> memory regions to be just memory region first still seem redundant, since
> reserving a non-reflected in memory region most likely indicates an erroneous
> dts. I failed to find that, but do the kernel or DTC make sure that the reserved
> memory regions has actual memory behind? (At least in the framework of the
> memblock.memory vs memblock.reserved arrays or in the DT source file)
AFAICT DTC does not do any validation that regions you declare in
/memreserve or /reserved-memory are within the 'reg' property defined
for the /memory node. Not that it could not but that goes a little
beyond is compiler job.
The kernel ought to be able to do that validation through memblock but
there could be valid use cases behind declaring a reserved memory region
that is not backed by a corresponding DRAM region. For instance if you
hotplugged memory through the sysfs probe interface, and that memory was
not initially declared in the Device Tree, but there were reserved
regions within that hot-plugged range that you would have to be aware
of, then this would break.
>
> I also don't see the other platforms doing that, since the MIPS arch only
> redefines these methods. So if a problem of adding a reserved memory with
> possible no real memory behind exist, it should be fixed in the cross-platform
> basis, don't you think?
Would we be breaking any use case if we stopped allowing reserved region
that are not part of DRAM being declared?
--
Florian
More information about the linux-arm-kernel
mailing list