|
@@ -28,6 +28,7 @@
|
|
|
*/
|
|
|
|
|
|
#include <linux/export.h>
|
|
|
+#include <linux/kernel.h>
|
|
|
#include <linux/timex.h>
|
|
|
#include <linux/capability.h>
|
|
|
#include <linux/timekeeper_internal.h>
|
|
@@ -314,9 +315,10 @@ unsigned int jiffies_to_msecs(const unsigned long j)
|
|
|
return (j + (HZ / MSEC_PER_SEC) - 1)/(HZ / MSEC_PER_SEC);
|
|
|
#else
|
|
|
# if BITS_PER_LONG == 32
|
|
|
- return (HZ_TO_MSEC_MUL32 * j) >> HZ_TO_MSEC_SHR32;
|
|
|
+ return (HZ_TO_MSEC_MUL32 * j + (1ULL << HZ_TO_MSEC_SHR32) - 1) >>
|
|
|
+ HZ_TO_MSEC_SHR32;
|
|
|
# else
|
|
|
- return (j * HZ_TO_MSEC_NUM) / HZ_TO_MSEC_DEN;
|
|
|
+ return DIV_ROUND_UP(j * HZ_TO_MSEC_NUM, HZ_TO_MSEC_DEN);
|
|
|
# endif
|
|
|
#endif
|
|
|
}
|