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

Re: [Xen-devel][PATCH] netback: netif cleanup



This looks like a hack. I think you'd get most of the benefit by simply
always calling net_tx_action_dealloc() at the top of net_tx_action() (i.e.,
remove the dealloc_cons!=dealloc_prod conditional). I think the presence of
that conditional is actually a bug, and removing it should get interface
shutdowns to a reasonable time with no other changes.

 -- Keir

On 06/12/2009 17:18, "Ky Srinivasan" <ksrinivasan@xxxxxxxxxx> wrote:

> 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
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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