From owner-cvs-all Thu May 24 0:22:35 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id F415E37B424; Thu, 24 May 2001 00:22:27 -0700 (PDT) (envelope-from dillon@FreeBSD.org) Received: (from dillon@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f4O7MRI32369; Thu, 24 May 2001 00:22:27 -0700 (PDT) (envelope-from dillon) Message-Id: <200105240722.f4O7MRI32369@freefall.freebsd.org> From: Matt Dillon Date: Thu, 24 May 2001 00:22:27 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/lib/libc/sys fcntl.2 open.2 src/sys/kern vfs_bio.c vfs_cluster.c vfs_vnops.c src/sys/sys buf.h fcntl.h file.h vnode.h src/sys/vm vm_page.c vm_page.h src/sys/ufs/ufs ufs_readwrite.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG dillon 2001/05/24 00:22:27 PDT Modified files: lib/libc/sys fcntl.2 open.2 sys/kern vfs_bio.c vfs_cluster.c vfs_vnops.c sys/sys buf.h fcntl.h file.h vnode.h sys/vm vm_page.c vm_page.h sys/ufs/ufs ufs_readwrite.c Log: This patch implements O_DIRECT about 80% of the way. It takes a patchset Tor created a while ago, removes the raw I/O piece (that has cache coherency problems), and adds a buffer cache / VM freeing piece. Essentially this patch causes O_DIRECT I/O to not be left in the cache, but does not prevent it from going through the cache, hence the 80%. For the last 20% we need a method by which the I/O can be issued directly to buffer supplied by the user process and bypass the buffer cache entirely, but still maintain cache coherency. I also have the code working under -stable but the changes made to sys/file.h may not be MFCable, so an MFC is not on the table yet. Submitted by: tegge, dillon Revision Changes Path 1.22 +6 -1 src/lib/libc/sys/fcntl.2 1.15 +8 -1 src/lib/libc/sys/open.2 1.282 +8 -3 src/sys/kern/vfs_bio.c 1.110 +10 -1 src/sys/kern/vfs_cluster.c 1.117 +5 -1 src/sys/kern/vfs_vnops.c 1.118 +8 -4 src/sys/sys/buf.h 1.11 +6 -3 src/sys/sys/fcntl.h 1.29 +3 -2 src/sys/sys/file.h 1.152 +2 -1 src/sys/sys/vnode.h 1.164 +24 -1 src/sys/vm/vm_page.c 1.86 +2 -1 src/sys/vm/vm_page.h 1.80 +30 -8 src/sys/ufs/ufs/ufs_readwrite.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message