Quick Reference

This chapter introduced the following symbols:

#include <linux/param.h> , HZ  

The HZ symbol specifies the number of clock ticks generated per second.

volatile unsigned long jiffies

The jiffies variable is incremented once for each clock tick; thus it’s incremented HZ times per second.

#include <linux/time.h> , void do_gettimeofday(struct timeval *tv);

This function returns the current time. It is not available in version 1.2 of the kernel.

#include <linux/delay.h> , void udelay(unsigned long usecs);

The udelay function delays an integer number of microseconds. It should be used to wait for no longer than one millisecond.

#include <linux/tqueue.h> , void queue_task(struct tq_struct *task, task_queue *list); , void queue_task_irq(struct tq_struct *task, ,                     task_queue *list); , void queue_task_irq_off(struct tq_struct *task, ,                         task_queue *list);

These functions register a task for later execution. The first function, queue_task, can always be called; the second can be called only from non-reentrant functions, and the last one can be called only when interrupts are disabled. Only the first function is available in recent kernels (see Section 17.4 in Chapter 17).

void run_task_queue(task_queue *list);

This function consumes a task queue.

task_queue tq_immediate, tq_timer, tq_scheduler;

These predefined task queues are run as soon as possible, after each timer tick, and before the kernel schedules a new process, respectively.

#include <linux/timer.h> , void init_timer(struct timer_list * timer);

This function initializes a newly allocated timer.

void add_timer(struct timer_list * timer);

This function inserts the timer into the global list of pending timers.

int del_timer(struct timer_list * timer);

del_timer removes a timer from the list of pending timers. If the timer was actually queued, del_timer returns 1, otherwise it returns 0.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.220.11.34