aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/_task.h
Commit message (Collapse)AuthorAgeFilesLines
* Revert r256587.Gleb Smirnoff2013-10-181-3/+0
| | | | | | | Requested by: zec Notes: svn path=/head/; revision=256729
* For VIMAGE kernels store vnet in the struct task, and set vnet contextGleb Smirnoff2013-10-161-0/+3
| | | | | | | | | during task processing. Reported & tested by: mm Notes: svn path=/head/; revision=256587
* Use a safer mechanism for determining if a task is currently running,Matthew D Fleming2010-10-131-1/+0
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=213813
* Fix taskqueue_drain(9) to not have false negatives. For threadedMatthew D Fleming2010-07-221-5/+10
| | | | | | | | | | | | | | | | | 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) Notes: svn path=/head/; revision=210377
* Revert taskqueue(9) related commits until mdf@ is approved and canZachary Loafman2010-06-011-9/+5
| | | | | | | | | resolve issues. This reverts commits r207439, r208623, r208624 Notes: svn path=/head/; revision=208715
* Revert r207439 and solve the problem differently. The task handlerZachary Loafman2010-05-281-2/+0
| | | | | | | | | | | | ta_func may free the task structure, so no references to its members are valid after the handler has been called. Using a per-queue member and having waits longer than strictly necessary was suggested by jhb. Submitted by: Matthew Fleming <matthew.fleming@isilon.com> Reviewed by: zml, jhb Notes: svn path=/head/; revision=208623
* Handle taskqueue_drain(9) correctly on a threaded taskqueue:Zachary Loafman2010-04-301-5/+11
| | | | | | | | | | | | | | | taskqueue_drain(9) will not correctly detect whether a task is currently running. The check is against a field in the taskqueue struct, but for a threaded queue with more than one thread, multiple threads can simultaneously be running a task, thus stomping over the tq_running field. Submitted by: Matthew Fleming <matthew.fleming@isilon.com> Reviewed by: jhb Approved by: dfr (mentor) Notes: svn path=/head/; revision=207439
* revert changes accidentally included in last commitKip Macy2008-07-181-21/+3
| | | | Notes: svn path=/head/; revision=180585
* import vendor fixes to cxgbKip Macy2008-07-181-3/+21
| | | | Notes: svn path=/head/; revision=180583
* o eliminate modification of task structures after their run to avoidSam Leffler2005-04-241-5/+2
| | | | | | | | | | | | modify-after-free races when the task structure is malloc'd o shrink task structure by removing ta_flags (no longer needed with avoid fix) and combining ta_pending and ta_priority Reviewed by: dwhite, dfr MFC after: 4 days Notes: svn path=/head/; revision=145473
* Add taskqueue_drain. This waits for the specified task to finish, ifWarner Losh2004-10-051-0/+3
| | | | | | | | | | running, or returns. The calling program is responsible for making sure that nothing new is enqueued. # man page coming soon. Notes: svn path=/head/; revision=136131
* Remove (at least temporarily) the check that prevents us from includingMaxime Henrion2004-07-281-4/+0
| | | | | | | | | | | | this file from userland. Since we export struct ifnet to userland, and that struct ifnet now contains a struct task, userland needs to know what struct task looks like. We need to consider having a pointer to a struct task here instead and forward declare struct task in the !_KERNEL case. Notes: svn path=/head/; revision=132792
* Defer the vrele() on a jail's root vnode reference from prison_free()Robert Watson2004-01-231-0/+54
to a new prison_complete() task run by a task queue. This removes a requirement for grabbing Giant in crfree(). Embed the 'struct task' in 'struct prison' so that we don't have to allocate memory from prison_free() (which means we also defer the FREE()). With this change, I believe grabbing Giant from crfree() can now be removed, but need to check the uidinfo code paths. To avoid header pollution, move the definition of 'struct task' to _task.h, and recursively include from taskqueue.h and jail.h; much preferably to all files including jail.h picking up a requirement to include taskqueue.h. Bumped into by: sam Reviewed by: bde, tjr Notes: svn path=/head/; revision=124882