Use cv_timedwait_sig_hires in arc_reclaim_thread

The was originally using interruptible cv_timedwait_sig, but was changed
to uninterruptible cv_timedwait_hires in ae6d0c6. Use _sig_hires instead
to allow interruptible sleep.

Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #4633
Closes #4634
This commit is contained in:
Chunwei Chen 2016-05-11 16:55:48 -07:00 committed by Brian Behlendorf
parent d402c18dd6
commit a9bb2b6827
2 changed files with 3 additions and 1 deletions

View File

@ -365,6 +365,8 @@ extern void cv_broadcast(kcondvar_t *cv);
#define cv_timedwait_sig(cv, mp, at) cv_timedwait(cv, mp, at) #define cv_timedwait_sig(cv, mp, at) cv_timedwait(cv, mp, at)
#define cv_wait_sig(cv, mp) cv_wait(cv, mp) #define cv_wait_sig(cv, mp) cv_wait(cv, mp)
#define cv_wait_io(cv, mp) cv_wait(cv, mp) #define cv_wait_io(cv, mp) cv_wait(cv, mp)
#define cv_timedwait_sig_hires(cv, mp, t, r, f) \
cv_timedwait_hires(cv, mp, t, r, f)
/* /*
* Thread-specific data * Thread-specific data

View File

@ -3506,7 +3506,7 @@ arc_reclaim_thread(void)
* even if we aren't being signalled) * even if we aren't being signalled)
*/ */
CALLB_CPR_SAFE_BEGIN(&cpr); CALLB_CPR_SAFE_BEGIN(&cpr);
(void) cv_timedwait_hires(&arc_reclaim_thread_cv, (void) cv_timedwait_sig_hires(&arc_reclaim_thread_cv,
&arc_reclaim_lock, SEC2NSEC(1), MSEC2NSEC(1), 0); &arc_reclaim_lock, SEC2NSEC(1), MSEC2NSEC(1), 0);
CALLB_CPR_SAFE_END(&cpr, &arc_reclaim_lock); CALLB_CPR_SAFE_END(&cpr, &arc_reclaim_lock);
} }