Hi Richard,
On 2/6/23 19:27, Richard Henderson wrote:
> On 2/6/23 03:32, Eric Auger wrote:
>>> +void kvm_arm_enable_mte(Error **errp)
>>> +{
>>> + static bool tried_to_enable = false;
>>> + Error *mte_migration_blocker = NULL;
>> can't you make the mte_migration_blocker static instead?
>>
>>> + int ret;
>>> +
>>> + if (tried_to_enable) {
>>> + /*
>>> + * MTE on KVM is enabled on a per-VM basis (and retrying
>>> doesn't make
>>> + * sense), and we only want a single migration blocker as well.
>>> + */
>>> + return;
>>> + }
>>> + tried_to_enable = true;
>>> +
>>> + if ((ret = kvm_vm_enable_cap(kvm_state, KVM_CAP_ARM_MTE, 0))) {
>>> + error_setg_errno(errp, -ret, "Failed to enable
>>> KVM_CAP_ARM_MTE");
>>> + return;
>>> + }
>>> +
>>> + /* TODO: add proper migration support with MTE enabled */
>>> + error_setg(&mte_migration_blocker,
>>> + "Live migration disabled due to MTE enabled");
>
> Making the blocker static wouldn't stop multiple errors from
> kvm_vm_enable_cap.
Sorry I don't get what you mean. instead of checking tried_to_enable why
can't we check !mte_migration_blocker?
Eric
>
>
> r~
>