why limit of 16 iovec's in readv/writev?

A. Lester Buck buck at siswat.UUCP
Fri Nov 17 16:31:41 AEST 1989


I just finished writing a raw Ethernet driver for AIX PS/2.  During
performance testing, I ran across the limit on 16 iovec's in each readv(2)
or writev(2) call.  This limits the maximum transfer per system call
to about 24KB.

Since my usual assumption is that Unix does not have many gratuitous
restrictions, and this limit also exists on SunOS and 4.3BSD, could someone
please explain the reason for this limit?  After all, the sum of the byte
counts in the 16 iovec's can be anything up to 2^32-1.

Thanks alot!

-- 
A. Lester Buck		...!texbell!moray!siswat!buck



More information about the Comp.unix.wizards mailing list