All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: KY Srinivasan <kys@microsoft.com>
Cc: "gregkh@suse.de" <gregkh@suse.de>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>,
	"virtualization@lists.osdl.org" <virtualization@lists.osdl.org>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	"Abhishek Kane (Mindtree Consulting PVT LTD)"
	<v-abkane@microsoft.com>
Subject: Re: [PATCH 08/25] Staging: hv: vmbus_driver cannot be unloaded; cleanup accordingly
Date: Wed, 27 Apr 2011 17:20:18 -0700	[thread overview]
Message-ID: <20110428002018.GC14294@kroah.com> (raw)
In-Reply-To: <6E21E5352C11B742B20C142EB499E0481DD1C9@TK5EX14MBXC124.redmond.corp.microsoft.com>

On Wed, Apr 27, 2011 at 02:31:18AM +0000, KY Srinivasan wrote:
> 
> 
> > -----Original Message-----
> > From: Greg KH [mailto:greg@kroah.com]
> > Sent: Tuesday, April 26, 2011 6:46 PM
> > To: KY Srinivasan
> > Cc: gregkh@suse.de; linux-kernel@vger.kernel.org;
> > devel@linuxdriverproject.org; virtualization@lists.osdl.org; Haiyang Zhang;
> > Abhishek Kane (Mindtree Consulting PVT LTD)
> > Subject: Re: [PATCH 08/25] Staging: hv: vmbus_driver cannot be unloaded;
> > cleanup accordingly
> > 
> > On Tue, Apr 26, 2011 at 09:20:25AM -0700, K. Y. Srinivasan wrote:
> > > The vmbus driver cannot be unloaded; the windows host does not
> > > permit this. Cleanup accordingly.
> > 
> > Woah, you just prevented this driver from ever being able to be
> > unloaded.
> 
> It was never unloadable; while the driver defined an exit routine, 
> there were couple of issues unloading the vmbus driver:
>  
> 1) All guest resources given to the host could not be recovered.

Is this a problem in the Linux side?  If so, that could easily be fixed.

> 2) Windows host would not permit reloading the driver without 
> rebooting the guest.

That's a different issue, and one that I am very surprised to hear.
That kind of invalidates ever being able to update the driver in a guest
for a long-running system that you want to migrate and not reboot.  That
sounds like a major bug in hyper-v, don't you agree?

> All I did was acknowledge the current state and cleanup 
> accordingly. This is not unique to Hyper-V; for what it is worth,
> the Xen platform_pci  driver which is equivalent to the vmbus driver
> is also not unlodable (the last time I checked).

Why isn't that allowed to be unloaded?  What happens if it does?

I would like to see the following be possible from Linux:
	- running Linux guest on hyperv
	- need to migrate to a newer version of hyper-v
	- pause long-running userspace processes.
	- unload hyperv modules
	- migrate guest to newer hyperv version (possible different host
	  machine)
	- load newer hyperv modules
	- resume long-running guest processes

If this isn't possible due to hyper-v bugs, then I guess we need to be
able to live with it, but we had better advertise it pretty well as I
know people will want to be able to do the above sequence for their
guest instances.

If so, can you expand this patch to say more in the changelog entry, and
resend the remaining patches that I didn't apply as they are now gone
from my pending-patch queue.

> > That's not a "cleanup" that's a major change in how things work.  I'm
> > sure, if you want to continue down this line, there are more things you
> > can remove from the code, right?
> > 
> > What is the real issue here?  What happens if you unload the bus?  What
> > goes wrong?  Can it be fixed?
> 
> This needs to be fixed on the host side. I have notified them of the issue. 

Ok, so if this is going to be fixed, why do we need to prevent this from
ever being possible to have happen on our side?

thanks,

