Messages in this thread | | | Date | Tue, 03 Feb 2015 04:43:28 +0008 | From | Jason Wang <> | Subject | RE: [PATCH v2 1/3] hv: hv_util: move vmbus_open() to a later place |
| |
On Tue, Feb 3, 2015 at 11:40 AM, KY Srinivasan <kys@microsoft.com> wrote: > > >> -----Original Message----- >> From: Jason Wang [mailto:jasowang@redhat.com] >> Sent: Monday, February 2, 2015 7:38 PM >> To: KY Srinivasan >> Cc: Dexuan Cui; gregkh@linuxfoundation.org; >> linux-kernel@vger.kernel.org; >> driverdev-devel@linuxdriverproject.org; olaf@aepfle.de; >> apw@canonical.com; vkuznets@redhat.com; Haiyang Zhang >> Subject: RE: [PATCH v2 1/3] hv: hv_util: move vmbus_open() to a >> later place >> >> >> >> On Tue, Feb 3, 2015 at 11:30 AM, KY Srinivasan <kys@microsoft.com> >> wrote: >> > >> > >> >> -----Original Message----- >> >> From: Jason Wang [mailto:jasowang@redhat.com] >> >> Sent: Monday, February 2, 2015 7:09 PM >> >> To: Dexuan Cui >> >> Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; >> >> driverdev- >> >> devel@linuxdriverproject.org; olaf@aepfle.de; >> apw@canonical.com; KY >> >> Srinivasan; vkuznets@redhat.com; Haiyang Zhang >> >> Subject: RE: [PATCH v2 1/3] hv: hv_util: move vmbus_open() to a >> >> later place >> >> >> >> >> >> >> >> On Mon, Feb 2, 2015 at 6:09 PM, Dexuan Cui <decui@microsoft.com> >> >> wrote: >> >> >> -----Original Message----- >> >> >> From: Jason Wang [mailto:jasowang@redhat.com] >> Sent: >> Monday, >> >> February 2, 2015 17:36 PM >> To: Dexuan Cui >> Cc: >> >> gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; >> >> >> driverdev- >> devel@linuxdriverproject.org; olaf@aepfle.de; >> >> apw@canonical.com; KY >> Srinivasan; vkuznets@redhat.com; >> Haiyang >> >> Zhang >> Subject: Re: [PATCH v2 1/3] hv: hv_util: move >> vmbus_open() >> >> to a >> later place >> >> >> >> On Mon, Feb 2, 2015 at >> 12:35 >> >> PM, Dexuan Cui <decui@microsoft.com> >> wrote: >> >> >> > Before the line vmbus_open() returns, srv->util_cb can be >> >> already >> > running > and the variables, like >> util_fw_version, are >> >> needed by >> the > srv->util_cb. >> >> >> >> >> >> A questions is why we do this for util only? Can callbacks >> of >> >> other >> devices be called before vmbus_open() returns? >> >> > The variables are used in vmbus_prep_negotiate_resp(), which >> is >> >> only > for the util devices. >> >> > >> >> > I think the other devices should already handle the similar >> issue >> >> > properly. >> >> > If this is not the case, we need to fix them too. >> >> >> >> Better to check all the others, e.g in balloon_probe(), it call >> >> hv_set_drvdata() after vmbus_open() and dose several datas >> setups in >> >> the middle. If balloon_onchannelcallback() could be called >> before >> >> hv_set_drvdata(), the code looks wrong. >> > >> > Jason, >> > >> > For all other device types, the guest initiates the communication >> with >> > the host and potentially negotiates appropriate (supported) >> version >> > with the host. For the services packaged in the util driver, the >> flow >> > is a little different - the host pushes the version information >> into >> > the guest. So, the fix Dexuan made is only needed in the util >> driver. >> > >> > Regards, >> > >> > K. Y >> >> Thanks, so you mean for other device, it won't get any interrupt >> before guest >> negotiate the version with host? > > Yes, the guest initiates the version negotiation. Are you seeing > something different? > > K. Y
No, thanks.
| |