[PATCH v2 1/3] hv: hv_util: move vmbus_open() to a later place

Jason Wang jasowang at redhat.com
Tue Feb 3 04:35:28 UTC 2015



On Tue, Feb 3, 2015 at 11:40 AM, KY Srinivasan <kys at microsoft.com> 
wrote:
> 
> 
>>  -----Original Message-----
>>  From: Jason Wang [mailto:jasowang at redhat.com]
>>  Sent: Monday, February 2, 2015 7:38 PM
>>  To: KY Srinivasan
>>  Cc: Dexuan Cui; gregkh at linuxfoundation.org; 
>> linux-kernel at vger.kernel.org;
>>  driverdev-devel at linuxdriverproject.org; olaf at aepfle.de;
>>  apw at canonical.com; vkuznets at 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 at microsoft.com>
>>  wrote:
>>  >
>>  >
>>  >>  -----Original Message-----
>>  >>  From: Jason Wang [mailto:jasowang at redhat.com]
>>  >>  Sent: Monday, February 2, 2015 7:09 PM
>>  >>  To: Dexuan Cui
>>  >>  Cc: gregkh at linuxfoundation.org; linux-kernel at vger.kernel.org;
>>  >> driverdev-
>>  >>  devel at linuxdriverproject.org; olaf at aepfle.de; 
>> apw at canonical.com; KY
>>  >> Srinivasan; vkuznets at 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 at microsoft.com>
>>  >> wrote:
>>  >>  >>  -----Original Message-----
>>  >>  >>  From: Jason Wang [mailto:jasowang at redhat.com]  >>  Sent: 
>> Monday,
>>  >> February 2, 2015 17:36 PM  >>  To: Dexuan Cui  >>  Cc:
>>  >> gregkh at linuxfoundation.org; linux-kernel at vger.kernel.org;  >>
>>  >> driverdev-  >>  devel at linuxdriverproject.org; olaf at aepfle.de;
>>  >> apw at canonical.com; KY  >> Srinivasan; vkuznets at 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 at 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.



More information about the devel mailing list