Re: [PATCH net-next v3 7/7] net/smc: manage system EID in SMC stack instead of ISM driver

Wen Gu
2023-12-07T03:42:24Z

On 2023/12/4 20:57, Alexandra Winter wrote:
>
>
> On 04.12.23 13:36, Wen Gu wrote:
>>> Here we only check the first smcd device to determine whether we support v2.
>>> Which is ok, for today's platform firmware ISM devices, as they are always the same version.
>>>
>>> When you add virtual ISM devices (loopback-ism, virtio-ism) then this needs to be changed.
>>> IMO the logic then needs to be "if all smcd devices support v2,
>>> then smc_ism_v2_capable = true;
>>> else smc_ism_v2_capable = false;"
>>>
>>
>> Thank you. I will change this in the loopback-ism patch set.
>>
>> But I am wondering if loopback-ism coexists with s390 ISMv1, why smc_ism_v2_capable shouldn't be set?
>> Is it because the SEID generated in this way is not correct if the s390 ISMv2 does not exist?
>
> I think you're right: 'At least one IMSv2 device' is sufficient for smc_ism_v2_capable.
>
> Actually, we could even always do smc_ism_v2_capable=true, and append an empty ISMv2 device list.
> (I am not sure that would be a good idea...)
>
> Interesting sceanrios to consider for ism-loopback:
> e.g.: 2 ISMv1 device and 1 ism-loopback...

Yes. when virtual ISM is introduced (e.g. loopback-ism), I think logic can be

1) smc_ism_v2_capable is false initially as now;
2) Set smc_ism_v2_capable when ISMv2 or virtual ISM is registered, regardless of
whether there is already a device in smcd device list.

And I guess the intent of smc_ism_v2_capable is to indicate that this kernel is
capable of using v2 devices rather than indicate that there are v2 smcd devices
available in the list, since right now smc_ism_v2_capable won't be cleared even
ISMv2 devices are unregistered.