HomeFreeBSD

FreeBSD: Implement taskq_init_ent()

Description

FreeBSD: Implement taskq_init_ent()

Previously taskq_init_ent() was an empty macro, while actual init
was done by taskq_dispatch_ent(). It could be slightly faster in
case taskq never enqueued. But without it taskq_empty_ent() relied
on the structure being zeroed by somebody else, that is not good.

As a side effect this allows the same task to be queued several
times, that is normal on FreeBSD, that may or may not get useful
here also one day.

Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15455

Details

Provenance
mavAuthored on Nov 7 2023, 7:37 PM
GitHub <noreply@github.com>Committed on Nov 7 2023, 7:37 PM
Parents
rG58398cbd0351: FreeBSD: Optimize large kstat outputs
Branches
Unknown
Tags
Unknown