freebsd-nq/sys
Poul-Henning Kamp 56dd3a6182 Add optional device vnode bypass to DEVFS.
The tunable vfs.devfs.fops controls this feature and defaults to off.

When enabled (vfs.devfs.fops=1 in loader), device vnodes opened
through a filedescriptor gets a special fops vector which instead
of the detour through the vnode layer goes directly to DEVFS.

Amongst other things this allows us to run Giant free read/write to
device drivers which have been weaned off D_NEEDGIANT.

Currently this means /dev/null, /dev/zero, disks, (and maybe the
random stuff ?)

On a 700MHz K7 machine this doubles the speed of
	dd if=/dev/zero of=/dev/null bs=1 count=1000000

This roughly translates to shaving 2usec of each read/write syscall.

The poll/kqfilter paths need more work before they are giant free,
this work is ongoing in p4::phk_bufwork

Please test this and report any problems, LORs etc.
2004-11-08 10:46:47 +00:00
..
alpha - Add a new MD per-CPU field for Alpha 'pal_id' which is the PAL ID 2004-11-05 19:16:44 +00:00
amd64 MFi386 1.238 (jhb): Allow hints to disable cpus 2004-11-05 18:25:22 +00:00
arm Introduce two new options, "CPU private" and "no wait", to sf_buf_alloc(). 2004-11-08 00:43:46 +00:00
boot Document "loader_color" variable. 2004-11-07 17:01:08 +00:00
cam Remove references to the second byte of a CCB containing the LUN, as this 2004-10-13 09:31:04 +00:00
coda Do not use devsw() but si_devsw direction. This is still bogus but a 2004-09-23 12:19:24 +00:00
compat More sensible FILEDESC_ locking. 2004-11-07 15:59:27 +00:00
conf Reduce annoying SCSI probing delay from 15 to 5 seconds in all GENRIC kernels. 2004-11-02 20:57:20 +00:00
contrib Improved interface handling. This should fix the use of renamed interfaces 2004-11-03 17:21:12 +00:00
crypto For variables that are only checked with defined(), don't provide 2004-10-24 15:33:08 +00:00
ddb - Change the ddb paging "support" to use a variable (db_lines_per_page) to 2004-11-01 22:15:15 +00:00
dev Add power profile support so that the LCD changes brightness levels based 2004-11-07 23:18:23 +00:00
doc Experimental support for using doxygen to generate kernel documentation. 2004-07-11 16:13:57 +00:00
fs Add optional device vnode bypass to DEVFS. 2004-11-08 10:46:47 +00:00
gdb Comment-out the debugging printf I left in in case there were some 2004-08-10 19:32:33 +00:00
geom Don't forget to make sure that there are no not-finished requests before 2004-11-05 17:18:39 +00:00
gnu Get even closer to not crashing ext2fs 2004-11-06 18:24:33 +00:00
i4b Mark i4b IPR and SPPP drivers as NET_NEEDS_GIANT(), as they both 2004-10-12 09:25:52 +00:00
i386 Introduce two new options, "CPU private" and "no wait", to sf_buf_alloc(). 2004-11-08 00:43:46 +00:00
ia64 - Change the ddb paging "support" to use a variable (db_lines_per_page) to 2004-11-01 22:15:15 +00:00
isa Stop printing the VGA registers during verbose boot, in order to not 2004-11-03 09:07:44 +00:00
isofs/cd9660 Move CD9660 to GEOM backing instead of DEVFS. 2004-10-29 10:41:44 +00:00
kern Eliminate an unused argument to vm_pgmoveco(). 2004-11-08 06:57:31 +00:00
libkern Implement ffs with clz for Xscale. 2004-11-07 16:53:29 +00:00
modules Remove another vinum file 2004-11-04 13:32:24 +00:00
net Don't abuse tp->t_sc in sl(4) either. 2004-11-07 14:36:47 +00:00
net80211 Add a new network interface flag, IFF_NEEDSGIANT, which will allow 2004-07-27 23:20:45 +00:00
netatalk Push acquisition of the accept mutex out of sofree() into the caller 2004-10-18 22:19:43 +00:00
netatm Push acquisition of the accept mutex out of sofree() into the caller 2004-10-18 22:19:43 +00:00
netgraph Partically backout previous commit. Since _callout_stop_safe() clears 2004-11-04 21:30:18 +00:00
netinet Do some re-sorting of TCP pcbinfo locking and assertions: make sure to 2004-11-07 19:19:35 +00:00
netinet6 fixed a bug that incorrect IPsec request level may be returned for proto AH 2004-10-28 09:24:45 +00:00
netipsec Remove extraneous SECPOLICY_LOCK_DESTROY calls that cause the mutex to be 2004-10-02 00:19:05 +00:00
netipx Push acquisition of the accept mutex out of sofree() into the caller 2004-10-18 22:19:43 +00:00
netkey Merge netipsec/key.c:1.17 into KAME pfkey implementation: 2004-09-30 00:49:55 +00:00
netnatm Push acquisition of the accept mutex out of sofree() into the caller 2004-10-18 22:19:43 +00:00
netncp Add missing zero flag argument. 2004-10-12 08:22:08 +00:00
netsmb Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
nfs
nfs4client comment out debug printf. 2004-10-27 23:19:34 +00:00
nfsclient Retire b_magic now, we have the bufobj containing the same hint. 2004-11-04 09:48:18 +00:00
nfsserver Add b_bufobj to struct buf which eventually will eliminate the need for b_vp. 2004-10-22 08:47:20 +00:00
opencrypto Don't acquire Giant in cryptof_close(), as the code is intended to be 2004-08-10 03:26:17 +00:00
pc98 MFi386: revision 1.420 (Reduce annoying SCSI probing delay). 2004-11-04 15:20:26 +00:00
pccard Move PNP IDs back into oldcard files 2004-08-13 06:57:31 +00:00
pci * Correct an off-by-one reading vpd ro data. 2004-11-01 17:21:04 +00:00
posix4
powerpc Reduce annoying SCSI probing delay from 15 to 5 seconds in all GENRIC kernels. 2004-11-02 20:57:20 +00:00
rpc Prefer C99's __func__ over GCC's __FUNCTION__. 2004-09-23 18:25:46 +00:00
security Disable use of synchronization early in the boot by the MAC Framework; 2004-10-30 14:20:59 +00:00
sparc64 Correct a typo in the previous revision. 2004-11-08 06:01:39 +00:00
sys Introduce two new options, "CPU private" and "no wait", to sf_buf_alloc(). 2004-11-08 00:43:46 +00:00
tools Pass doxygen doc comments through to the output. 2004-07-11 16:14:24 +00:00
ufs Properly implement a default version of VOP_GETWRITEMOUNT. 2004-11-06 11:41:22 +00:00
vm Eliminate an unnecessary atomic operation. Articulate the rationale in 2004-11-06 21:48:45 +00:00
Makefile Add a NO_BOOT knob to prevent building the boot blocks and loader. 2004-08-19 09:54:28 +00:00