Date: Tue, 15 Jul 2003 08:33:49 -0300 From: "Daniel C. Sobral" <dcs@tcoip.com.br> To: Mike Silbersack <silby@silby.com> Cc: arch@freebsd.org Subject: Re: 4.x mbuf binary compatibility; can it be broken? Message-ID: <3F13E69D.3050001@tcoip.com.br> In-Reply-To: <20030714164426.R8225@odysseus.silby.com> References: <20030714164426.R8225@odysseus.silby.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Silbersack wrote:
> In the process of hunting down reported panics in xl_newbuf, I've come to
> the conclusion that the panics are a result of mbuf cluster refcounts
> overflowing. This is not too surprising, as we use an array of chars to
> store the refcounts. (-current uses ints, and doesn't have this problem.)
>
> It's easy enough to switch from a char to an int array in 4.x to fix the
> problem there, but there is a problem: Our friendly mbuf macros (MCLALLOC
> and MCLFREE) manipulate the refcount. This means that 3rd party modules
> which use the macros will no longer work properly.
>
> Hence, the question posed on the subject line. Aside from putting hacks
> in many of the mbuf functions so that they avoid reference counts growing
> into the danger zone, there's no solution to the problem that I can see.
>
> So, what's our policy on ABI breakage for modules? It'd be nice to ignore
> this problem, but the xl-related PRs filed which seem to describe this
> exact problem are too numerous to ignore. (No, this isn't if_xl's fault;
> it's simply a victim because it properly uses its descriptor lists,
> thereby using mbuf cluster refcounts rather than packet copies as many
> cheaper NICs are required to do.)
I think that breaking the ABI at the winter of 4.x is a bad idea. It
would be bad at it's spring, but given the seriousness of the matter,
perhaps a necessity. At this point, though? Dubious proposition...
--
Daniel C. Sobral (8-DCS)
Gerencia de Operacoes
Divisao de Comunicacao de Dados
Coordenacao de Seguranca
VIVO Centro Oeste Norte
Fones: 55-61-313-7654/Cel: 55-61-9618-0904
E-mail: Daniel.Capo@tco.net.br
Daniel.Sobral@tcoip.com.br
dcs@tcoip.com.br
Outros:
dcs@newsguy.com
dcs@freebsd.org
capo@notorious.bsdconspiracy.net
To avoid criticism, do nothing, say nothing, be nothing.
-- Elbert Hubbard
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F13E69D.3050001>
