Commit Graph

777 Commits

Author SHA1 Message Date
Ruslan Ermilov
e6d3dae8cd mdoc(7) police: tidy up formatting. 2002-08-13 14:51:17 +00:00
Warner Losh
b294c6a39a Clarify the sizeof(var) rule. This is the result of the consensus in
arch@ between myself, bde and markm.  I kept the parts that all of us
agreed to, and omitted some more extensive text that I'd originally
wanted.
2002-07-25 00:30:24 +00:00
Robert Watson
060c42c3d2 Mention SAVENAME and SAVESTART in the namei(9) operation flag description
since apparently people were missing that you aren't supposed to access
the name buffer following namei() unless you specify one of these flags.

Pointed out by:	green
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-07-23 13:16:36 +00:00
Robert Watson
fd3083e0f8 Update ucred.9 to talk a bit more about correct use of credentials,
including documenting that ucreds must not be pulled out of thin air,
when to use td_cred vs. p_ucred, how to avoid race conditions in
credential updates, and why to use p_ucred when targetting a thread
or process in an access control operation involving two processes.

Reviewed by:	julian, jhb (earlier revision)
2002-07-23 13:09:24 +00:00
Julian Elischer
a4fd02efc7 link in the man page for thread_exit
Also change some line breaks.
2002-07-08 17:52:00 +00:00
Julian Elischer
eecc312518 Add a man page. Style comments welcome. I have a bunch-o-new-pages
to add so I might as we find out what I did wrong now :-)
2002-07-08 07:51:20 +00:00
Julian Elischer
b388e223f2 Slight changes to reflect some of the changes in -current.
mi_switch(9) is still wildly innacurate. I suggest that every kernel
developer takes 20 minutes a day for the next few days and updates one or
two of his favourite chapter 9 man pages as they are now WAY out of date
in general. I will add a couple of KSE related pages soon.
2002-07-08 07:34:46 +00:00
Warner Losh
85f6b8fda7 Clarify version 1.68 to more accurately describe the intent of the change to
try to avoid ambiguous cases in the future.

Wording approved by: julian (early draft), grog, rwatson, wes and maybe other
members of core I'm forgetting.
2002-07-02 01:39:35 +00:00
Brian Somers
cfbd984f1c Fix a tyop 2002-07-02 01:03:10 +00:00
Warner Losh
a9df73aa7b Document what splnet and splimp are in FreeBSD 2002-07-01 22:08:43 +00:00
Kenneth D. Merry
98cb733c67 At long last, commit the zero copy sockets code.
MAKEDEV:	Add MAKEDEV glue for the ti(4) device nodes.

ti.4:		Update the ti(4) man page to include information on the
		TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options,
		and also include information about the new character
		device interface and the associated ioctls.

man9/Makefile:	Add jumbo.9 and zero_copy.9 man pages and associated
		links.

jumbo.9:	New man page describing the jumbo buffer allocator
		interface and operation.

zero_copy.9:	New man page describing the general characteristics of
		the zero copy send and receive code, and what an
		application author should do to take advantage of the
		zero copy functionality.

NOTES:		Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS,
		TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT.

conf/files:	Add uipc_jumbo.c and uipc_cow.c.

conf/options:	Add the 5 options mentioned above.

kern_subr.c:	Receive side zero copy implementation.  This takes
		"disposable" pages attached to an mbuf, gives them to
		a user process, and then recycles the user's page.
		This is only active when ZERO_COPY_SOCKETS is turned on
		and the kern.ipc.zero_copy.receive sysctl variable is
		set to 1.

uipc_cow.c:	Send side zero copy functions.  Takes a page written
		by the user and maps it copy on write and assigns it
		kernel virtual address space.  Removes copy on write
		mapping once the buffer has been freed by the network
		stack.

uipc_jumbo.c:	Jumbo disposable page allocator code.  This allocates
		(optionally) disposable pages for network drivers that
		want to give the user the option of doing zero copy
		receive.

uipc_socket.c:	Add kern.ipc.zero_copy.{send,receive} sysctls that are
		enabled if ZERO_COPY_SOCKETS is turned on.

		Add zero copy send support to sosend() -- pages get
		mapped into the kernel instead of getting copied if
		they meet size and alignment restrictions.

uipc_syscalls.c:Un-staticize some of the sf* functions so that they
		can be used elsewhere.  (uipc_cow.c)

