[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Fix device removal on net and block frontend drivers
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote on 11/21/2005 01:31:48 PM: > On Mon, Nov 21, 2005 at 11:49:19AM -0500, Stefan Berger wrote: > > > Murillo Fernandes Bernardes <mfb@xxxxxxxxxx> wrote on 11/21/2005 11:33:31 > > AM: > > > > > On Monday 21 November 2005 14:07, Stefan Berger wrote: > > > > xen-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote on 11/21/2005 10:43:01 AM: > > > > > Frontend devices are not being unregistered when in closed state. > > The > > > > > following patch fix that. > > > > > > > > > > Fix bug #420. > > > > > > > > > > Makes "05_attach_and_dettach_device_repeatedly_pos" and > > > > > "09_attach_and_dettach_device_check_data_pos" tests pass. > > > > > > > > Did you test this with suspending / resuming a dom U? The reason I am > > > > asking is that when suspending the driver immediately gets into state > > > > 'Closed' and when resuming into state 'Connected', but now your > > device is > > > > unregistered. > > > > > > No, I did not test suspend/resume. > > > > > > I really don't see why it should get into Closed on suspend, but anyway, > > is > > > this really hapenning? I could not find any switch to Closed into > > suspend's > > > code, neither on resume. > > xenbus_read_driver_state returns Closed if the backend path is no longer > present. Maybe this is where the Closed has come from. However, > xenbus_probe.c:otherend_changed is supposed to be protecting us from watches > that have fired immediately after a resume. > > Could you please enable the DPRINTK in xenbus_probe and see whether the Closed > is coming through the test in otherend_changed? This would help diagnose the > problem. Here's the log from domain 0's /var/log/messages: Nov 21 14:54:43 jlfb-2 gpm[2667]: *** info [startup.c(95)]: Nov 21 14:54:43 jlfb-2 gpm[2667]: Started gpm successfully. Entered daemon mode. Nov 21 14:54:43 jlfb-2 gpm[2667]: *** info [mice.c(1766)]: Nov 21 14:54:43 jlfb-2 gpm[2667]: imps2: Auto-detected intellimouse PS/2 Nov 21 14:54:52 jlfb-2 fstab-sync[2817]: removed all generated mount points Nov 21 14:54:55 jlfb-2 kernel: xenbus;_probe (xenbus_probe_backend:639) . Nov 21 14:54:55 jlfb-2 kernel: xenbus;_probe (xenbus_probe_backend_unit:624) backend/vif/15/0 Nov 21 14:54:55 jlfb-2 kernel: . Nov 21 14:54:55 jlfb-2 kernel: xenbus;_probe (xenbus_probe_backend:639) . Nov 21 14:54:55 jlfb-2 kernel: xenbus;_probe (xenbus_probe_backend_unit:624) backend/vtpm/15/6 Nov 21 14:54:55 jlfb-2 kernel: . Nov 21 14:54:55 jlfb-2 kernel: xenbus;_probe (xenbus_probe_backend:639) . Nov 21 14:54:55 jlfb-2 kernel: xenbus;_probe (xenbus_probe_backend_unit:624) backend/vtpm/2/6 Nov 21 14:54:55 jlfb-2 kernel: . Nov 21 14:54:55 jlfb-2 kernel: xenbus;_probe (frontend_changed:763) . Nov 21 14:54:55 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Nov 21 14:54:55 jlfb-2 gconfd (root-2848): starting (version 2.10.0), pid 2848 user 'root' Nov 21 14:54:55 jlfb-2 gconfd (root-2848): Resolved address "xml:readonly:/etc/gconf/gconf.xml.mandatory" to a read-only configuration source at position 0 Nov 21 14:54:55 jlfb-2 gconfd (root-2848): Resolved address "xml:readwrite:/root/.gconf" to a writable configuration source at position 1 Nov 21 14:54:56 jlfb-2 gconfd (root-2848): Resolved address "xml:readonly:/etc/gconf/gconf.xml.defaults" to a read-only configuration source at position 2 Nov 21 14:55:03 jlfb-2 gconfd (root-2848): Resolved address "xml:readwrite:/root/.gconf" to a writable configuration source at position 0 below: starting user domain Nov 21 14:55:40 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Nov 21 14:55:40 jlfb-2 kernel: xenbus;_probe (xenbus_hotplug_backend:232) . Nov 21 14:55:40 jlfb-2 kernel: xenbus;_probe (xenbus_dev_probe:338) . Nov 21 14:55:40 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Nov 21 14:55:40 jlfb-2 last message repeated 5 times Nov 21 14:55:40 jlfb-2 kernel: xenbus;_probe (otherend_changed:307) state is 1, /local/domain/1/device/vif/0/state, /local/domain/1/device/vif/0/state. Nov 21 14:55:40 jlfb-2 kernel: xenbus;_probe (xenbus_hotplug_backend:232) . Nov 21 14:55:40 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Nov 21 14:55:41 jlfb-2 kernel: device vif1.0 entered promiscuous mode Nov 21 14:55:41 jlfb-2 kernel: xenbr0: port 1(vif1.0) entering learning state Nov 21 14:55:41 jlfb-2 kernel: xenbr0: topology change detected, propagating Nov 21 14:55:41 jlfb-2 kernel: xenbr0: port 1(vif1.0) entering forwarding state Nov 21 14:55:41 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Nov 21 14:55:45 jlfb-2 kernel: xenbus;_probe (otherend_changed:307) state is 4, /local/domain/1/device/vif/0/state, /local/domain/1/device/vif/0/state. Nov 21 14:55:45 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . below: suspending user domain Nov 21 14:56:09 jlfb-2 kernel: xenbus;_probe (otherend_changed:307) state is 6, /local/domain/1/device/vif/0/state, /local/domain/1/device/vif/0/state. Nov 21 14:56:09 jlfb-2 kernel: xenbus;_probe (xenbus_dev_remove:376) . Nov 21 14:56:09 jlfb-2 kernel: xenbr0: port 1(vif1.0) entering disabled state Nov 21 14:56:09 jlfb-2 kernel: xenbus;_probe (xenbus_hotplug_backend:232) . Nov 21 14:56:09 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Nov 21 14:56:09 jlfb-2 kernel: device vif1.0 left promiscuous mode Nov 21 14:56:09 jlfb-2 kernel: xenbr0: port 1(vif1.0) entering disabled state Nov 21 14:56:09 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . below: resuming user domain Nov 21 14:56:30 jlfb-2 last message repeated 2 times Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (xenbus_hotplug_backend:232) . Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (xenbus_dev_probe:338) . Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Nov 21 14:56:30 jlfb-2 last message repeated 5 times Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (otherend_changed:307) state is 1, /local/domain/2/device/vif/0/state, /local/domain/2/device/vif/0/state. Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (xenbus_hotplug_backend:232) . Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (otherend_changed:307) state is 6, /local/domain/2/device/vif/0/state, /local/domain/2/device/vif/0/state. Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (xenbus_dev_remove:376) . Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (xenbus_hotplug_backend:232) . Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Nov 21 14:56:30 jlfb-2 kernel: device vif2.0 entered promiscuous mode Nov 21 14:56:30 jlfb-2 kernel: xenbr0: port 1(vif2.0) entering learning state Nov 21 14:56:30 jlfb-2 kernel: xenbr0: topology change detected, propagating Nov 21 14:56:30 jlfb-2 kernel: xenbr0: port 1(vif2.0) entering forwarding state Nov 21 14:56:30 jlfb-2 kernel: xenbus;_probe (backend_changed:771) . Result: eth0 is gone. This is a user domain that is booting into a RAM disk. Memory of the user domain is 64M. Stefan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |