Date: Mon, 30 Jun 1997 18:44:29 -0700 From: Julian Elischer <julian@whistle.com> To: Vivek Sadananda Pai <vivek@cs.rice.edu> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: mbuf external storage Message-ID: <33B860FD.31DFF4F5@whistle.com> References: <199706302242.RAA12342@cs.rice.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Vivek Sadananda Pai wrote: > I'm interested in mbufs with external storage, particularly when that > storage is not in the form of mbufs clusters. I've examined the mbuf.h > file, and the structure for external storage is: > > struct m_ext { > caddr_t ext_buf; /* start of buffer */ > void (*ext_free) /* free routine if not the usual */ > __P((caddr_t, u_int)); > u_int ext_size; /* size of buffer, for ext_free */ > void (*ext_ref) /* add a reference to the ext object */ > __P((caddr_t, u_int)); > }; Yes I added this to version 1.17 of mbuf.h this was inspired by code in the old BSD4.3 code that I needed for some applications. This was also in OSF1 which became Digital Unix. > > I also searched through old mail on this topic, and it seems that this > structure used to be a lot richer, with some form of "opaque" argument > (ext_arg) that could be used by whatever was allocating/freeing the > external memory. Having something like this would be extremely useful > in certain scenarios, and I've used it to good effect in Digital Unix. > We're examining FreeBSD as a platform for doing some I/O research, and > the package we want to port uses this "ext_arg" convention. The struct was actually not so rich. there was TALK of adding even more than I did. do a search in current and hackers using "mbuf AND external" I agree that the opaque argument would be useful. > > Does anyone know if there are any plans of (re)including this, or if > there's some reason why it was removed? It was never there. It might be useful to include it.. I just overload the 'ext_size' argument. (as nothing uses it). I wanted to do more, but was afraid of backlash :) julian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?33B860FD.31DFF4F5>