Re: [PATCH 16/21] dt-bindings: reserved-memory: introduce designated-movable-block

From: Doug Berger
Date: Sun Sep 18 2022 - 19:13:12 EST


On 9/18/2022 3:31 AM, Krzysztof Kozlowski wrote:
On 14/09/2022 18:13, Doug Berger wrote:
On 9/14/2022 7:55 AM, Rob Herring wrote:
On Tue, Sep 13, 2022 at 12:55:03PM -0700, Doug Berger wrote:
Introduce designated-movable-block.yaml to document the
devicetree binding for Designated Movable Block children of the
reserved-memory node.

What is a Designated Movable Block? This patch needs to stand on its
own.
As noted in my reply to your [PATCH 00/21] comment, my intention in
submitting the entire patch set (and specifically PATCH 00/21]) was to
communicate this context. Now that I believe I understand that only this
patch should have been submitted to the devicetree-spec mailing list, I
will strive harder to make it more self contained.

The submission of entire thread was ok. What is missing is the
explanation in this commit. This commit must be self-explanatory (e.g.
in explaining "Why are you doing it?"), not rely on other commits for
such explanation.



Why does this belong or need to be in DT?
While my preferred method of declaring Designated Movable Blocks is
through the movablecore kernel parameter, I can conceive that others may
wish to take advantage of the reserved-memory DT nodes. In particular,
it has the advantage that a device can claim ownership of the
reserved-memory via device tree, which is something that has yet to be
implemented for DMBs defined with movablecore.

Rephrasing the question: why OS memory layout and OS behavior is a
property of hardware (DTS)?
I would say the premise is fundamentally the same as the existing reserved-memory child node.

I've been rethinking how this should be specified. I am now thinking that it may be better to introduce a new Reserved Memory property that serves as a modifier to the 'reusable' property. The 'reusable' property allows the OS to use memory that has been reserved for a device and therefore requires the device driver to reclaim the memory prior to its use. However, an OS may have multiple ways of implementing such reuse and reclamation.

I am considering introducing the vendor specific 'linux,dmb' property that is dependent on the 'reusable' property to allow both the OS and the device driver to identify the method used by the Linux OS to support reuse and reclamation of the reserved-memory child node.

Such a property would remove any need for new compatible strings to the device tree. Does that approach seem reasonable to you?


Best regards,
Krzysztof
Thanks again for taking the time,
-Doug