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>