if_media.c:	In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid
		calling malloc() with M_WAITOK.  Return an error if
		the M_NOWAIT malloc fails.

		The ti(4) driver and the wi(4) driver, at least, call
		this with a mutex held.  This causes witness warnings
		for 'ifconfig -a' with a wi(4) or ti(4) board in the
		system.  (I've only verified for ti(4)).

ip_output.c:	Fragment large datagrams so that each segment contains
		a multiple of PAGE_SIZE amount of data plus headers.
		This allows the receiver to potentially do page
		flipping on receives.

if_ti.c:	Add zero copy receive support to the ti(4) driver.  If
		TI_PRIVATE_JUMBOS is not defined, it now uses the
		jumbo(9) buffer allocator for jumbo receive buffers.

		Add a new character device interface for the ti(4)
		driver for the new debugging interface.  This allows
		(a patched version of) gdb to talk to the Tigon board
		and debug the firmware.  There are also a few additional
		debugging ioctls available through this interface.

		Add header splitting support to the ti(4) driver.

		Tweak some of the default interrupt coalescing
		parameters to more useful defaults.

		Add hooks for supporting transmit flow control, but
		leave it turned off with a comment describing why it
		is turned off.

if_tireg.h:	Change the firmware rev to 12.4.11, since we're really
		at 12.4.11 plus fixes from 12.4.13.

		Add defines needed for debugging.

		Remove the ti_stats structure, it is now defined in
		sys/tiio.h.

ti_fw.h:	12.4.11 firmware.

ti_fw2.h:	12.4.11 firmware, plus selected fixes from 12.4.13,
		and my header splitting patches.  Revision 12.4.13
		doesn't handle 10/100 negotiation properly.  (This
		firmware is the same as what was in the tree previously,
		with the addition of header splitting support.)

sys/jumbo.h:	Jumbo buffer allocator interface.

sys/mbuf.h:	Add a new external mbuf type, EXT_DISPOSABLE, to
		indicate that the payload buffer can be thrown away /
		flipped to a userland process.

socketvar.h:	Add prototype for socow_setup.

tiio.h:		ioctl interface to the character portion of the ti(4)
		driver, plus associated structure/type definitions.

uio.h:		Change prototype for uiomoveco() so that we'll know
		whether the source page is disposable.

ufs_readwrite.c:Update for new prototype of uiomoveco().

vm_fault.c:	In vm_fault(), check to see whether we need to do a page
		based copy on write fault.

vm_object.c:	Add a new function, vm_object_allocate_wait().  This
		does the same thing that vm_object allocate does, except
		that it gives the caller the opportunity to specify whether
		it should wait on the uma_zalloc() of the object structre.

		This allows vm objects to be allocated while holding a
		mutex.  (Without generating WITNESS warnings.)

		vm_object_allocate() is implemented as a call to
		vm_object_allocate_wait() with the malloc flag set to
		M_WAITOK.

vm_object.h:	Add prototype for vm_object_allocate_wait().

vm_page.c:	Add page-based copy on write setup, clear and fault
		routines.

vm_page.h:	Add page based COW function prototypes and variable in
		the vm_page structure.

Many thanks to Drew Gallatin, who wrote the zero copy send and receive
code, and to all the other folks who have tested and reviewed this code
over the years.
2002-06-26 03:37:47 +00:00
Peter Wemm
3ff369fed2 Remove references to UIO_USERISPACE which no longer exists. 2002-06-20 07:09:24 +00:00
Chad David
02aadf0b50 Fix up the wording thoughout, and document locking. 2002-06-10 17:36:05 +00:00
Chad David
d99146a1f3 Fix wording and spelling in the trapsignal() description. 2002-06-10 17:08:42 +00:00
Chad David
e2eca5fe3e Document the cred_update_thread() function, and fix the RETURN VALUES. 2002-06-10 05:18:00 +00:00
Chad David
f7fcafe17a The moduledata_t argument is not a pointer, and sysstem_sub_id should
be sysinit_sub_id.

