Date: Wed, 27 May 2009 13:59:17 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r192894 - head/sys/dev/xen/netfront Message-ID: <200905271359.n4RDxIkW098923@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Wed May 27 13:59:17 2009 New Revision: 192894 URL: http://svn.freebsd.org/changeset/base/192894 Log: Clear IFF_DRV_OACTIVE if at least one TX xen/mbuf ring slot has been freed. Modified: head/sys/dev/xen/netfront/netfront.c Modified: head/sys/dev/xen/netfront/netfront.c ============================================================================== --- head/sys/dev/xen/netfront/netfront.c Wed May 27 12:44:36 2009 (r192893) +++ head/sys/dev/xen/netfront/netfront.c Wed May 27 13:59:17 2009 (r192894) @@ -1099,6 +1099,8 @@ xn_txeof(struct netfront_info *np) panic("netif_release_tx_bufs: tx_chain_cnt must be >= 0"); } m_free(m); + /* Only mark the queue active if we've freed up at least one slot to try */ + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; } np->tx.rsp_cons = prod; @@ -1115,7 +1117,6 @@ xn_txeof(struct netfront_info *np) prod + ((np->tx.sring->req_prod - prod) >> 1) + 1; mb(); - } while (prod != np->tx.sring->rsp_prod); out:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905271359.n4RDxIkW098923>