greg k-h

  parent reply	other threads:[~2011-04-28  0:20 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-26 16:19 [PATCH 00/25] Staging: hv: Cleanup vmbus driver code K. Y. Srinivasan
2011-04-26 16:20 ` [PATCH 01/25] Staging: hv: Introduce a function to map a generic driver pointer to a pointer to storvsc_driver_object K. Y. Srinivasan
2011-04-26 16:20   ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 02/25] Staging: hv: Get rid of the references to the priv element of struct hv_driver in block driver K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 03/25] Staging: hv: Get rid of the references to the priv element of struct hv_driver in hv_mouse.c K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 04/25] Staging: hv: Introduce a function to map a generic driver pointer to a pointer to struct netvsc_driver K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 05/25] Staging: hv: Get rid of the references to the priv element of struct hv_driver in net driver K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 06/25] Staging: hv: Get rid of the references to the priv element of struct hv_driver in storvsc_drv.c K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 07/25] Staging: hv: Cleanup vmbus_match() K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 08/25] Staging: hv: vmbus_driver cannot be unloaded; cleanup accordingly K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 22:45     ` Greg KH
2011-04-26 22:45       ` Greg KH
2011-04-27  2:31       ` KY Srinivasan
2011-04-27  4:55         ` uabuntsu
2011-04-27  4:55           ` uabuntsu
2011-04-28  0:20         ` Greg KH [this message]
2011-04-29 13:49           ` KY Srinivasan
2011-04-29 15:10             ` Greg KH
2011-04-29 17:40               ` KY Srinivasan
2011-04-29 22:02               ` KY Srinivasan
2011-04-29 23:14                 ` Greg KH
2011-04-29 23:22                   ` KY Srinivasan
2011-04-26 16:20   ` [PATCH 09/25] Staging: hv: Get rid of vmbus_release_unattached_channels() as it is not used K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 10/25] Staging: hv: Get rid of the priv pointer in struct hv_driver K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 11/25] Staging: hv: Get rid of the drv field in struct hv_device K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 22:56     ` Greg KH
2011-04-27  1:55       ` KY Srinivasan
2011-04-27  1:55         ` KY Srinivasan
2011-04-26 16:20   ` [PATCH 12/25] Staging: hv: Cleanup error handling in vmbus_child_device_register() K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 22:50     ` Greg KH
2011-04-27  2:11       ` KY Srinivasan
2011-04-28  0:25         ` Greg KH
2011-04-29 15:45           ` KY Srinivasan
2011-04-26 16:20   ` [PATCH 13/25] Staging: hv: Cleanup vmbus_probe() function K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 14/25] Staging: hv: Properly handle errors in hv_pci_probe() K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 15/25] Staging: hv: Make hv_pci_dev a static variable K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 16/25] Staging: hv: Make msg_dpc a global variable K. Y. Srinivasan
2011-04-26 22:43     ` Greg KH
2011-04-26 16:20   ` [PATCH 17/25] Staging: hv: Make event_dpc " K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 22:43     ` Greg KH
2011-04-26 22:43       ` Greg KH
2011-04-26 16:20   ` [PATCH 18/25] Staging: hv: Get rid of struct hv_bus K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 19:40     ` Greg KH
2011-04-26 20:23       ` KY Srinivasan
2011-04-26 20:58         ` Greg KH
2011-04-26 20:58           ` Greg KH
2011-04-26 22:12           ` KY Srinivasan
2011-04-26 16:20   ` [PATCH 19/25] Staging: hv: Add probe function to struct hv_driver K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 20/25] Staging: hv: Use the probe function in " K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:51     ` Christoph Hellwig
2011-04-26 16:20   ` [PATCH 21/25] Staging: hv: Add remove() function to " K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 22/25] Staging: hv: Use the remove() function in " K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 23/25] Staging: hv: Add shutdown() function to " K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 24/25] Staging: hv: Use the shutdown() function in " K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:20   ` [PATCH 25/25] Staging: hv: VMBUS is a acpi enumerated device; get irq value from bios K. Y. Srinivasan
2011-04-26 16:20     ` K. Y. Srinivasan
2011-04-26 16:57 ` [PATCH 00/25] Staging: hv: Cleanup vmbus driver code Christoph Hellwig
2011-04-26 17:04   ` KY Srinivasan
2011-04-26 17:04     ` KY Srinivasan
2011-04-26 19:39     ` Greg KH
2011-04-26 23:28 ` Greg KH
2011-04-27  1:54   ` KY Srinivasan
2011-04-27  6:45     ` Christoph Hellwig
2011-04-27 11:47       ` KY Srinivasan
2011-04-27 12:18         ` Christoph Hellwig
2011-04-29 16:32           ` KY Srinivasan
2011-04-29 16:40             ` Greg KH
2011-04-29 17:32               ` KY Srinivasan
2011-05-01 15:40               ` Christoph Hellwig
2011-05-01 15:46                 ` KY Srinivasan
2011-05-01 16:07                   ` Christoph Hellwig
2011-05-01 18:08                     ` KY Srinivasan
2011-05-01 20:53                       ` Christoph Hellwig
2011-05-02 19:48                         ` KY Srinivasan
2011-05-02 20:00                           ` Christoph Hellwig
2011-05-02 21:16                             ` KY Srinivasan
2011-05-02 21:35                               ` Christoph Hellwig
2011-05-02 22:11                                 ` KY Srinivasan
2011-05-01 15:39             ` Christoph Hellwig
2011-05-01 15:47               ` Greg KH
2011-05-01 18:56                 ` KY Srinivasan
2011-05-01 18:56                   ` KY Srinivasan
2011-05-01 20:47                   ` Christoph Hellwig
2011-04-28  0:28     ` Greg KH
2011-04-29 14:26       ` KY Srinivasan
2011-04-29 14:26         ` KY Srinivasan
2011-04-29 15:08         ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110428002018.GC14294@kroah.com \
    --to=greg@kroah.com \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@suse.de \
    --cc=haiyangz@microsoft.com \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=v-abkane@microsoft.com \
    --cc=virtualization@lists.osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.