<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/share/man/man9/taskqueue.9, branch release/5.2.1_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.2.1_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.2.1_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2004-02-23T15:32:56Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2004-02-23T15:32:56Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2004-02-23T15:32:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=84a7b99b4e02a260bf7ff9b540032f4cb7bc612a'/>
<id>urn:sha1:84a7b99b4e02a260bf7ff9b540032f4cb7bc612a</id>
<content type='text'>
'RELENG_5_2_1_RELEASE'.

This commit was manufactured to restore the state of the 5.2.1-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</content>
</entry>
<entry>
<title>Fix typo in the last commit.</title>
<updated>2003-09-03T05:35:37Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2003-09-03T05:35:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=e0254f1068a478799796d627e0dd744f5d45133c'/>
<id>urn:sha1:e0254f1068a478799796d627e0dd744f5d45133c</id>
<content type='text'>
Pointed out by:	njl
MFC after:	3 days
</content>
</entry>
<entry>
<title>Move dynamic sysctl(8) variable creation for the cd(4) and da(4) drivers</title>
<updated>2003-09-03T04:46:28Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2003-09-03T04:46:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=cb32189e239c6c7f43369390b08dd504816ce4db'/>
<id>urn:sha1:cb32189e239c6c7f43369390b08dd504816ce4db</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>mdoc(7) police:  Kill the (now extraneous) empty line.  Previously,</title>
<updated>2002-03-15T12:04:49Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2002-03-15T12:04:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2eff01c7e0d668ac329abfbd0ee6634751d0ddde'/>
<id>urn:sha1:2eff01c7e0d668ac329abfbd0ee6634751d0ddde</id>
<content type='text'>
.Bd erroneously defaulted to -compact mode in the SYNOPSIS section.
</content>
</entry>
<entry>
<title>Update function definitions and required include files to reflect</title>
<updated>2001-12-26T23:14:04Z</updated>
<author>
<name>Chad David</name>
<email>davidc@FreeBSD.org</email>
</author>
<published>2001-12-26T23:14:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f16b3c0de48d0b845357e7cca843f645bc3117e3'/>
<id>urn:sha1:f16b3c0de48d0b845357e7cca843f645bc3117e3</id>
<content type='text'>
the current state of the system.

Approved by: alfred
</content>
</entry>
<entry>
<title>mdoc(7) police: Use the new .In macro for #include statements.</title>
<updated>2001-10-01T16:09:29Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2001-10-01T16:09:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=32eef9aeb1f39a1623cea55da147c89abbd5b9a5'/>
<id>urn:sha1:32eef9aeb1f39a1623cea55da147c89abbd5b9a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>mdoc(7) police: remove extraneous .Pp before and/or after .Sh.</title>
<updated>2001-07-09T09:54:33Z</updated>
<author>
<name>Dima Dorfman</name>
<email>dd@FreeBSD.org</email>
</author>
<published>2001-07-09T09:54:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=70d51341bf6ad3be0ea5b02ef489691d80719249'/>
<id>urn:sha1:70d51341bf6ad3be0ea5b02ef489691d80719249</id>
<content type='text'>
</content>
</entry>
<entry>
<title>mdoc(7) police: Er macro usage cleanup.</title>
<updated>2000-11-22T16:11:48Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2000-11-22T16:11:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b92a189eb9b32f7e9db74343d46434b554a67d04'/>
<id>urn:sha1:b92a189eb9b32f7e9db74343d46434b554a67d04</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add documentation for taskqueue apis.</title>
<updated>2000-05-28T16:53:50Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>2000-05-28T16:53:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=823234556fb17f72e92d5616c111dfeadc15b92a'/>
<id>urn:sha1:823234556fb17f72e92d5616c111dfeadc15b92a</id>
<content type='text'>
</content>
</entry>
</feed>
