freebsd-nq/sys
Matthew Dillon ac8f990bde 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
2001-05-24 07:22:27 +00:00
..
alpha Make sure that all resource allocation is handled in the pcib device, not 2001-05-23 19:44:17 +00:00
amd64 Don't acquire Giant just to call trap_fatal(), we are about to panic 2001-05-23 22:58:09 +00:00
arm/include Make _BSD_TIME_T_ (time_t) an int' rather than long'. This will help 2001-05-18 01:43:25 +00:00
boot The following modules were renamed: 2001-05-23 10:06:48 +00:00
cam Remove unneeded includes of sys/ipl.h and machine/ipl.h. 2001-05-15 23:22:29 +00:00
coda Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
compat Sort includes. 2001-05-21 18:52:02 +00:00
compile
conf Produce a config-time warning about EXT2FS and GPL_MATH_EMULATE 2001-05-24 06:26:18 +00:00
contrib/dev Actually biofinish(struct bio *, struct devstat *, int error) is more general 2001-05-06 20:00:03 +00:00
crypto
ddb Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
dev Change #if VINUMDEBUG to #ifdef VINUMDEBUG. This is a flag, not a variable. 2001-05-23 23:24:05 +00:00
fs Don't acquire/release Giant around some of the places that need it in 2001-05-23 22:20:29 +00:00
geom Polish error handling with biofinish(). 2001-05-08 09:10:27 +00:00
gnu Change the second argument of vflush() to an integer that specifies 2001-05-16 18:04:37 +00:00
i4b Submitted by: Juha-Matti Liukkonen, Cubical Solutions Ltd (jml@cubical.fi) 2001-05-21 09:24:48 +00:00
i386 Don't acquire Giant just to call trap_fatal(), we are about to panic 2001-05-23 22:58:09 +00:00
ia64 - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file 2001-05-23 09:42:29 +00:00
isa Add SmartLink 5634PCV SurfRider 2001-05-20 03:12:55 +00:00
isofs/cd9660 - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file 2001-05-23 09:42:29 +00:00
kern This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
libkern
modules Build snp(4) as a module. 2001-05-23 23:33:08 +00:00
msdosfs Change the second argument of vflush() to an integer that specifies 2001-05-16 18:04:37 +00:00
net Add a couple more codes for upcoming raylink driver additions. 2001-05-17 21:37:41 +00:00
netatalk
netatm
netgraph Fix a range checking bug in ng_int32_parse which affected 64-bit 2001-05-19 19:36:32 +00:00
netinet In in_ifadown(), differentiate between whether the interface goes 2001-05-11 14:37:34 +00:00
netinet6 Fix memory leak. 2001-05-23 20:41:17 +00:00
netipx Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
netkey Remove unneeded includes of sys/ipl.h and machine/ipl.h. 2001-05-15 23:22:29 +00:00
netnatm
netncp Use new kernel_sysctlbyname function. Remove private copy. 2001-05-19 05:48:07 +00:00
netns
netsmb Back out scanning file descriptors with holding a process lock. 2001-05-15 10:19:57 +00:00
nfs Assert Giant is held by the caller rather than getting it and releasing 2001-05-23 22:26:05 +00:00
nfsclient Assert Giant is held by the caller rather than getting it and releasing 2001-05-23 22:26:05 +00:00
nfsserver Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
ntfs Change the second argument of vflush() to an integer that specifies 2001-05-16 18:04:37 +00:00
nwfs Change the second argument of vflush() to an integer that specifies 2001-05-16 18:04:37 +00:00
pc98 Update pc98 memory probe functions. 2001-05-21 12:51:44 +00:00
pccard Use bus_space functions rather than inb/outb. 2001-05-24 06:54:48 +00:00
pci Vlan tags are 12 bits, mask off anything above since the chip doesn't 2001-05-23 19:25:14 +00:00
posix4 o First step in cleaning up authorization code for the posix4 2001-05-06 16:15:42 +00:00
powerpc - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file 2001-05-23 09:42:29 +00:00
rpc
svr4
sys This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
tools
ufs This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
vm This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
Makefile