svn commit: r202406 - head/sys/dev/bge
Pyun YongHyeon
yongari at FreeBSD.org
Fri Jan 15 17:55:19 UTC 2010
Author: yongari
Date: Fri Jan 15 17:55:18 2010
New Revision: 202406
URL: http://svn.freebsd.org/changeset/base/202406
Log:
Don't free mbuf chains when bge(4) fails to collapse the mbuf
chains. This part of code is to enhance performance so failing the
collapsing should not free TX frames. Otherwise bge(4) will
unnecessarily drop frames which in turn can freeze the network
connection.
Reported by: Igor Sysoev (is <> rambler-co dot ru)
Tested by: Igor Sysoev (is <> rambler-co dot ru)
Modified:
head/sys/dev/bge/if_bge.c
Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c Fri Jan 15 16:57:53 2010 (r202405)
+++ head/sys/dev/bge/if_bge.c Fri Jan 15 17:55:18 2010 (r202406)
@@ -3950,11 +3950,8 @@ bge_encap(struct bge_softc *sc, struct m
m = m_defrag(m, M_DONTWAIT);
else
m = m_collapse(m, M_DONTWAIT, sc->bge_forced_collapse);
- if (m == NULL) {
- m_freem(*m_head);
- *m_head = NULL;
- return (ENOBUFS);
- }
+ if (m == NULL)
+ m = *m_head;
*m_head = m;
}
More information about the svn-src-all
mailing list