help with I/O optimization with object

1999-06-07 Thread Zhihui Zhang

While studying the file ufs_readwrite.c, I see routines like uiomoveco() 
that calls vm_uiomove() in vm_map.c.  I am almost sure that these are new
in FreeBSD 3.x. The comment in ffs_read() says not a VM based I/O
requests  == not headed for the buffer cache. This does not make sense
to me although I understand something about VMIO buffers and non-VMIO
buffers. I hope someone can explain the basic ideas of I/O optimization
with VM object (relating to the OBJ_OPT flag and the global variable
vfs_ioopt) so that I can understand the code easier. 

Any help is appreciated. 

--
Zhihui Zhang.  Please visit http://www.freebsd.org
--



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-hackers in the body of the message



Re: help with I/O optimization with object

1999-06-07 Thread Zhihui Zhang

On Mon, 7 Jun 1999, Zhihui Zhang wrote:

 
 While studying the file ufs_readwrite.c, I see routines like uiomoveco() 
 that calls vm_uiomove() in vm_map.c.  I am almost sure that these are new
 in FreeBSD 3.x. The comment in ffs_read() says not a VM based I/O
 requests  == not headed for the buffer cache. This does not make sense
 to me although I understand something about VMIO buffers and non-VMIO
 buffers. I hope someone can explain the basic ideas of I/O optimization
 with VM object (relating to the OBJ_OPT flag and the global variable
 vfs_ioopt) so that I can understand the code easier. 
 

After searching the mailing list archive for some time and tracing down
who calls vm_uiomove(), it seems to me that this is the zero copy read
stuff used to read data into the current process' address space.  However,
I do not know when it can be useful or any more details.

-Zhihui



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-hackers in the body of the message