From owner-freebsd-net Wed Jun 28 7:10: 9 2000 Delivered-To: freebsd-net@freebsd.org Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by hub.freebsd.org (Postfix) with ESMTP id 9210337BA40; Wed, 28 Jun 2000 07:09:47 -0700 (PDT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.9.3/8.9.3) with ESMTP id KAA28568; Wed, 28 Jun 2000 10:09:38 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.9.3/8.9.1) id KAA82384; Wed, 28 Jun 2000 10:09:38 -0400 (EDT) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Wed, 28 Jun 2000 10:09:38 -0400 (EDT) To: Bosko Milekic Cc: freebsd-hackers@freebsd.org, freebsd-net@freebsd.org Subject: Re: mbuf re-write(s): v 0.2: request-for-comments In-Reply-To: References: X-Mailer: VM 6.43 under 20.4 "Emerald" XEmacs Lucid Message-ID: <14681.63578.312644.776689@grasshopper.cs.duke.edu> Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Bosko Milekic writes: > This code includes all that was discussed in the previous Email, as > well as a better/actually working external storage facility for clusters. > Previously, it was very difficult to allocate external storage, attach it > to the mbuf, _and_ as well maintain a reference counter for it, primarily > due to the arguments that were taken by ext_free() and ext_buf(). These > have been changed to have a new void * pointer passed in as the second > argument (following the base address of the storage buffer). Also has > been included a void * multi-purpose ext_args pointer in the m_ext > struct, so the caller has much more flexibility now. In fact, the caller > can now attach a "management" or "reference" structure to the m_ext > struct via the ext_args pointer, and have it passed to his ext_free and > ext_buf routines. Naturally, for dynamically sized malloc() external YES! This is wonderful news. I started coding device drivers on Digital UNIX and have long missed this feature. I can't count the number of times I've gotten 90% of the way through doing something with ext mubfs & thought to myself "oh hell, now what am I going to do for an m_ext.ext_ref() function?" On a less enthusiastic note, the amount of whitespace changes make it very difficult to eyeball your diff. Could you re-roll your diffs with -b (to ignore your whitespace changes). ------------------------------------------------------------------------------ Andrew Gallatin, Sr Systems Programmer http://www.cs.duke.edu/~gallatin Duke University Email: gallatin@cs.duke.edu Department of Computer Science Phone: (919) 660-6590 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message