1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-27 11:55:06 +00:00
freebsd/sys
Alan Cox a5819cb5b5 Don't remove the virtual-to-physical mapping when an sf_buf is freed.
Instead, allow the mapping to persist, but add the sf_buf to a free list.
If a later sendfile(2) or zero-copy send resends the same physical page,
perhaps with the same or different contents, then the mapping overhead is
avoided and the sf_buf is simply removed from the free list.

In other words, the i386 sf_buf implementation now behaves as a cache of
virtual-to-physical translations using an LRU replacement policy on
inactive sf_bufs.  This is similar in concept to a part of
http://www.cs.princeton.edu/~yruan/debox/ patch, but much simpler in
implementation.  Note: none of this is required on alpha, amd64, or ia64.
They now use their direct virtual-to-physical mapping to avoid any
emphemeral mapping overheads in their sf_buf implementations.
2003-12-07 22:49:25 +00:00
..
alpha Ooops. These are still used by the bktr driver. David O'Brien has 2003-12-07 06:37:32 +00:00
amd64 Increase VM_KMEM_SIZE_MAX from 200MB to 400MB. 2003-12-07 04:51:04 +00:00
arm
boot With the beastie menu a problem was introduced in which selecting a 2003-11-21 19:01:02 +00:00
cam SS_FATAL|ENXIO rather than SS_RDEF for illegal track mode. 2003-12-01 10:13:00 +00:00
coda
compat Use mp_ncpus instead of the hw.ncpu sysctl. 2003-12-07 17:38:20 +00:00
conf Add PowerPC CFLAGS. 2003-12-07 09:56:30 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r123202, 2003-12-07 04:07:35 +00:00
crypto avoid module name conflict with opencrypto/rijndael.c. 2003-11-12 04:22:37 +00:00
ddb
dev Don't call em_stop() from the watchdog since it requires the controller 2003-12-07 06:50:04 +00:00
fs Constify, and add an API function to find a named node in a directory. 2003-12-07 17:41:19 +00:00
geom KASSERT against multiple orphanings of providers. 2003-12-07 10:04:43 +00:00
gnu
i4b Based on an excellent suggestion from tanimura@ define I4BPRI and use it 2003-11-10 14:20:34 +00:00
i386 Don't remove the virtual-to-physical mapping when an sf_buf is freed. 2003-12-07 22:49:25 +00:00
ia64 Simplify the contexts created by the kernel and remove the related 2003-12-07 20:47:33 +00:00
isa Don't disable the TSC with statclock_disable. 2003-11-13 10:02:12 +00:00
isofs/cd9660
kern Pass MTX_DEF as the last argument to mtx_init() instead of 0. This 2003-12-07 21:53:41 +00:00
libkern
modules hea is gone, remove its module 2003-12-07 07:04:39 +00:00
net bandaid LOR in rt_setgate; a proper fix requires code refactoring 2003-12-07 21:44:14 +00:00
net80211 o insure the current channel is in a good state before starting an AP scan 2003-11-13 05:23:58 +00:00
netatalk Eliminate a duplicate free when deleting an interface address. This 2003-11-28 04:19:41 +00:00
netatm Introduce a MAC label reference in 'struct inpcb', which caches 2003-11-18 00:39:07 +00:00
netgraph Lower the maximum ACK timeout for GRE packets from 10 to 1 second. 2003-11-18 20:43:23 +00:00
netinet Do not panic when flushing dummynet firewall rules 2003-12-06 09:01:25 +00:00
netinet6 Split the "inp" mutex class into separate classes for each of divert, 2003-11-26 01:40:44 +00:00
netipsec Introduce a MAC label reference in 'struct inpcb', which caches 2003-11-18 00:39:07 +00:00
netipx Introduce a MAC label reference in 'struct inpcb', which caches 2003-11-18 00:39:07 +00:00
netkey use callout_*() rather than timeout(). 2003-12-07 11:23:59 +00:00
netnatm Introduce a MAC label reference in 'struct inpcb', which caches 2003-11-18 00:39:07 +00:00
netncp
netsmb
nfs University of Michigan's Citi NFSv4 kernel client code. 2003-11-14 20:54:10 +00:00
nfs4client Use function pointers to remove the depenancy cross dependancy on nfs4 2003-11-22 02:21:49 +00:00
nfsclient Use function pointers to remove the depenancy cross dependancy on nfs4 2003-11-22 02:21:49 +00:00
nfsserver Update a comment about needing to fix NFS server credential use 2003-11-17 00:56:53 +00:00
opencrypto eliminate an unnecessary 8Kbyte bzero that was being done for each 2003-11-19 22:42:34 +00:00
pc98 The dgb driver is redundant with the digi driver in the tree. It uses 2003-12-07 04:18:52 +00:00
pccard
pci Remote meteor driver. It hasn't compiled in over 3 years. If someone 2003-12-07 04:41:11 +00:00
posix4
powerpc - Split cpu_mp_probe() into two parts. cpu_mp_setmaxid() is still called 2003-11-21 22:23:26 +00:00
rpc Change the definition of NULL on ia64 (for LP64 compilations) from 2003-12-07 21:10:06 +00:00
security Rename mac_create_cred() MAC Framework entry point to mac_copy_cred(), 2003-12-06 21:48:03 +00:00
sparc64 Fix all users of mp_maxid to use the same semantics, namely: 2003-12-03 14:57:26 +00:00
sys Change the definition of NULL on ia64 (for LP64 compilations) from 2003-12-07 21:10:06 +00:00
tools
ufs Set fs_ronly to the correct value in ffs_reload() when reloading the file 2003-12-07 05:16:52 +00:00
vm Fix a deadlock between vm_fault() and vm_mmap(): The expected lock ordering 2003-12-06 05:45:32 +00:00
Makefile