|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
fa9896e0 |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
Remove $FreeBSD$: two-line nroff pattern
Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/
|
|
Revision tags: release/13.2.0, release/12.4.0 |
|
| #
b6f87b78 |
| 17-May-2022 |
Vladimir Kondratyev <[email protected]> |
LinuxKPI: Implement kthread_worker related functions
Kthread worker is a single thread workqueue which can be used in cases where specific kthread association is necessary, for example, when it shou
LinuxKPI: Implement kthread_worker related functions
Kthread worker is a single thread workqueue which can be used in cases where specific kthread association is necessary, for example, when it should have RT priority or be assigned to certain cgroup.
This change implements Linux v4.9 interface which mostly hides kthread internals from users thus allowing to use ordinary taskqueue(9) KPI. As kthread worker prohibits enqueueing of already pending or canceling tasks some minimal changes to taskqueue(9) were done. taskqueue_enqueue_flags() was added to taskqueue KPI which accepts extra flags parameter. It contains one or more of the following flags:
TASKQUEUE_FAIL_IF_PENDING - taskqueue_enqueue_flags() fails if the task is already scheduled to execution. EEXIST is returned and the ta_pending counter value remains unchanged. TASKQUEUE_FAIL_IF_CANCELING - taskqueue_enqueue_flags() fails if the task is in the canceling state and ECANCELED is returned.
Required by: drm-kmod 5.10
MFC after: 1 week Reviewed by: hselasky, Pau Amma (docs) Differential Revision: https://reviews.freebsd.org/D35051
show more ...
|
|
Revision tags: release/13.1.0, release/12.3.0 |
|
| #
4730a897 |
| 03-Sep-2021 |
Alexander Motin <[email protected]> |
callout(9): Allow spin locks use with callout_init_mtx().
Implement lock_spin()/unlock_spin() lock class methods, moving the assertion to _sleep() instead. Change assertions in callout(9) to allow
callout(9): Allow spin locks use with callout_init_mtx().
Implement lock_spin()/unlock_spin() lock class methods, moving the assertion to _sleep() instead. Change assertions in callout(9) to allow spin locks for both regular and C_DIRECT_EXEC cases. In case of C_DIRECT_EXEC callouts spin locks are the only locks allowed actually.
As the first use case allow taskqueue_enqueue_timeout() use on fast task queues. It actually becomes more efficient due to avoided extra context switches in callout(9) thanks to C_DIRECT_EXEC.
MFC after: 2 weeks Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D31778
show more ...
|
|
Revision tags: release/13.0.0, release/12.2.0, release/11.4.0 |
|
| #
2faadf10 |
| 07-Jun-2020 |
Yuri Pankov <[email protected]> |
taskqueue(9): reference callout(9) instead of timeout(9)
As timeout(9) was removed and all consumers were converted to callout(9), reference it instead for the description of sbt, pr, and flags argu
taskqueue(9): reference callout(9) instead of timeout(9)
As timeout(9) was removed and all consumers were converted to callout(9), reference it instead for the description of sbt, pr, and flags arguments.
Reviewed by: trasz Differential Revision: https://reviews.freebsd.org/D25165
show more ...
|
|
Revision tags: release/12.1.0 |
|
| #
337f6465 |
| 17-Oct-2019 |
Andriy Gapon <[email protected]> |
document taskqueue_start_threads_in_proc
While here, fix taskqueue_start_threads_cpuset that was documented under old name of taskqueue_start_threads_pinned.
MFC after: 4 weeks
|
|
Revision tags: release/11.3.0, release/12.0.0 |
|
| #
bb58b5d6 |
| 21-Nov-2018 |
Mark Johnston <[email protected]> |
Add a taskqueue_quiesce(9) KPI.
This is similar to taskqueue_drain_all(9) but will wait for the queue to become idle before returning instead of only waiting for already-enqueued tasks to finish. T
Add a taskqueue_quiesce(9) KPI.
This is similar to taskqueue_drain_all(9) but will wait for the queue to become idle before returning instead of only waiting for already-enqueued tasks to finish. This will be used in the opensolaris compat layer.
PR: 227784 Reviewed by: cem MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17975
show more ...
|
|
Revision tags: release/11.2.0, release/10.4.0 |
|
| #
f37b7fc2 |
| 31-Jul-2017 |
Ian Lepore <[email protected]> |
Add taskqueue_enqueue_timeout_sbt(), because sometimes you want more control over the scheduling precision than 'ticks' can offer, and because sometimes you're already working with sbintime_t units a
Add taskqueue_enqueue_timeout_sbt(), because sometimes you want more control over the scheduling precision than 'ticks' can offer, and because sometimes you're already working with sbintime_t units and it's dumb to convert them to ticks just so they can get converted back to sbintime_t under the hood.
show more ...
|
|
Revision tags: release/11.1.0 |
|
| #
2e17a50f |
| 19-Mar-2017 |
Benjamin Kaduk <[email protected]> |
Tidy up mdoc formatting for "etc.)" at end of line
man(1) has some logic to use two spaces after a full stop, which is useful for spotting sentence breaks in monospace fonts. However, this logic is
Tidy up mdoc formatting for "etc.)" at end of line
man(1) has some logic to use two spaces after a full stop, which is useful for spotting sentence breaks in monospace fonts. However, this logic is very simple, treating almost all '.' characters as end-of-sentence markers, unless followed by certain other characters. For example, '.,' is not end-of-sentence, and neither is ".) ", but ".)" at the end of a line triggers the sentence-end detection.
Apply a zero-width space to a few instances of this in share/man, and also supply a missing full stop for an instance that occurred at the end of a sentence.
Leave untouched several instances that are at the end of a sentence or list element.
Reported by: 0mp (ieee80211.9)
show more ...
|
| #
6a3536aa |
| 03-Oct-2016 |
Hans Petter Selasky <[email protected]> |
Change from passive to active english. Correctly specify that the task is being drained and not the queue.
Submitted by: wblock @ MFC after: 3 days
|
| #
99eca1b2 |
| 29-Sep-2016 |
Hans Petter Selasky <[email protected]> |
While draining a timeout task prevent the taskqueue_enqueue_timeout() function from restarting the timer.
Commonly taskqueue_enqueue_timeout() is called from within the task function itself without
While draining a timeout task prevent the taskqueue_enqueue_timeout() function from restarting the timer.
Commonly taskqueue_enqueue_timeout() is called from within the task function itself without any checks for teardown. Then it can happen the timer stays active after the return of taskqueue_drain_timeout(), because the timeout and task is drained separately.
This patch factors out the teardown flag into the timeout task itself, allowing existing code to stay as-is instead of applying a teardown flag to each and every of the timeout task consumers.
Add assert to taskqueue_drain_timeout() which prevents parallel execution on the same timeout task.
Update manual page documenting the return value of taskqueue_enqueue_timeout().
Differential Revision: https://reviews.freebsd.org/D8012 Reviewed by: kib, trasz MFC after: 1 week
show more ...
|
|
Revision tags: release/11.0.1, release/11.0.0, release/10.3.0 |
|
| #
cbc4d2db |
| 01-Mar-2016 |
John Baldwin <[email protected]> |
Remove taskqueue_enqueue_fast().
taskqueue_enqueue() was changed to support both fast and non-fast taskqueues 10 years ago in r154167. It has been a compat shim ever since. It's time for the compa
Remove taskqueue_enqueue_fast().
taskqueue_enqueue() was changed to support both fast and non-fast taskqueues 10 years ago in r154167. It has been a compat shim ever since. It's time for the compat shim to go.
Submitted by: Howard Su <[email protected]> Reviewed by: sephe Differential Revision: https://reviews.freebsd.org/D5131
show more ...
|
|
Revision tags: release/10.2.0 |
|
| #
cf28e39c |
| 18-Jun-2015 |
Christian Brueffer <[email protected]> |
Remove EOL whitespace.
|
| #
5b326a32 |
| 04-Jan-2015 |
Justin T. Gibbs <[email protected]> |
Prevent live-lock and access of destroyed data in taskqueue_drain_all().
Phabric: https://reviews.freebsd.org/D1247 Reviewed by: jhb, avg Sponsored by: Spectra Logic Corporation
sys/kern_subr_taskq
Prevent live-lock and access of destroyed data in taskqueue_drain_all().
Phabric: https://reviews.freebsd.org/D1247 Reviewed by: jhb, avg Sponsored by: Spectra Logic Corporation
sys/kern_subr_taskqueue.c: Modify taskqueue_drain_all() processing to use a temporary "barrier task", rather than rely on a user task that may be destroyed during taskqueue_drain_all()'s execution. The barrier task is queued behind all previously queued tasks and then has its priority elevated so that future tasks cannot pass it in the queue.
Use a similar barrier scheme to drain threads processing current tasks. This requires taskqueue_run_locked() to insert and remove the taskqueue_busy object for the running thread for every task processed.
share/man/man9/taskqueue.9: Remove warning about live-lock issues with taskqueue_drain_all() and indicate that it does not wait for tasks queued after it begins processing.
show more ...
|
|
Revision tags: release/10.1.0, release/9.3.0 |
|
| #
ec5d37f4 |
| 25-May-2014 |
Benjamin Kaduk <[email protected]> |
Document taskqueue_start_threads_pinned
Requested by: adrian Reviewed by: adrian Approved by: hrs (mentor) X-MFC-with: r266629
|
| #
cb03508f |
| 14-Feb-2014 |
Andriy Gapon <[email protected]> |
update taskqueue(9) manual page
Many thanks to bjk, gjb and pluknet for improvements and suggestions.
MFC after: 5 days Sponsored by: HybridCluster
|
|
Revision tags: release/10.0.0, release/9.2.0, release/8.4.0 |
|
| #
fdbc7174 |
| 23-Mar-2013 |
Will Andrews <[email protected]> |
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
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
show more ...
|
| #
c1e231bc |
| 04-Dec-2012 |
Konstantin Belousov <[email protected]> |
Fix typo.
Submitted by: bjk MFC after: 3 days
|
| #
471af3a8 |
| 04-Dec-2012 |
Konstantin Belousov <[email protected]> |
Document the interpretation of the negative value of ticks for taskqueue_enqueue_timeout(9).
MFC after: 3 days
|
|
Revision tags: release/9.1.0 |
|
| #
73bbeaa5 |
| 20-May-2012 |
Glen Barber <[email protected]> |
Typo and mdoc(7) style fixes.
PR: 168117 Submitted by: Nobuyuki Koganemaru (kogane&jp!freebsd!org) MFC after: 3 days
|
|
Revision tags: release/8.3.0_cvs, release/8.3.0 |
|
| #
50d675f7 |
| 29-Mar-2012 |
Eitan Adler <[email protected]> |
Remove trailing whitespace per mdoc lint warning
Disussed with: gavin No objection from: doc Approved by: joel MFC after: 3 days
|
|
Revision tags: release/9.0.0 |
|
| #
a7f5f794 |
| 19-Dec-2011 |
John Baldwin <[email protected]> |
Add a TASK_INITIALIZER() macro that can be used to statically initialize a task structure.
Reviewed by: gj MFC after: 2 weeks
|
| #
d2849f27 |
| 15-Sep-2011 |
Adrian Chadd <[email protected]> |
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 ta
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 <[email protected]> Submitted by: Ryan Stone <[email protected]> Reviewed by: jhb Approved by: re (kib) MFC after: 1 day
show more ...
|
| #
4d066e45 |
| 01-Aug-2011 |
Konstantin Belousov <[email protected]> |
Fix markup.
Approved by: re (hrs)
|
| #
c3bd10b4 |
| 26-Apr-2011 |
Konstantin Belousov <[email protected]> |
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 M
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
show more ...
|
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0 |
|
| #
f46276a9 |
| 08-Nov-2010 |
Matthew D Fleming <[email protected]> |
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
|