BNX2X: limit queues to 2
[akaros.git] / kern / include / time.h
index 28bdec6..9d60840 100644 (file)
@@ -5,7 +5,7 @@
 #include <arch/time.h>
 
 /* (newlib) Time Value Specification Structures, P1003.1b-1993, p. 261 */
-typedef long time_t;
+typedef long time_t; /* TODO: this is fucked.  Thanks POSIX. */
 
 struct timespec {
   time_t  tv_sec;   /* Seconds */
@@ -23,7 +23,8 @@ struct timeval {
 };
 
 void train_timing();
-void udelay(uint64_t usec);
+void udelay(uint64_t usec);    /* done in arch-specific files */
+void udelay_sched(uint64_t usec);
 uint64_t tsc2sec(uint64_t tsc_time);
 uint64_t tsc2msec(uint64_t tsc_time);
 uint64_t tsc2usec(uint64_t tsc_time);
@@ -32,6 +33,12 @@ uint64_t sec2tsc(uint64_t sec);
 uint64_t msec2tsc(uint64_t msec);
 uint64_t usec2tsc(uint64_t usec);
 uint64_t nsec2tsc(uint64_t nsec);
+uint64_t epoch_tsc(void);
+uint64_t epoch_sec(void);
+uint64_t epoch_msec(void);
+uint64_t epoch_usec(void);
+uint64_t epoch_nsec(void);
+void tsc2timespec(uint64_t tsc_time, struct timespec *ts);
 
 /* Just takes a time measurement.  Meant to be paired with stop_timing.  Use
  * this if you don't want to muck with overheads or subtraction. */
@@ -56,6 +63,13 @@ uint64_t stop_timing(uint64_t start_time)
        return diff;
 }
 
+static inline __attribute__((always_inline))
+uint64_t nsec(void)
+{
+       return tsc2nsec(read_tsc());
+}
+
+
 /* Ancient measurement crap below.  TODO: use or lose it */
 
 #if 0