Date: Mon, 30 Jun 1997 17:06:52 -0500 (CDT) From: Vivek Sadananda Pai <vivek@cs.rice.edu> To: freebsd-stable@FreeBSD.ORG Cc: vivek@cs.rice.edu Subject: mbuf external storage Message-ID: <199706302206.RAA11429@cs.rice.edu>
next in thread | raw e-mail | index | archive | help
Hi, I'm not sure if this is the best list to use, but it seemed to be the closest to which I could actually subscribe. If it's more appropriate somewhere else, please let me know. 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)); }; 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. Does anyone know if there are any plans of (re)including this, or if there's some reason why it was removed? Thanks, Vivek
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199706302206.RAA11429>