HomeFreeBSD

Replace cv_{timed}wait_sig with cv_{timed}wait_idle where appropriate

Description

Replace cv_{timed}wait_sig with cv_{timed}wait_idle where appropriate

There are a number of places where cv_?_sig is used simply for
accounting purposes but the surrounding code has no ability to
cope with actually receiving a signal. On FreeBSD it is possible
to send signals to individual kernel threads so this could
enable undesirable behavior.

This patch adds routines on Linux that will do the same idle
accounting as _sig without making the task interruptible. On
FreeBSD cv_*_idle are all aliases for cv_*

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #10843

Details

Provenance
mmacyAuthored on Sep 4 2020, 3:04 AM
GitHub <noreply@github.com>Committed on Sep 4 2020, 3:04 AM
Parents
rGf30703f6fc83: Remove 'ZFS on Linux' references from PR Template
Branches
Unknown
Tags
Unknown