Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Dec 1999 17:06:35 -0700 (MST)
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        julian@whistle.com (Julian Elischer)
Cc:        archie@whistle.com (Archie Cobbs), gibbs@FreeBSD.org (Justin T. Gibbs), cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern uipc_mbuf.c src/sys/sys mbuf.h
Message-ID:  <199912020006.RAA45585@panzer.kdm.org>
In-Reply-To: <Pine.BSF.4.10.9912011538100.11380-100000@current1.whistle.com> from Julian Elischer at "Dec 1, 1999 03:39:28 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote...
> basically it's not supposed to be in the hot path.
> It's for debugging and tracing utilities.

As long as m_dup() is not used in the standard network paths, it shouldn't
cause any major problems.

> On Wed, 1 Dec 1999, Archie Cobbs wrote:
> 
> > Justin T. Gibbs writes:
> > > >  Modified files:
> > > >    sys/kern             uipc_mbuf.c 
> > > >    sys/sys              mbuf.h 
> > > >  Log:
> > > >  The functions m_copym() and m_copypacket() return read-only copies,
> > > >  because in the case of mbuf clusters they only increment the reference
> > > >  count rather than actually copying the data.
> > > >  
> > > >  Add comments to this effect, and add a new routine called m_dup() that
> > > >  returns a real, writable copy of an mbuf chain.
> > > 
> > > How does this work in a 0 copy system?
> > 
> > Not sure what a '0 copy system' is..

A zero copy system is a setup in which (at least on the send side) data is
not copied into the kernel before DMAing it to the NIC.

> > Basically all it does is create a completely new mbuf chain containing
> > the same data as the original.  Definitely at least 1 copy :-)
> > 
> > You rarely need this, but 'ipfw tee' is one of those cases.

I take it you need both copies to be writeable in that case?  What are you
writing to the copy?

Ken
-- 
Kenneth Merry
ken@kdm.org


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912020006.RAA45585>