Date: Mon, 22 Dec 1997 06:39:43 -0500 (EST) From: "John S. Dyson" <toor@dyson.iquest.net> To: jamil@acroal.com (J. Weatherbee - Senior Systems Architect) Cc: hackers@FreeBSD.ORG Subject: Re: Descriptor vectorized read/write? Message-ID: <199712221139.GAA01259@dyson.iquest.net> In-Reply-To: <Pine.BSF.3.96.971222001036.2544A-100000@acroal.com> from "J. Weatherbee - Senior Systems Architect" at "Dec 22, 97 00:35:09 am"
next in thread | previous in thread | raw e-mail | index | archive | help
In -current, we have implemented POSIX AIO, it does what you need. It is super-efficient on raw devices (I wonder what that is for??? :-)). J. Weatherbee - Senior Systems Architect said: > And in addition to this, has anyone ever though of implement vectorized > read/write calls that are vectorized across multiple descriptors. i.e > reading from multiple descriptors into buffers simultaneously, possibly > implemented similarily to the way poll(2) is. > > i.e (multiple duplicate fd's with same direction handled the same as > readv/writev scatter io) > > --------------------------------------------------------------------------- > > void mreadv (const struct miovec *miov, int miovcnt); > > struct miovec > { > int fd; /* file descriptor */ > int err; /* error status/ return count / initially i/o direction > * MREAD/MWRITE */ > char *base; /* base address */ > size_t len; /* io length */ > }; > --------------------------------------------------------------------------- > -- John | Never try to teach a pig to sing, dyson@freebsd.org | it just makes you look stupid, jdyson@nc.com | and it irritates the pig.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712221139.GAA01259>