summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorluigi <luigi@FreeBSD.org>2001-12-14 17:31:58 +0000
committerluigi <luigi@FreeBSD.org>2001-12-14 17:31:58 +0000
commit34c1073cfc26bcfb3b31de63c71ab21bcd44065e (patch)
tree8672d993580f6e21ce7168dc25161beac5dc7887
parent6829d5b1436ba592199aaf5d484f887d3064c9a9 (diff)
downloadFreeBSD-src-34c1073cfc26bcfb3b31de63c71ab21bcd44065e.zip
FreeBSD-src-34c1073cfc26bcfb3b31de63c71ab21bcd44065e.tar.gz
Let M_LEADINGSPACE write into non-shared mbufs.
A similar thing has been in -stable for weeks and is completely safe. This has very good performance implications as it saves some data copying, and sometimes avoids triggering performance bugs in devices (such as the "dc" and other Tulip clones) which do not like scattered data.
-rw-r--r--sys/sys/mbuf.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h
index 1f18173..e563f05 100644
--- a/sys/sys/mbuf.h
+++ b/sys/sys/mbuf.h
@@ -360,7 +360,7 @@ struct mbstat {
*/
#define M_LEADINGSPACE(m) \
((m)->m_flags & M_EXT ? \
- /* (m)->m_data - (m)->m_ext.ext_buf */ 0 : \
+ (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0): \
(m)->m_flags & M_PKTHDR ? (m)->m_data - (m)->m_pktdat : \
(m)->m_data - (m)->m_dat)
OpenPOWER on IntegriCloud