|
@@ -247,6 +247,36 @@ struct timespec current_fs_time(struct super_block *sb)
|
|
|
}
|
|
|
EXPORT_SYMBOL(current_fs_time);
|
|
|
|
|
|
+/*
|
|
|
+ * Convert jiffies to milliseconds and back.
|
|
|
+ *
|
|
|
+ * Avoid unnecessary multiplications/divisions in the
|
|
|
+ * two most common HZ cases:
|
|
|
+ */
|
|
|
+unsigned int inline jiffies_to_msecs(const unsigned long j)
|
|
|
+{
|
|
|
+#if HZ <= MSEC_PER_SEC && !(MSEC_PER_SEC % HZ)
|
|
|
+ return (MSEC_PER_SEC / HZ) * j;
|
|
|
+#elif HZ > MSEC_PER_SEC && !(HZ % MSEC_PER_SEC)
|
|
|
+ return (j + (HZ / MSEC_PER_SEC) - 1)/(HZ / MSEC_PER_SEC);
|
|
|
+#else
|
|
|
+ return (j * MSEC_PER_SEC) / HZ;
|
|
|
+#endif
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(jiffies_to_msecs);
|
|
|
+
|
|
|
+unsigned int inline jiffies_to_usecs(const unsigned long j)
|
|
|
+{
|
|
|
+#if HZ <= USEC_PER_SEC && !(USEC_PER_SEC % HZ)
|
|
|
+ return (USEC_PER_SEC / HZ) * j;
|
|
|
+#elif HZ > USEC_PER_SEC && !(HZ % USEC_PER_SEC)
|
|
|
+ return (j + (HZ / USEC_PER_SEC) - 1)/(HZ / USEC_PER_SEC);
|
|
|
+#else
|
|
|
+ return (j * USEC_PER_SEC) / HZ;
|
|
|
+#endif
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(jiffies_to_usecs);
|
|
|
+
|
|
|
/**
|
|
|
* timespec_trunc - Truncate timespec to a granularity
|
|
|
* @t: Timespec
|
|
@@ -472,36 +502,6 @@ struct timeval ns_to_timeval(const s64 nsec)
|
|
|
}
|
|
|
EXPORT_SYMBOL(ns_to_timeval);
|
|
|
|
|
|
-/*
|
|
|
- * Convert jiffies to milliseconds and back.
|
|
|
- *
|
|
|
- * Avoid unnecessary multiplications/divisions in the
|
|
|
- * two most common HZ cases:
|
|
|
- */
|
|
|
-unsigned int jiffies_to_msecs(const unsigned long j)
|
|
|
-{
|
|
|
-#if HZ <= MSEC_PER_SEC && !(MSEC_PER_SEC % HZ)
|
|
|
- return (MSEC_PER_SEC / HZ) * j;
|
|
|
-#elif HZ > MSEC_PER_SEC && !(HZ % MSEC_PER_SEC)
|
|
|
- return (j + (HZ / MSEC_PER_SEC) - 1)/(HZ / MSEC_PER_SEC);
|
|
|
-#else
|
|
|
- return (j * MSEC_PER_SEC) / HZ;
|
|
|
-#endif
|
|
|
-}
|
|
|
-EXPORT_SYMBOL(jiffies_to_msecs);
|
|
|
-
|
|
|
-unsigned int jiffies_to_usecs(const unsigned long j)
|
|
|
-{
|
|
|
-#if HZ <= USEC_PER_SEC && !(USEC_PER_SEC % HZ)
|
|
|
- return (USEC_PER_SEC / HZ) * j;
|
|
|
-#elif HZ > USEC_PER_SEC && !(HZ % USEC_PER_SEC)
|
|
|
- return (j + (HZ / USEC_PER_SEC) - 1)/(HZ / USEC_PER_SEC);
|
|
|
-#else
|
|
|
- return (j * USEC_PER_SEC) / HZ;
|
|
|
-#endif
|
|
|
-}
|
|
|
-EXPORT_SYMBOL(jiffies_to_usecs);
|
|
|
-
|
|
|
/*
|
|
|
* When we convert to jiffies then we interpret incoming values
|
|
|
* the following way:
|