zfs/module/spl
Neependra Khare 3f688a8c38 Add cv_timedwait_interruptible() function
The cv_timedwait() function by definition must wait unconditionally
for cv_signal()/cv_broadcast() before waking.  This causes processes
to go in the D state which increases the load average.  The load
average is the summation of processes in D state and run queue.

To avoid this it can be desirable to sleep interruptibly.  These
processes do not count against the load average but may be woken by
a signal.  It is up to the caller to determine why the process
was woken it may be for one of three reasons.

  1) cv_signal()/cv_broadcast()
  2) the timeout expired
  3) a signal was received

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2011-01-11 12:14:48 -08:00
..
.gitignore sun-misc-gitignore 2010-01-08 09:37:54 -08:00
Makefile.in Add Thread Specific Data (TSD) Implementation 2010-12-07 10:02:32 -08:00
spl-atomic.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-condvar.c Add cv_timedwait_interruptible() function 2011-01-11 12:14:48 -08:00
spl-cred.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-debug.c Add Thread Specific Data (TSD) Implementation 2010-12-07 10:02:32 -08:00
spl-err.c Prefix all SPL debug macros with 'S' 2010-07-20 13:30:40 -07:00
spl-generic.c Add Thread Specific Data (TSD) Implementation 2010-12-07 10:02:32 -08:00
spl-kmem.c Fix 2.6.35 shrinker callback API change 2010-10-22 14:51:26 -07:00
spl-kobj.c Prefix all SPL debug macros with 'S' 2010-07-20 13:30:40 -07:00
spl-kstat.c Prefix all SPL debug macros with 'S' 2010-07-20 13:30:40 -07:00
spl-module.c Linux 2.6.36 compat, use fops->unlocked_ioctl() 2010-11-10 13:16:12 -08:00
spl-mutex.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-proc.c Prefix all SPL debug macros with 'S' 2010-07-20 13:30:40 -07:00
spl-rwlock.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-taskq.c Fix taskq code to not drop tasks when TQ_SLEEP is used. 2010-08-02 11:20:31 -07:00
spl-thread.c Add Thread Specific Data (TSD) Implementation 2010-12-07 10:02:32 -08:00
spl-time.c Minor 32-bit fix cast to hrtime_t before the mutliply. 2010-05-23 09:51:17 -07:00
spl-tsd.c Add Thread Specific Data (TSD) Implementation 2010-12-07 10:02:32 -08:00
spl-vnode.c Linux Compat: inode->i_mutex/i_sem 2011-01-11 12:14:48 -08:00
spl-xdr.c Prefix all SPL debug macros with 'S' 2010-07-20 13:30:40 -07:00