[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] xenwatch_dev_cb into D states with abnormal socket connect between host and VM



Hi,

 

I have met a netback issue.

 

when a socket connect between Host and VMthe server in Host and client in VMif the client send messagebut server don’t receive packet with some unknown reasonnow shutdown the VM

netback’s xenwatch_dev_cb kernel thread into D states, Until kill server process, netback exit D states,

 

the stack of xenwatch_dev_cb is:

[<ffffffffa0947135>] netif_disconnect+0x75/0x200 [netbk]

[<ffffffffa0945f06>] netback_disconnect+0x76/0xb0 [netbk]

[<ffffffffa094671a>] frontend_changed+0x12a/0x430 [netbk]

[<ffffffff802f5add>] xenwatch_dev_callback+0x8d/0x120

[<ffffffff80069c16>] kthread+0x96/0xa0

[<ffffffff80415f74>] kernel_thread_helper+0x4/0x10

 

By analyzing the module drivers/xen/netback, I think the reason is as follows:

1.       the thread hold in wait_event(netif->waiting_to_free, atomic_read(&netif->refcnt) == 0) in netif_disconnect fun, because netif->refcnt not equal 0

2.       when the socket connected but server don’t receive packetthe skb from netback will be queued in socket’s list, and skb’s page can’t be unmap, the netback’s refcnt can’t be decrease.

 

Xen4.1.2 and host is SUSE 11 SP3, kernel 3.0.93-0.8-xen;

 

Does anyone have met such problems? Thanks.

 

Best regards,

Zhang Yabin

 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.