From owner-freebsd-arch@FreeBSD.ORG Mon Jul 14 15:18:06 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CE46E37B404 for ; Mon, 14 Jul 2003 15:18:06 -0700 (PDT) Received: from rwcrmhc11.comcast.net (rwcrmhc11.comcast.net [204.127.198.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F9FF43FD7 for ; Mon, 14 Jul 2003 15:18:01 -0700 (PDT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org ([12.233.125.100]) by attbi.com (rwcrmhc11) with ESMTP id <2003071422175801300njn74e>; Mon, 14 Jul 2003 22:17:58 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id PAA78705; Mon, 14 Jul 2003 15:17:58 -0700 (PDT) Date: Mon, 14 Jul 2003 15:17:56 -0700 (PDT) From: Julian Elischer To: Mike Silbersack In-Reply-To: <20030714164426.R8225@odysseus.silby.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: arch@freebsd.org Subject: Re: 4.x mbuf binary compatibility; can it be broken? X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jul 2003 22:18:07 -0000 On Mon, 14 Jul 2003, 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. > As the user of a 3rd party driver (binary only) PLEASE don't do this.. How does it get 255+ references? > 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.) > > Thanks, > > Mike "Silby" Silbersack > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org" >