링크 ux 커 널 상용 데이터 구조 와 함수 해석

1894 단어 linux
1. struct hrtimer: 고정 밀 타이머
struct hrtimer {
	struct timerqueue_node		node;
	ktime_t				_softexpires;
	enum hrtimer_restart		(*function)(struct hrtimer *);
	struct hrtimer_clock_base	*base;
	unsigned long			state;
#ifdef CONFIG_TIMER_STATS
	int				start_pid;
	void				*start_site;
	char				start_comm[16];
#endif
};

< 1 > 참조 링크: Linux hrtimer 분석 (1):http://blog.csdn.net/walkingman321/article/details/6133171
2.struct hrtimer_cpu_base: 단일 CPU 의 고정 밀 시계
struct hrtimer_cpu_base {
	raw_spinlock_t			lock;                                    /*   */
	unsigned int			active_bases;                      
	unsigned int			clock_was_set;
#ifdef CONFIG_HIGH_RES_TIMERS
	ktime_t				expires_next;
	int				hres_active;
	int				hang_detected;
	unsigned long			nr_events;
	unsigned long			nr_retries;
	unsigned long			nr_hangs;
	ktime_t				max_hang_time;
#endif
	struct hrtimer_clock_base	clock_base[HRTIMER_MAX_CLOCK_BASES];     /*   */
};
3. struct hrtimer_clock_base: 시계 원본
struct hrtimer_clock_base {
	struct hrtimer_cpu_base	*cpu_base;
	int			index;                         /*     :CLOCK_REALTIME CLOCK_MONOTONIC                                                      
                                                                  CLOCK_REALTIME:        ,     
                                                                  CLOCK_MONOTONIC:        ,      
*/clockid_t clockid; /*시계 번호 * / struct timerqueuehead active; /*활성 화 된 고밀도 시계 레 드 블랙 트 리 * / ktimet resolution; /*시계의 정밀도, ns 단위 * / ktimet (*get_time)(void); /*현재 시계 시간의 함수 포인터 가 져 오기 * / ktimet softirq_time; /*소프트 인 터 럽 트 에서 시 계 를 실행 하 는 시간 * / ktimet offset;
/ * monotonic 시계 기준 에 대한 오프셋 * /};


좋은 웹페이지 즐겨찾기