> From: Cao, Yahui <[email protected]>
> Sent: Tuesday, November 21, 2023 10:51 AM
>
> +
> +             /* Once RX Queue is enabled, network traffic may come in at
> any
> +              * time. As a result, RX Queue head needs to be loaded
> before
> +              * RX Queue is enabled.
> +              * For simplicity and integration, overwrite RX head just after
> +              * RX ring context is configured.
> +              */
> +             if (msg_slot->opcode == VIRTCHNL_OP_CONFIG_VSI_QUEUES)
> {
> +                     ret = ice_migration_load_rx_head(vf, devstate);
> +                     if (ret) {
> +                             dev_err(dev, "VF %d failed to load rx head\n",
> +                                     vf->vf_id);
> +                             goto out_clear_replay;
> +                     }
> +             }
> +

Don't we have the same problem here as for TX head restore that the
vfio migration protocol doesn't carry a way to tell whether the IOAS
associated with the device has been restored then allowing RX DMA
at this point might cause device error?

@Jason, is it a common gap applying to all devices which include a
receiving path from link? How is it handled in mlx migration
driver? 

I may overlook an important aspect here but if not I wonder whether
the migration driver should keep DMA disabled (at least for RX) even
when the device moves to RUNNING and then introduce an explicit
enable-DMA state which VMM can request after it restores the
relevant IOAS/HWPT...
with the device.

_______________________________________________
Intel-wired-lan mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Reply via email to