Use hrtimers so that msleep() sleeps for the requested time

Current msleep() snoozes for at least two jiffies, causing msleep(1) to
sleep for at least 20ms on HZ=100 systems.  Using hrtimers allows
msleep() to sleep for something much closer to the requested time.

Change-Id: If06b4fa3f489eed073213c763755ec3b387129e1
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
diff --git a/include/linux/delay.h b/include/linux/delay.h
index 0e303d1..08bbc7f 100644
--- a/include/linux/delay.h
+++ b/include/linux/delay.h
@@ -45,6 +45,8 @@
 void calibrate_delay(void);
 void msleep(unsigned int msecs);
 unsigned long msleep_interruptible(unsigned int msecs);
+void hr_msleep(unsigned int msecs);
+unsigned long hr_msleep_interruptible(unsigned int msecs);
 void usleep_range(unsigned long min, unsigned long max);
 
 static inline void usleep(unsigned long usecs)