typedef u64 psched_time_t;
typedef long psched_tdiff_t;
-extern psched_time_t psched_time_base;
-
#if PSCHED_CLOCK_SOURCE == PSCHED_JIFFIES
#if HZ < 96
#define PSCHED_WATCHER u32
+extern psched_time_t psched_time_base;
extern PSCHED_WATCHER psched_time_mark;
#define PSCHED_GET_TIME(stamp) \
EXPORT_SYMBOL(psched_tod_diff);
#endif
-psched_time_t psched_time_base;
-
#if PSCHED_CLOCK_SOURCE == PSCHED_CPU
psched_tdiff_t psched_clock_per_hz;
int psched_clock_scale;
EXPORT_SYMBOL(psched_clock_per_hz);
EXPORT_SYMBOL(psched_clock_scale);
-#endif
#ifdef PSCHED_WATCHER
+psched_time_t psched_time_base;
PSCHED_WATCHER psched_time_mark;
EXPORT_SYMBOL(psched_time_mark);
EXPORT_SYMBOL(psched_time_base);
static void psched_tick(unsigned long dummy)
{
-#if PSCHED_CLOCK_SOURCE == PSCHED_CPU
psched_time_t dummy_stamp;
PSCHED_GET_TIME(dummy_stamp);
/* It is OK up to 4GHz cpu */
psched_timer.expires = jiffies + 1*HZ;
-#else
- unsigned long now = jiffies;
- psched_time_base += ((u64)(now-psched_time_mark))<<PSCHED_JSCALE;
- psched_time_mark = now;
- psched_timer.expires = now + 60*60*HZ;
-#endif
add_timer(&psched_timer);
}
#endif
-#if PSCHED_CLOCK_SOURCE == PSCHED_CPU
int __init psched_calibrate_clock(void)
{
psched_time_t stamp, stamp1;
#elif PSCHED_CLOCK_SOURCE == PSCHED_JIFFIES
psched_tick_per_us = HZ<<PSCHED_JSCALE;
psched_us_per_tick = 1000000;
-#ifdef PSCHED_WATCHER
- psched_tick(0);
-#endif
#endif
link_p = rtnetlink_links[PF_UNSPEC];