Re: [PATCH v10 15/26] gunyah: rsc_mgr: Add platform ops on mem_lend/mem_reclaim

From: Elliot Berman
Date: Tue Feb 21 2023 - 16:23:22 EST




On 2/21/2023 6:51 AM, Srinivas Kandagatla wrote:


On 14/02/2023 21:24, Elliot Berman wrote:
[snip]
+
+static struct gunyah_rm_platform_ops *rm_platform_ops;
+static DECLARE_RWSEM(rm_platform_ops_lock);

Why do we need this read/write lock or this global rm_platform_ops here, AFAIU, there will be only one instance of platform_ops per platform.

This should be a core part of the gunyah and its driver early setup, that should give us pretty much lock less behaviour.

We should be able to determine by Hypervisor UUID that its on Qualcomm platform or not, during early gunyah setup which should help us setup the platfrom ops accordingly.

This should also help cleanup some of the gunyah code that was added futher down in this patchset.

I'm guessing the direction to take is:

config GUNYAH
select QCOM_SCM if ARCH_QCOM

and have vm_mgr call directly into qcom_scm driver if the UID matches?

We have an Android requirement to enable CONFIG_GUNYAH=y and CONFIG_QCOM_SCM=m, but it wouldn't be possible with this design. The platform hooks implementation allows GUNYAH and QCOM_SCM to be enabled without setting lower bound of the other.

- Elliot