Subject: Re: new mbuf API
To: None <tech-net@NetBSD.org>
From: Pavel Cahyna <pavel@NetBSD.org>
List: tech-net
Date: 04/23/2007 06:55:15
On Mon, Apr 23, 2007 at 12:47:04AM -0500, David Young wrote:
> On Fri, Apr 20, 2007 at 05:24:53PM +0000, Pavel Cahyna wrote:
> *snip snip*
> > I have
> > introduced the notion of "guaranteed contiguous data". If a function
> > makes a range of a mbuf chain contiguous, it also marks it as a
> > guaranteed contiguous region and subsequent calls to mbuf rearranging
> > functions must keep it contiguous.
> > 
> > Unfortunately m_pulldown can't respect it in all cases:
> *snip snip*
> 
> Is there any reason we cannot both forbid m_pulldown for all new code,
> and convert all old uses to the new API?  Just developer time?

The plan is to gradually convert all old uses to the new API and convert
whole subsystems at once, so a subsystem would never use m_pulldown and
the new API together. That's why I don't think it is a big problem 
that m_pulldown does not respect the "guaranteed contiguous area".

IIRC I converted all m_pullup/m_pulldown uses in IPv4/IPv6 and link
layer protocols in my SoC tree.

Pavel