[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN9PR11MB527679098836023AE0C981228C8BA@BN9PR11MB5276.namprd11.prod.outlook.com>
Date: Thu, 7 Dec 2023 07:33:23 +0000
From: "Tian, Kevin" <kevin.tian@...el.com>
To: "Cao, Yahui" <yahui.cao@...el.com>, "intel-wired-lan@...ts.osuosl.org"
<intel-wired-lan@...ts.osuosl.org>
CC: "kvm@...r.kernel.org" <kvm@...r.kernel.org>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "Liu, Lingyu" <lingyu.liu@...el.com>, "Chittim,
Madhu" <madhu.chittim@...el.com>, "Samudrala, Sridhar"
<sridhar.samudrala@...el.com>, "alex.williamson@...hat.com"
<alex.williamson@...hat.com>, "jgg@...dia.com" <jgg@...dia.com>,
"yishaih@...dia.com" <yishaih@...dia.com>,
"shameerali.kolothum.thodi@...wei.com"
<shameerali.kolothum.thodi@...wei.com>, "brett.creeley@....com"
<brett.creeley@....com>, "davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com" <edumazet@...gle.com>, "kuba@...nel.org"
<kuba@...nel.org>, "pabeni@...hat.com" <pabeni@...hat.com>
Subject: RE: [PATCH iwl-next v4 05/12] ice: Log virtual channel messages in PF
> From: Cao, Yahui <yahui.cao@...el.com>
> Sent: Tuesday, November 21, 2023 10:51 AM
> @@ -4037,6 +4045,17 @@ void ice_vc_process_vf_msg(struct ice_pf *pf,
> struct ice_rq_event_info *event,
> goto finish;
> }
>
> + if (vf->migration_enabled) {
> + if (ice_migration_log_vf_msg(vf, event)) {
> + u32 status_code =
> VIRTCHNL_STATUS_ERR_NO_MEMORY;
> +
> + err = ice_vc_respond_to_vf(vf, v_opcode,
> + status_code,
> + NULL, 0);
> + goto finish;
> + }
> + }
> +
I'm not sure it's a good thing to fail guest just because the message
cannot be logged for migration purpose.
It's more reasonable to block migration in this case while letting the
guest run as normal...
>
> + /* All of the loggable virtual channel messages are logged by
> + * ice_migration_unlog_vf_msg() before they are processed.
> + *
> + * Two kinds of error may happen, virtual channel message's result
> + * is failure after processed by PF or message is not sent to VF
> + * successfully. If error happened, fallback here by reverting logged
> + * messages.
> + */
> + if (vf->migration_enabled &&
> + (vf->virtchnl_retval != VIRTCHNL_STATUS_SUCCESS || err))
> + ice_migration_unlog_vf_msg(vf, v_opcode);
> +
... and here unlog is not required. Just place log at this point.
Powered by blists - more mailing lists