[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel][PATCH] netback: netif cleanup
We have seen cases where, when a guest is shutdown during heavy network traffic, the backend vif hangs around for considerable amounts of time holding up the xenbus thread for the duration of the cleanup. We have seen cases (HP, Novell) where it has taken hours to cleanup the interface and for that duration we cannot launch new guests. We have traced this problem to the fact that the front-end can shutdown with transmit resources still in transit on the back-end side. On the back-end side, the moment the carrier is turned off on the interface, the interface is not eligible for further scheduling in the backend. Since turning off the carrier happens completely asynchronously with the rest of the packet processing in the back-end (via tasklets today), we can have situations where the vif cannot be cleaned up for a significant amount of time. I am attaching a patch for addressing this issue. I have tried to fix the problem with minimal changes to the current code. The main idea is to cleanup the guest transmit resources quickly and aggressively. With this patch, the cleanup time has been dramatically reduced. Even in this patch, the xenbus thread is held up for the duration of the cleanup - however we attempt to cleanup aggressively. This is in comparison to the current code where the xenbus thread just waits for the refcnt on the interface to drop to zero. An obvious improvement would be to not tie up the xenbus thread for the duration of cleaning up the interface. If there is interest, I can submit a patch for doing this. This patch has been tested on 2.6.16 (SLES10 sp2, sp3 kernels) as well as 2.6.27 (sles11) kernel. This patch is however against the 2.6.18-xen.hg sources. Signed-off-by: K. Y. Srinivasan <ksrinivasan@xxxxxxxxxx> Regards, K. Y Attachment:
netback-vif-cleanup.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |