History log of /freebsd-14.2/share/man/man9/taskqueue.9 (Results 1 – 25 of 59)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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


123