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>