Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Oct 2001 12:17:24 -0400
From:      Bosko Milekic <bmilekic@technokratis.com>
To:        "Keiichi SHIMA / ?$BEg7D0l?(B" <keiichi@iij.ad.jp>
Cc:        David Malone <dwmalone@maths.tcd.ie>, Luigi Rizzo <rizzo@aciri.org>, Alfred Perlstein <bright@mu.org>, net@FreeBSD.ORG
Subject:   Re: performance issues with M_PREPEND on clusters
Message-ID:  <20011026121724.A21512@technokratis.com>
In-Reply-To: <86u1wmlj1s.wl@keiichi01.osaka.iij.ad.jp>; from keiichi@iij.ad.jp on Fri, Oct 26, 2001 at 08:47:27PM %2B0900
References:  <20011023110307.A34494@iguana.aciri.org> <20011023132813.I15052@elvis.mu.org> <20011023114650.C34494@iguana.aciri.org> <20011023140034.M15052@elvis.mu.org> <20011023140628.A36095@iguana.aciri.org> <20011023185759.A328@technokratis.com> <20011026110635.B14635@walton.maths.tcd.ie> <86u1wmlj1s.wl@keiichi01.osaka.iij.ad.jp>

next in thread | previous in thread | raw e-mail | index | archive | help

On Fri, Oct 26, 2001 at 08:47:27PM +0900, Keiichi SHIMA / ?$BEg7D0l?(B wrote:
> Right.  And we will have a problem if someone changes the semantics of
> M_LEADINGSPACE.  The M_LEADINGSPACE macro of Net/OpenBSD does the same
> as the current FreeBSD does, that is, returns 0 if M_EXT is set.
> 
> > When I looked at this question last year I think I found that there
> > were few enough places in the kernel which used M_LEADINGSPACE, so
> > it should be fairly easy to check them. However, I think several
> > of the uses were in KAME code.
> 
> The patch posted first by Luigi is safe because the patch doesn't
> change any semantics of M_LEADINGSPACE.  I think it (and the patch)
> reasonbale that M_LEADINGSPACE returns 0 when the mbuf (cluster) is
> not writable and the real space when the mbuf (cluster) is writable.
> 
> But, I disagree the later proposal from Bosko that changes the meaning
> of M_LEADINGSPACE.  This leads more ifdefs in the shared code
> (ex. KAME, maybe other cross-platform projects) and the code
> complexity.

  Just because M_LEADINGSPACE may be broken in the other systems does
not mean that it should be broken in our system as well. I am against
sacrificying good code in order to deal with the left-over stupidities
(pardon the seemingly harsh vocabulary) in the other systems, when it
comes to porting.
  You should understand that M_LEADINGSPACE was meant to return the
number of leading bytes in the underlying data buffer and that it was
only broken when someone decided to half-implement ext bufs. This
brokeness happened to live on in present-day systems and unbreaking it
should not be put on hold for the sake of pseudo-compatibility, IMHO.

> ---
> Keiichi SHIMA
> IIJ Research Laboratory  <keiichi@iij.ad.jp>
> KAME Project <keiichi@kame.net>
> 

-- 
 Bosko Milekic
 bmilekic@technokratis.com


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




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