#
285830 |
|
23-Jul-2015 |
gjb |
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1 builds. - Update newvers.sh to reflect RC1. - Update __FreeBSD_version to reflect 10.2. - Update default pkg(8) configuration to use the quarterly branch.[1]
Discussed with: re, portmgr [1] Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
262065 |
|
17-Feb-2014 |
avg |
MFC r258713,262062: add taskqueue_drain_all
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
248649 |
|
23-Mar-2013 |
will |
Extend taskqueue(9) to enable per-taskqueue callbacks.
The scope of these callbacks is primarily to support actions that affect the taskqueue's thread environments. They are entirely optional, and consequently are introduced as a new API: taskqueue_set_callback().
This interface allows the caller to specify that a taskqueue requires a callback and optional context pointer for a given callback type.
The callback types included in this commit can be used to register a constructor and destructor for thread-local storage using osd(9). This allows a particular taskqueue to define that its threads require a specific type of TLS, without the need for a specially-orchestrated task-based mechanism for startup and shutdown in order to accomplish it.
Two callback types are supported at this point:
- TASKQUEUE_CALLBACK_TYPE_INIT, called by every thread when it starts, prior to processing any tasks. - TASKQUEUE_CALLBACK_TYPE_SHUTDOWN, called by every thread when it exits, after it has processed its last task but before the taskqueue is reclaimed.
While I'm here:
- Add two new macros, TQ_ASSERT_LOCKED and TQ_ASSERT_UNLOCKED, and use them in appropriate locations. - Fix taskqueue.9 to mention taskqueue_start_threads(), which is a required interface for all consumers of taskqueue(9).
Reviewed by: kib (all), eadler (taskqueue.9), brd (taskqueue.9) Approved by: ken (mentor) Sponsored by: Spectra Logic MFC after: 1 month
|
#
243863 |
|
04-Dec-2012 |
kib |
Fix typo.
Submitted by: bjk MFC after: 3 days
|
#
243845 |
|
04-Dec-2012 |
kib |
Document the interpretation of the negative value of ticks for taskqueue_enqueue_timeout(9).
MFC after: 3 days
|
#
235693 |
|
20-May-2012 |
gjb |
Typo and mdoc(7) style fixes.
PR: 168117 Submitted by: Nobuyuki Koganemaru (kogane&jp!freebsd!org) MFC after: 3 days
|
#
233648 |
|
29-Mar-2012 |
eadler |
Remove trailing whitespace per mdoc lint warning
Disussed with: gavin No objection from: doc Approved by: joel MFC after: 3 days
|
#
228715 |
|
19-Dec-2011 |
jhb |
Add a TASK_INITIALIZER() macro that can be used to statically initialize a task structure.
Reviewed by: gj MFC after: 2 weeks
|
#
225570 |
|
15-Sep-2011 |
adrian |
Ensure that ta_pending doesn't overflow u_short by capping its value at USHRT_MAX.
If it overflows before the taskqueue can run, the task will be re-added to the taskqueue and cause a loop in the task list.
Reported by: Arnaud Lacombe <lacombar@gmail.com> Submitted by: Ryan Stone <rysto32@gmail.com> Reviewed by: jhb Approved by: re (kib) MFC after: 1 day
|
#
224568 |
|
01-Aug-2011 |
kib |
Fix markup.
Approved by: re (hrs)
|
#
221060 |
|
26-Apr-2011 |
kib |
Document timeout_task.
While there, fix the type of the func argument of INIT_TASK macro, and use the modern name of the analogous facility from Linux kernel.
Sponsored by: The FreeBSD Foundation MFC after: 1 month
|
#
215011 |
|
08-Nov-2010 |
mdf |
Add a taskqueue_cancel(9) to cancel a pending task without waiting for it to run as taskqueue_drain(9) does.
Requested by: hselasky Original code: jeff Reviewed by: jhb MFC after: 2 weeks
|
#
213813 |
|
13-Oct-2010 |
mdf |
Use a safer mechanism for determining if a task is currently running, that does not rely on the lifetime of pointers being the same. This also restores the task KBI.
Suggested by: jhb MFC after: 1 month
|
#
213739 |
|
12-Oct-2010 |
mdf |
Re-expose and briefly document taskqueue_run(9). The function is used in at least one 3rd party driver.
Requested by: jhb
|
#
210669 |
|
31-Jul-2010 |
joel |
Spelling fixes.
|
#
210377 |
|
22-Jul-2010 |
mdf |
Fix taskqueue_drain(9) to not have false negatives. For threaded taskqueues, more than one task can be running simultaneously.
Also make taskqueue_run(9) static to the file, since there are no consumers in the base kernel and the function signature needs to change with this fix.
Remove mention of taskqueue_run(9) and taskqueue_run_fast(9) from the taskqueue(9) man page.
Reviewed by: jhb Approved by: zml (mentor)
|
#
196358 |
|
18-Aug-2009 |
pjd |
Remove unused taskqueue_find() function.
Reviewed by: dfr Approved by: re (kib)
|
#
196311 |
|
17-Aug-2009 |
pjd |
Correct typo in the previous commit.
Noticed by: pluknet <pluknet@gmail.com> Approved by: re (kib, implicit)
|
#
196295 |
|
17-Aug-2009 |
pjd |
Remove OpenSolaris taskq port (it performs very poorly in our kernel) and replace it with wrappers around our taskqueue(9). To make it possible implement taskqueue_member() function which returns 1 if the given thread was created by the given taskqueue.
Approved by: re (kib)
|
#
179779 |
|
13-Jun-2008 |
gonzo |
It's Friday the 13th, not the 10th and I can't travel in time. Yet.
|
#
179778 |
|
13-Jun-2008 |
gonzo |
Add "fast" versions of macros and functions to taskqueue(9) API description: TASKQUEUE_FAST_DEFINE(9), TASKQUEUE_FAST_DEFINE_THREAD(9), taskqueue_create_fast(9). They deal with taskqueues intended for use in fast interrupt handlers.
Approved by: cognet (mentor) Reviewed by: keramida
|
#
179214 |
|
22-May-2008 |
gonzo |
Clean out all mentions of struct proc* for it was removed from taskqueue(9) API more then two years ago.
Approved by: cognet (mentor)
|
#
171315 |
|
09-Jul-2007 |
jmg |
document the call to wakeup after a task has been run...
Approved by: re (hrs) MFC after: 3 days
|
#
147647 |
|
28-Jun-2005 |
hmp |
Use 'manual page' instead of 'man page' for consistency.
Approved by: re (hrs)
|
#
147398 |
|
15-Jun-2005 |
ru |
Assorted markup fixes and minor wordsmithing.
Approved by: re
|
#
146412 |
|
19-May-2005 |
glebius |
Document taskqueue_drain().
|
#
145740 |
|
01-May-2005 |
sam |
update for recent api changes
|
#
145285 |
|
19-Apr-2005 |
jkoshy |
Document taskqueue_run_fast(). Markup 'Giant' with ".Va".
Reviewed by: ru
|
#
145114 |
|
15-Apr-2005 |
jkoshy |
Add a 'SEE ALSO' section.
|
#
140140 |
|
12-Jan-2005 |
ru |
Scheduled mdoc(7) sweep.
|
#
136971 |
|
26-Oct-2004 |
bms |
Correct a misspelling, 'task_fn' -> 'task_fn_t'.
Noticed by: sah at softcardsystems dot com MFC after: 3 days
|
#
133305 |
|
08-Aug-2004 |
jmg |
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.
|
#
131472 |
|
02-Jul-2004 |
ru |
Removed trailing whitespace.
|
#
130582 |
|
16-Jun-2004 |
ru |
Assorted markup, spelling, and grammar fixes.
|
#
124066 |
|
02-Jan-2004 |
scottl |
Document taskqueue_enqueue_fast()
|
#
119709 |
|
03-Sep-2003 |
ken |
Fix typo in the last commit.
Pointed out by: njl MFC after: 3 days
|
#
119708 |
|
03-Sep-2003 |
ken |
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
|
#
92325 |
|
15-Mar-2002 |
ru |
mdoc(7) police: Kill the (now extraneous) empty line. Previously, .Bd erroneously defaulted to -compact mode in the SYNOPSIS section.
|
#
88509 |
|
26-Dec-2001 |
davidc |
Update function definitions and required include files to reflect the current state of the system.
Approved by: alfred
|
#
84306 |
|
01-Oct-2001 |
ru |
mdoc(7) police: Use the new .In macro for #include statements.
|
#
79454 |
|
09-Jul-2001 |
dd |
mdoc(7) police: remove extraneous .Pp before and/or after .Sh.
|
#
69052 |
|
22-Nov-2000 |
ru |
mdoc(7) police: Er macro usage cleanup.
|
#
61049 |
|
28-May-2000 |
dfr |
Add documentation for taskqueue apis.
|