Skip site navigation (1)Skip section navigation (2)
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>