From owner-freebsd-hackers Mon Jun 7 14:51:58 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from sol (cs1-gw.cs.binghamton.edu [128.226.171.72]) by hub.freebsd.org (Postfix) with SMTP id 3FC1414BCF for ; Mon, 7 Jun 1999 14:51:48 -0700 (PDT) (envelope-from zzhang@cs.binghamton.edu) Received: from localhost (zzhang@localhost) by sol (SMI-8.6/8.6.9) with SMTP id RAA13075 for ; Mon, 7 Jun 1999 17:40:20 -0400 Date: Mon, 7 Jun 1999 17:40:20 -0400 (EDT) From: Zhihui Zhang To: freebsd-hackers@FreeBSD.ORG Subject: Re: help with I/O optimization with object In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message