PR: docs/34583
Approved by: murray
2002-06-10 04:37:11 +00:00
Chad David
920a6f7e8f Add signal.9 and friends. 2002-06-10 03:01:36 +00:00
Chad David
cbebeaa5be New man page that documents many of the kernel related signal functions.
Requested by: alfred
2002-06-10 03:00:24 +00:00
Chad David
93994536bd Document MTX_DUPOK
Requested by: jeff (long ago)
2002-06-06 19:08:11 +00:00
Ruslan Ermilov
05cb5024af mdoc(7) police: minor markup nits. 2002-05-30 13:33:59 +00:00
Ruslan Ermilov
9be1948fa4 mdoc(7) police: Fix SYNOPSIS, bump document date. 2002-05-30 11:37:39 +00:00
Ruslan Ermilov
5ec37969a1 mdoc(7) police: lint. 2002-05-29 18:00:23 +00:00
Ruslan Ermilov
00679a580d mdoc(7) police: lint. 2002-05-29 17:50:04 +00:00
Ruslan Ermilov
3f640b03b1 mdoc(7) police: markup nits. 2002-05-29 17:45:44 +00:00
Ruslan Ermilov
841b462f2a mdoc(7) police: markup nits. 2002-05-29 17:37:32 +00:00
Jeroen Ruigrok van der Werven
382682b2a4 Add description for uma_zcreate().
Submitted by:	arr
2002-05-18 11:12:02 +00:00
Tom Rhodes
0e85d620bc More file system > filesystem 2002-05-16 05:21:58 +00:00
Chris Costello
cae2a33cf0 Begin to turn some of the code in this man page into documentation.
Move the code that I have not yet finished documenting into the
`IMPLEMENTATION NOTES' section.

Sponsored by:	DARPA, NAI Labs
Obtained from:	TrustedBSD Project
2002-05-05 22:09:12 +00:00
Robert Watson
cc0e549485 Various updates to VOP_ATTRIB(9): mention locks being shared/exclusive
for VOP_GETATTR() and VOP_SETATTR(), reference VOP_NULL() to suggest
clearing all of *vap with it before setting specific values.  Cross
reference VFS(9).  Indicate that failure modes are possible from
VOP_GETATTR() and that an errno value is returned.

Submitted by:	Hiten Pandya <hiten@uk.FreeBSD.org>
2002-05-03 20:28:38 +00:00
Jeroen Ruigrok van der Werven
acff84fb0e Chase the sources and document the change of wait to flags, which are
the normal malloc(9) flags.

Submitted by:	arr
2002-04-30 16:30:19 +00:00
Jeroen Ruigrok van der Werven
5540755955 Remove references to zinit() which does not exist anymore. 2002-04-30 15:04:41 +00:00
Jeroen Ruigrok van der Werven
9a79558313 Document the zone allocator is now a slab allocator.
Show Jeff's work and your's truly manual page updates.
2002-04-30 14:56:44 +00:00
Jeroen Ruigrok van der Werven
1437c79a4a Document uma_zalloc() behaviour. 2002-04-30 14:26:22 +00:00
Jeroen Ruigrok van der Werven
f1de92e633 Update function arguments to what is current used. 2002-04-30 13:03:28 +00:00
Jeroen Ruigrok van der Werven
7c32182e06 Prefix the remaining functions with uma_ as is now the case in UMA. 2002-04-30 12:45:31 +00:00
Jeroen Ruigrok van der Werven
2f91527664 zinit() does not exist anymore. 2002-04-30 12:29:59 +00:00
Jeroen Ruigrok van der Werven
77776e8c7a Remove references to zbootinit() and zinitna(). 2002-04-30 09:47:50 +00:00
Jeroen Ruigrok van der Werven
9daecfc462 Add a MLINKS to uma.9 from zone.9. 2002-04-30 09:41:25 +00:00
Jeroen Ruigrok van der Werven
008080bd8b Do not use a contraction, aren't -> are not. 2002-04-30 09:38:52 +00:00
Jeroen Ruigrok van der Werven
268c1b9c75 Remove MLINKS to zinitna, it does not exist anymore. 2002-04-30 09:38:06 +00:00
Jeroen Ruigrok van der Werven
c25d2ac8cb Remove MLINKS to zbootinit. This has been gone for a while now. 2002-04-30 09:36:02 +00:00
Jeroen Ruigrok van der Werven
3a347a6e4e Remove wrong include, one is supposed to include vm/uma.h instead of
vm_zone.h.
2002-04-30 08:51:42 +00:00
Mike Barcroft
aabc5d3d44 Add links for bswap16.9, bswap32.9, and bswap64.9. 2002-04-29 17:04:23 +00:00
Mike Barcroft
3f4655de4b Document bswap16(), bswap32(), and bswap64(). Change the included
header to reflect the new prototype location.
2002-04-29 17:02:51 +00:00
Bill Fenner
04df644c95 mdoc police: turn .PP back into .Pp 2002-04-17 21:26:43 +00:00
Tom Rhodes
f9d32093a6 Removed 2 lines from the cd(9) manual page.
PR:		35944
2002-04-15 06:02:58 +00:00
Jeroen Ruigrok van der Werven
50c1e22e2e Correct two syntax mistakes.
Fix overflowing right side, so that the && operator fits on the same line.
2002-04-14 19:52:42 +00:00
Jeroen Ruigrok van der Werven
d172142dc6 Remove extraneous newline. 2002-04-14 19:33:07 +00:00
Chad David
623fded8d6 Remove a duplicate description of the type parameter for mtx_init.
Noticed by: scottl
2002-04-12 16:32:38 +00:00
Chad David
468f8a27bb Add entries for selrecord.9. 2002-04-12 06:19:34 +00:00