All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Liu <wei.liu2@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	wei.liu2@citrix.com, Ian Campbell <ian.campbell@citrix.com>,
	xen-devel@lists.xen.org
Subject: Re: xl dev-detach hangs with missing frontends
Date: Fri, 12 Feb 2016 14:07:52 +0000	[thread overview]
Message-ID: <20160212140752.GA5427@citrix.com> (raw)
In-Reply-To: <20160211103749.GA26883@aepfle.de>

CC'ing other tools maintainer.

On Thu, Feb 11, 2016 at 11:37:49AM +0100, Olaf Hering wrote:
> How should libxl__initiate_device_generic_remove deal with devices which

I think you meant libxl__initiate_device_remove. There is no function
called libxl__initiate_device_generic _remove.

> have no frontend driver? Right now it moves "state" from either
> XenbusStateInitialising or XenbusStateInitWait to XenbusStateClosing.
> Then it expects the backend to move "state" to XenbusStateClosed. This
> will never happen, at least for netback and scsiback. The result is a 10
> second delay.
> 

I don't think there is a way to tell whether there is no frontend driver
or the frontend driver is just too slow.

Do you think the timeout is too long?

Wei.

> 
> # xl -vvvv network-detach $domU $mac
> 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl.c:4614:libxl_device_nic_remove: ao 0x19b3870: create: how=(nil) callback=(nil) poller=0x19b0200
> 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl_event.c:636:libxl__ev_xswatch_register: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/0: register slotnum=3
> 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl.c:4614:libxl_device_nic_remove: ao 0x19b3870: inprogress: poller=0x19b0200, flags=i
> 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl_event.c:573:watchfd_callback: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/0: event epath=/local/domain/0/backend/vif/10/1/state
> 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl_event.c:878:devstate_callback: backend /local/domain/0/backend/vif/10/1/state wanted state 6 still waiting state 5
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_aoutils.c:88:xswait_timeout_callback: backend /local/domain/0/backend/vif/10/1/state (hoping for state change to 6): xswait timeout (path=/local/domain/0/backend/vif/10/1/state)
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:673:libxl__ev_xswatch_deregister: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/0: deregister slotnum=3
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:862:devstate_callback: backend /local/domain/0/backend/vif/10/1/state wanted state 6  timed out
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2c40: deregister unregistered
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:939:device_backend_callback: calling device_backend_cleanup
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2c40: deregister unregistered
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:945:device_backend_callback: Timeout reached, initiating forced remove
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:636:libxl__ev_xswatch_register: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/1: register slotnum=3
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:573:watchfd_callback: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/1: event epath=/local/domain/0/backend/vif/10/1/state
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:874:devstate_callback: backend /local/domain/0/backend/vif/10/1/state wanted state 6 ok
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:673:libxl__ev_xswatch_deregister: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/1: deregister slotnum=3
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:939:device_backend_callback: calling device_backend_cleanup
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2c40: deregister unregistered
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:1036:device_hotplug: calling hotplug script: /opt/xen/staging-wip/etc/xen/scripts/vif-bridge offline
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to execute: /opt/xen/staging-wip/etc/xen/scripts/vif-bridge offline
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:542:watchfd_callback: watch epath=/local/domain/0/backend/vif/10/1/state token=3/1: empty slot
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2d40: deregister unregistered
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:1023:device_hotplug: No hotplug script to execute
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2d40: deregister unregistered
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:1869:libxl__ao_complete: ao 0x19b3870: complete, rc=0
> 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:1838:libxl__ao__destroy: ao 0x19b3870: destroy
> 2016-02-11 11:33:29 CET [20318] xencall:buffer: debug: total allocations:22 total releases:22
> 2016-02-11 11:33:29 CET [20318] xencall:buffer: debug: current allocations:0 maximum allocations:2
> 2016-02-11 11:33:29 CET [20318] xencall:buffer: debug: cache current size:2
> 2016-02-11 11:33:29 CET [20318] xencall:buffer: debug: cache hits:14 misses:2 toobig:6
> # echo $?
> 0
> 
> At least ${dev}-detach reports no error in this case.
> 
> Olaf
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

  reply	other threads:[~2016-02-12 14:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-11 10:37 xl dev-detach hangs with missing frontends Olaf Hering
2016-02-12 14:07 ` Wei Liu [this message]
2016-02-12 14:53   ` Olaf Hering
2016-02-12 16:56     ` Wei Liu

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=20160212140752.GA5427@citrix.com \
    --to=wei.liu2@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=olaf@aepfle.de \
    --cc=xen-devel@lists.xen.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.