summaryrefslogtreecommitdiffstats
path: root/sys/sys/_task.h
Commit message (Collapse)AuthorAgeFilesLines
* MFC r304021: Update iflib to support more NIC designsshurd2016-08-231-1/+10
| | | | | | | | | | | | | - Move group task queue into kern/subr_gtaskqueue.c - Change intr_enable to return an int so it can be detected if it's not implemented - Allow different TX/RX queues per set to be different sizes - Don't split up TX mbufs before transmit - Allow a completion queue for TX as well as RX - Pass the RX budget to isc_rxd_available() to allow an earlier return and avoid multiple calls Approved by: sbruno
* fix loss of taskqueue wakeups (introduced in r300113)avg2016-05-211-2/+1
| | | | | Submitted by: kmacy Tested by: dchagin
* Import the 'iflib' API library for network drivers. From the author:scottl2016-05-181-1/+12
| | | | | | | | | | | | | | | "iflib is a library to eliminate the need for frequently duplicated device independent logic propagated (poorly) across many network drivers." Participation is purely optional. The IFLIB kernel config option is provided for drivers that want to transition between legacy and iflib modes of operation. ixl and ixgbe driver conversions will be committed shortly. We hope to see participation from the Broadcom and maybe Chelsio drivers in the near future. Submitted by: mmacy@nextbsd.org Reviewed by: gallatin Differential Revision: D5211
* Revert r256587.glebius2013-10-181-3/+0
| | | | Requested by: zec
* For VIMAGE kernels store vnet in the struct task, and set vnet contextglebius2013-10-161-0/+3
| | | | | | during task processing. Reported & tested by: mm
* Use a safer mechanism for determining if a task is currently running,mdf2010-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
* Fix taskqueue_drain(9) to not have false negatives. For threadedmdf2010-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)
* Revert taskqueue(9) related commits until mdf@ is approved and canzml2010-06-011-9/+5
| | | | | | resolve issues. This reverts commits r207439, r208623, r208624
* Revert r207439 and solve the problem differently. The task handlerzml2010-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
* Handle taskqueue_drain(9) correctly on a threaded taskqueue:zml2010-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)
* revert changes accidentally included in last commitkmacy2008-07-181-21/+3
|
* import vendor fixes to cxgbkmacy2008-07-181-3/+21
|
* o eliminate modification of task structures after their run to avoidsam2005-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
* Add taskqueue_drain. This waits for the specified task to finish, ifimp2004-10-051-0/+3
| | | | | | | running, or returns. The calling program is responsible for making sure that nothing new is enqueued. # man page coming soon.
* Remove (at least temporarily) the check that prevents us from includingmux2004-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.
* Defer the vrele() on a jail's root vnode reference from prison_free()rwatson2004-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
OpenPOWER on IntegriCloud