Commit Graph

1533 Commits

Author SHA1 Message Date
Greg Lehey
8866174561 Furhter clarifications:
- the issues with wakeup_one are due to address space clashes between
  unrelated groups of threads.
- sleep() was removed in FreeBSD 2.2.
- date the page today, not 4 days ago.
- replace grammatically correct "woken" with "woken up" for
  consistency with the function name.
2007-02-27 23:09:31 +00:00
John Baldwin
a198b356e5 In FreeBSD 5.x+, sleep/wakeup operate on threads, not processes. 2007-02-27 16:32:55 +00:00
Ruslan Ermilov
7700fc3ca9 Fix markup and grammar bugs in recent revisions. 2007-02-27 16:21:01 +00:00
Greg Lehey
fc5fe41fe9 Update HISTORY.
Reviewed by:	dmr
2007-02-27 05:39:22 +00:00
Greg Lehey
5af924bf6c Add warning about deadlocks created by use of wakeup_one. 2007-02-27 02:51:41 +00:00
Robert Watson
149b6b0b12 Add rw_wowned(9) symlink. 2007-02-26 19:09:36 +00:00
Robert Watson
dd348217d7 Update rwlock(9) for rw_wowned(). 2007-02-26 19:07:41 +00:00
Bruce M Simpson
d305f4b99e Document m_pulldown().
Obtained from:	MBUF issues in 4.4BSD IPv6/IPsec support (itojun)
2007-02-26 15:17:19 +00:00
Kirk McKusick
fdece2b8f7 Declare a `struct extattr' that defines the format of an extended
attribute. Also define some macros to manipulate one of these
structures. Explain their use in the extattr.9 manual page.

The next step will be to make a sweep through the kernel replacing
the old pointer manipulation code. To get an idea of how they would
be used, the ffs_findextattr() function in ufs/ffs/ffs_vnops.c is
currently written as follows:

/*
 * Vnode operating to retrieve a named extended attribute.
 *
 * Locate a particular EA (nspace:name) in the area (ptr:length), and return
 * the length of the EA, and possibly the pointer to the entry and to the data.
 */
static int
ffs_findextattr(u_char *ptr, u_int length, int nspace, const char *name,
    u_char **eap, u_char **eac)
{
	u_char *p, *pe, *pn, *p0;
	int eapad1, eapad2, ealength, ealen, nlen;
	uint32_t ul;

	pe = ptr + length;
	nlen = strlen(name);

	for (p = ptr; p < pe; p = pn) {
		p0 = p;
		bcopy(p, &ul, sizeof(ul));
		pn = p + ul;
		/* make sure this entry is complete */
		if (pn > pe)
			break;
		p += sizeof(uint32_t);
		if (*p != nspace)
			continue;
		p++;
		eapad2 = *p++;
		if (*p != nlen)
			continue;
		p++;
		if (bcmp(p, name, nlen))
			continue;
		ealength = sizeof(uint32_t) + 3 + nlen;
		eapad1 = 8 - (ealength % 8);
		if (eapad1 == 8)
			eapad1 = 0;
		ealength += eapad1;
		ealen = ul - ealength - eapad2;
		p += nlen + eapad1;
		if (eap != NULL)
			*eap = p0;
		if (eac != NULL)
			*eac = p;
		return (ealen);
	}
	return(-1);
}

After applying the structure and macros, it would look like this:

/*
 * Vnode operating to retrieve a named extended attribute.
 *
 * Locate a particular EA (nspace:name) in the area (ptr:length), and return
 * the length of the EA, and possibly the pointer to the entry and to the data.
 */
static int
ffs_findextattr(u_char *ptr, u_int length, int nspace, const char *name,
    u_char **eapp, u_char **eac)
{
	struct extattr *eap, *eaend;

	eaend = (struct extattr *)(ptr + length);
	for (eap = (struct extattr *)ptr; eap < eaend; eap = EXTATTR_NEXT(eap)){
		/* make sure this entry is complete */
		if (EXTATTR_NEXT(eap) > eaend)
			break;
		if (eap->ea_namespace != nspace ||
		    eap->ea_namelength != length ||
		    bcmp(eap->ea_name, name, length))
			continue;
		if (eapp != NULL)
			*eapp = eap;
		if (eac != NULL)
			*eac = EXTATTR_CONTENT(eap);
		return (EXTATTR_CONTENT_SIZE(eap));
	}
	return(-1);
}

Not only is it considerably shorter, but it hopefully more readable :-)
2007-02-26 06:18:53 +00:00
Ruslan Ermilov
066eef7a1d Remove the traces of vm_page_unmanage(). 2007-02-25 06:51:11 +00:00
John Baldwin
37e80fcac2 Add a new kernel sleep function pause(9). pause(9) is for places that
want an equivalent of DELAY(9) that sleeps instead of spins.  It accepts
a wmesg and a timeout and is not interrupted by signals.  It uses a private
wait channel that should never be woken up by wakeup(9) or wakeup_one(9).

Glanced at by:	phk
2007-02-23 16:22:09 +00:00
Robert Watson
9fad4c2a12 Refine implementation notes for priv(9): clarify ABI comments, mention
updating Jail's list of privileges.
2007-02-21 10:32:03 +00:00
Pawel Jakub Dawidek
eb62f84553 VFS_VPTOFH(9) was replaced with VOP_VPTOFH(9).
VFS_VPTOFH.9 was repo-copied to VOP_VPTOFH.9.

Repo-copy done by:	joe
2007-02-16 14:27:59 +00:00
Luigi Rizzo
ddb53abcd9 remove some leftover text and update the text to match the current version
of the code.
2007-02-15 17:52:17 +00:00
Robert Watson
db430f9709 Expand history and authors section of mbuf.9 man page to discuss recent
transition to mbuma (FreeBSD 5.3) and the fact that mbufs are now limited
almost entirely to packet storage, with straight UMA zones being used for
most other network data types.
2007-02-15 14:44:46 +00:00
John Baldwin
f4ad756aef MLINK for bus_dmamap_load_mbuf_sg(9) 2007-02-12 17:53:21 +00:00
Christian Brueffer
cbc64eb2f2 There is no isa(4) manpage, convert to normal text an join lines.
PR:		108980
Submitted by:	Yonatan
2007-02-09 21:12:21 +00:00
Christian Brueffer
afc4e93d96 Remove Xref to owi(4), it's dead and gone.
PR:		108980
Submitted by:	Yonatan
2007-02-09 20:32:58 +00:00
Luigi Rizzo
97070dd5e0 Document a little more the firmware subsystem.
Apart from minor cleanup of the text, it should document
in reasonable detail what the status of the code is.
RELENG_6 has some minor differences there in the way automatic
loading/unloading is handled, but hopefully this should be
fixed by MFC time.

The examples come from Max Laier and Sam Leffler.

MFC after: 1 week
2007-02-09 19:08:07 +00:00
Robert Watson
1b824bcfab s/software was developed/documentation was written/
Suggested by:	ru
2007-01-31 09:40:31 +00:00
Robert Watson
806c2dc9bf Add MLINKS for sf_buf.9. 2007-01-29 11:27:44 +00:00
Joel Dahl
9eca1342f5 Line break before "All rights reserved" in the license example.
Reveiwed by:	bde, rwatson
2007-01-28 20:51:04 +00:00
Robert Watson
5d668266bb Update pmap_extract() implementation notes: we appear no longer to serialize
this call with Giant on any platform.
2007-01-28 16:23:55 +00:00
Robert Watson
5a05988c32 Add a rudimentary man page for sf_bufs, based on my rudimentary
understanding of sf_bufs.
2007-01-28 16:07:50 +00:00
Robert Watson
0931399389 Fix minor type: "struct disk *" instead of "struct *disk".
MFC after:	3 days
2007-01-28 14:37:13 +00:00
Ruslan Ermilov
b902c5bc80 Fix grammar [1] and formatting.
Submitted by:	pluknet AT gmail DOT com [1]
2007-01-27 23:06:00 +00:00
Robert Watson
cbfb87359e Add a missing verb in describing MAP_PREFAULT_MADVISE. 2007-01-27 18:58:33 +00:00
Randall Stewart
b939bb368a Reviewed by: rwatson
Approved by:	gnn

Add a new function hashinit_flags() which allows NOT-waiting
for memory (or waiting). The old hashinit() function now
calls hashinit_flags(..., HASH_WAITOK);
2007-01-15 15:06:28 +00:00
Warner Losh
547569c05e Julian says that he doesn't need the advertising clause, so out it goes. 2007-01-09 04:17:20 +00:00
John-Mark Gurney
99be3bc6d9 Some how the d slipped out in the last commit, add it back...
Pointed out by:	mdoc-police (ru)
2006-12-29 22:30:10 +00:00
John-Mark Gurney
05f240c59c bump doc date and fix spelling...
Pointed out by:	mdoc-police (ru)
2006-12-28 22:28:28 +00:00
John-Mark Gurney
cd457d4e39 document that locks must not be aquired in f_event... (and where they
can be safely aquired)

Reminded by:	kib (by LOR #193)
MFC:	3 days
2006-12-28 19:15:12 +00:00
Pawel Jakub Dawidek
297507d08c Document MTX_NOPROFILE flag. 2006-12-21 22:42:18 +00:00
Robert Watson
66e7b3a361 Reference socket(9) from ng_ksocket(4). Reference ng_ksocket(4),
ithread(9), msleep(9), ucred(9) from socket(9).

Partly suggested by:	julian
2006-12-16 10:32:10 +00:00
Robert Watson
6a751174bd Add a basic man page for the socket(9) kernel programming interface used
by the NFS client and server, netsmb, netncp, etc.

Reviewed by:	ru
Fixed by:	ru
2006-12-15 23:35:15 +00:00
Nick Hibma
9079fff550 Align the interfaces for the various watchdogs and make the interface
behave as expected.

Also:
- Return an error if WD_PASSIVE is passed in to the ioctl as only
  WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an
  explanation of the difference between WD_ACTIVE and WD_PASSIVE.
- Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've
  lost your sense of humor, than don't add a define.

Specific changes:

i80321_wdog.c
  Don't roll your own passive watchdog tickle as this would defeat the
  purpose of an active (userland) watchdog tickle.

ichwd.c / ipmi.c:
  WD_ACTIVE means active patting of the watchdog by a userland process,
  not whether the watchdog is active. See sys/watchdog.h.

kern_clock.c:
  (software watchdog) Remove a check for WD_ACTIVE as this does not make
  sense here. This reverts r1.181.
2006-12-15 21:44:49 +00:00
Mike Pritchard
9280e5fac2 Spelling fixes. 2006-12-14 14:33:13 +00:00
Ruslan Ermilov
ea0e76a28d - Fix prototype of bpf_filter().
- Document what passing it a zero buflen argument means.
2006-12-13 06:27:20 +00:00
Julian Elischer
1009bd1b0d Explicitly emphasize a facet of m_pullup() that some people seem to
frequently forget. i.e. that you can not keep using pointers to
within the old chain.
2006-12-08 23:44:30 +00:00
Ruslan Ermilov
c94d50f166 Give up on waiting for a repo-copy (no answer in 20 days), and
commit my markup fixes.

OK'ed by:	kmacy
2006-12-01 17:46:25 +00:00
Alfred Perlstein
8720d437a4 Bump .Dd, (9 year jump!)
Requested by: ru
cvs: ----------------------------------------------------------------------
2006-11-29 20:24:56 +00:00
Alfred Perlstein
82c1155773 Do a better job of documenting uio_resid. 2006-11-29 19:10:53 +00:00
David E. O'Brien
861ed04477 Clarify case body indention. 2006-11-26 21:22:49 +00:00
Warner Losh
f0bab87823 devsw() was removed by phk:
revision 1.199
	date: 2004/09/24 08:30:57;  author: phk;  state: Exp;  lines: +0 -1
	Remove the cdevsw() function which is now unused.

(the log is wrong, it was really devsw that was removed).

# we really need to actually document the functions in sys/conf.h as well
# as things like d_open...
2006-11-25 22:36:09 +00:00
Warner Losh
0cc1987013 Clarify what non-zero return values mean. 2006-11-25 22:34:01 +00:00
Warner Losh
1dfbd9c2f9 Make it clear that the device name may contain '/' characters to place
a device in a subdirectory.  Also explicitly state that the name is
constructed using fmt like printf would print it.

MFC After: 3 days
2006-11-24 13:10:30 +00:00
Yaroslav Tykhiy
91f3a6db54 Add a guideline for naming new sysctl nodes.
Discussed in:	cvs-src (some time ago)
2006-11-23 14:28:19 +00:00
Ceri Davies
9698be466e Add .Xr to p_cansee.9, remove .Xr to intro.2.
Reviewed by:	ru
Approved by:	ru
2006-11-19 13:36:04 +00:00
Ceri Davies
9bda7d940b Add manuals for cr_cansee(9) and p_cansee(9).
Thanks to Ruslan for the time he spent reviewing these.

Reviewed by:	ru
Approved by:	ru
2006-11-19 13:35:03 +00:00
Ceri Davies
5140328ad3 Have the synopsis compile.
Pointed out by:	ru
2006-11-18 17:56:59 +00:00