]> granicus.if.org Git - zfs/commitdiff
Use cv_timedwait_sig_hires in arc_reclaim_thread
authorChunwei Chen <david.chen@osnexus.com>
Wed, 11 May 2016 23:55:48 +0000 (16:55 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 12 May 2016 21:56:47 +0000 (14:56 -0700)
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

include/sys/zfs_context.h
module/zfs/arc.c

index 693035ee290a2ec8924a18c11980044946ba4ed8..6ba5803399460317764b8b826ea2c581ad0b7783 100644 (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_wait_sig(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
index 89d11ef42013a559a52baec1fe51eed5a5b3e377..716ba5c2d95d6cdff97879c8fa07ebd7ccc25757 100644 (file)
@@ -3506,7 +3506,7 @@ arc_reclaim_thread(void)
                         * even if we aren't being signalled)
                         */
                        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);
                        CALLB_CPR_SAFE_END(&cpr, &arc_reclaim_lock);
                }