Commit Graph

19 Commits

Author SHA1 Message Date
Ruslan Ermilov
4f06896130 Assorted markup fixes and minor wordsmithing.
Approved by:	re
2005-06-15 13:31:23 +00:00
Gleb Smirnoff
fff7ff711b Document taskqueue_drain(). 2005-05-19 18:31:42 +00:00
Sam Leffler
cf82599dcc update for recent api changes 2005-05-01 02:12:44 +00:00
Joseph Koshy
4c49b002e0 Document taskqueue_run_fast(). Markup 'Giant' with ".Va".
Reviewed by:	ru
2005-04-19 16:23:00 +00:00
Joseph Koshy
3bbf58f9be Add a 'SEE ALSO' section. 2005-04-15 14:46:59 +00:00
Ruslan Ermilov
c0854fb7b2 Scheduled mdoc(7) sweep. 2005-01-12 21:48:25 +00:00
Bruce M Simpson
f674e945aa Correct a misspelling, 'task_fn' -> 'task_fn_t'.
Noticed by:	sah at softcardsystems dot com
MFC after:	3 days
2004-10-26 17:14:45 +00:00
John-Mark Gurney
227559d11f rearange some code that handles the thread taskqueue so that it is more
generic.  Introduce a new define TASKQUEUE_DEFINE_THREAD that takes a
single arg, which is the name of the queue.

Document these changes.
2004-08-08 02:37:22 +00:00
Ruslan Ermilov
d37ea99837 Removed trailing whitespace. 2004-07-02 19:07:33 +00:00
Ruslan Ermilov
bf7f20c2b6 Assorted markup, spelling, and grammar fixes. 2004-06-16 08:33:57 +00:00
Scott Long
24b4e9d17f Document taskqueue_enqueue_fast() 2004-01-02 07:23:40 +00:00
Kenneth D. Merry
e0254f1068 Fix typo in the last commit.
Pointed out by:	njl
MFC after:	3 days
2003-09-03 05:35:37 +00:00
Kenneth D. Merry
cb32189e23 Move dynamic sysctl(8) variable creation for the cd(4) and da(4) drivers
out of cdregister() and daregister(), which are run from interrupt context.

The sysctl code does blocking mallocs (M_WAITOK), which causes problems
if malloc(9) actually needs to sleep.

The eventual fix for this issue will involve moving the CAM probe process
inside a kernel thread.  For now, though, I have fixed the issue by moving
dynamic sysctl variable creation for these two drivers to a task queue
running in a kernel thread.

The existing task queues (taskqueue_swi and taskqueue_swi_giant) run in
software interrupt handlers, which wouldn't fix the problem at hand.  So I
have created a new task queue, taskqueue_thread, that runs inside a kernel
thread.  (It also runs outside of Giant -- clients must explicitly acquire
and release Giant in their taskqueue functions.)

scsi_cd.c:	Remove sysctl variable creation code from cdregister(), and
		move it to a new function, cdsysctlinit().  Queue
		cdsysctlinit() to the taskqueue_thread taskqueue once we
		have fully registered the cd(4) driver instance.

scsi_da.c:	Remove sysctl variable creation code from daregister(), and
		move it to move it to a new function, dasysctlinit().
		Queue dasysctlinit() to the taskqueue_thread taskqueue once
		we have fully registered the da(4) instance.

taskqueue.h:	Declare the new taskqueue_thread taskqueue, update some
		comments.

subr_taskqueue.c:
		Create the new kernel thread taskqueue.  This taskqueue
		runs outside of Giant, so any functions queued to it would
		need to explicitly acquire/release Giant if they need it.

cd.4:		Update the cd(4) man page to talk about the minimum command
		size sysctl/loader tunable.  Also note that the changer
		variables are available as loader tunables as well.

da.4:		Update the da(4) man page to cover the retry_count,
		default_timeout and minimum_cmd_size sysctl variables/loader
		tunables.  Remove references to /dev/r???, they aren't used
		any longer.

cd.9:		Update the cd(9) man page to describe the CD_Q_10_BYTE_ONLY
		quirk.

taskqueue.9:	Update the taskqueue(9) man page to describe the new thread
		task queue, and the taskqueue_swi_giant queue.

MFC after:	3 days
2003-09-03 04:46:28 +00:00
Ruslan Ermilov
2eff01c7e0 mdoc(7) police: Kill the (now extraneous) empty line. Previously,
.Bd erroneously defaulted to -compact mode in the SYNOPSIS section.
2002-03-15 12:04:49 +00:00
Chad David
f16b3c0de4 Update function definitions and required include files to reflect
the current state of the system.

Approved by: alfred
2001-12-26 23:14:04 +00:00
Ruslan Ermilov
32eef9aeb1 mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
Dima Dorfman
70d51341bf mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
Ruslan Ermilov
b92a189eb9 mdoc(7) police: Er macro usage cleanup. 2000-11-22 16:11:48 +00:00
Doug Rabson
823234556f Add documentation for taskqueue apis. 2000-05-28 16:53:50 +00:00