static void test_timeout1(unsigned long data)
{
  do_gettimeofday_fast(&tv_exp[data]);
  exp_num[data] = num_test_timeout;
  if (data < 7)
  {
    start_one_shot_timer(&tr[i], test_timeout1, i, 1000, "timeout1");
    i++;
  }
  num_test_timeout++;
}
示例#2
0
void schedule_usleep(unsigned long us)
{
  struct fast_timer t;
  wait_queue_head_t sleep_wait;
  init_waitqueue_head(&sleep_wait);

  D1(printk("schedule_usleep(%d)\n", us));
  start_one_shot_timer(&t, wake_up_func, (unsigned long)&sleep_wait, us,
                       "usleep");
	wait_event(sleep_wait, !fast_timer_pending(&t));

  D1(printk("done schedule_usleep(%d)\n", us));
}
void schedule_usleep(unsigned long us)
{
  struct fast_timer t;
  wait_queue_head_t sleep_wait;
  init_waitqueue_head(&sleep_wait);

  D1(printk("schedule_usleep(%d)\n", us));
  start_one_shot_timer(&t, wake_up_func, (unsigned long)&sleep_wait, us,
                       "usleep");
	/* Uninterruptible sleep on the fast timer. (The condition is
	 * somewhat redundant since the timer is what wakes us up.) */
	wait_event(sleep_wait, !fast_timer_pending(&t));

  D1(printk("done schedule_usleep(%d)\n", us));
}